openai / openai/codex

Codex Desktop stores raw reasoning.content but only renders summary

Open
#40,553 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

app bug windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

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

26.818.5345.0

What subscription do you have?

ChatGPT subscription. This reproduces on a custom Responses-compatible provider route and does not appear plan-dependent.

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

Codex Desktop receives and stores raw reasoning text, but the conversation renderer ignores it when the reasoning item has content and an empty summary.

With this configuration:

hide_agent_reasoning = false
show_raw_agent_reasoning = true

the app may show the localized “Thinking” placeholder while deltas are arriving. Once the item completes, the raw reasoning is not displayed and can disappear entirely.

No private reasoning text is included in this report.

What steps can reproduce the bug?
  1. Configure a Responses-compatible provider/model that emits raw reasoning events rather than reasoning summaries.
  2. Enable show_raw_agent_reasoning and keep hide_agent_reasoning disabled.
  3. Start a turn that emits the following shape:
{
  "type": "reasoning",
  "summary": [],
  "content": [
    {"type": "reasoning_text", "text": "<redacted non-empty reasoning>"}
  ]
}
  1. Observe that app-server notifications include item/reasoning/textDelta and the persisted rollout contains non-empty reasoning content with an empty summary.
  2. Observe that the main conversation does not display the raw reasoning after completion.

In the installed webview bundle, the store handler appends item/reasoning/textDelta into reasoning.content. However, the main conversation projection and its visibility filter flatten only reasoning.summary; reasoning.content is not consulted. Export/asset projection paths show the same summary-only pattern.

This was verified with multiple raw-only reasoning items in one turn. Transport was not the failure boundary: the persisted items contained the full redacted raw content.

What is the expected behavior?

When show_raw_agent_reasoning = true, a reasoning item with non-empty content should remain visible in the conversation even when summary is empty. Summary and raw reasoning may use different presentation, but raw content should not be discarded by projection or visibility filtering.

Additional information

The official config reference describes show_raw_agent_reasoning as surfacing raw reasoning content when the active model emits it, so the current Desktop behavior appears inconsistent with the setting.

Related but not identical issues found during duplicate search:

  • #27197: reasoning summaries/progress traces
  • #38120: summaries reach the renderer but are not displayed
  • #38160: empty thinking with encrypted/empty summary

This report is specifically about raw reasoning.content already present in the Desktop store but omitted by the main conversation projection.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the store handler for item/reasoning/textDelta, then inspect the main conversation projection and visibility filter that currently flatten reasoning.summary. Compare those paths with the export/asset projections. Done means raw reasoning content remains visible when show_raw_agent_reasoning is enabled and summary is empty, including multiple raw-only reasoning items.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.