Skip to content

Codex App fails to render sessions containing structured output #23345

Open

Description

@difhel

What version of the Codex App are you using (From “About Codex” dialog)?

26.513.31313 (2867)

What subscription do you have?

ChatGPT Pro

What platform is your computer?

Darwin 25.4.0 arm64 arm

What issue are you seeing?

Codex App cannot render a session after the same session receives a structured-output message via Codex CLI.

Image

The session was originally created through the normal Codex CLI flow, so it appears in the Codex App session list. However, after the session contains at least one structured-output assistant message produced by codex exec resume with an output schema, opening that chat in Codex App makes the main chat area fail with:

Oops, an error has occurred

The app itself does not fully crash, but the conversation view becomes unusable for that session.

The CLI handles the same session correctly. If I resume the session again in the CLI, the structured-output assistant message is displayed as plain JSON text in the conversation history.

This looks like a Codex App rendering/deserialization issue for sessions containing structured-output messages created by codex exec.

What steps can reproduce the bug?

  1. Create a normal Codex CLI session:

    codex "<prompt>"

  2. Take the created session/thread ID.

  3. Resume the same session through the automation-oriented CLI command:

    codex exec resume <session_id> --output-schema

    The exact flag name may differ depending on CLI version, but the important part is that codex exec resume is used with an output schema / structured output option, so the assistant message is stored as structured JSON output.

  4. Confirm that the CLI works correctly:

    codex resume <session_id>

    The structured-output message is visible in the CLI as plain JSON text.

  5. Open the same session in Codex App.

  6. The session appears in the session list, but opening it causes the main chat view to show:

    Oops, an error has occurred

I can provide a real session ID privately if needed. I did not include the original prompts here because they are not relevant to the rendering bug and may contain private project details. The trigger appears to be the presence of a structured-output assistant message in the session history.

What is the expected behavior?

Codex App should be able to open and render sessions that contain structured-output messages created by codex exec resume with an output schema.

At minimum, the app should render the structured output the same way the CLI does: as plain JSON text in the relevant assistant message.

A richer JSON viewer would also be fine, but the app should not fail the entire chat view because one message contains structured output.

Additional information

This matters because codex exec is useful for automation workflows, and structured output is an important part of that usage.

Since these sessions are still normal Codex sessions visible in Codex App, the app should degrade gracefully and render the structured-output message instead of making the whole conversation unusable.

PII redacted. I can provide app logs, Codex App version, CLI version, and a minimal reproduction if needed.

Activity

  1. added
    appIssues related to the Codex desktop app
    on May 18, 2026
  2. added
    bugSomething isn't working
    sessionIssues involving session (thread) management, resuming, forking, naming, archiving
    on May 18, 2026
  3. github-actions commented on May 18, 2026

    @github-actions
    Contributor

    Potential duplicates detected. Please review them and close your issue if it is a duplicate.

    Powered by Codex Action

  4. difhel commented on May 19, 2026

    @difhel
    Author

    Confirmed that this isn't a duplicate, might be related though.

  5. Necmttn commented on Jun 21, 2026

    @Necmttn

    The app renderer should tolerate unknown or structured assistant payloads with a fallback block.

    If a message part has schema-bearing JSON the UI does not understand, render a collapsed structured output panel with raw JSON download/copy and parse-error metadata, rather than failing the whole conversation view. Store message schema version and source turn id so regressions are fixtureable.


    Generated with ax.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingsessionIssues involving session (thread) management, resuming, forking, naming, archiving

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions