model_reasoning_summary="detailed" yields heading-only reasoning summaries with no prose
What happened
With Codex CLI 0.145.0 and model_reasoning_summary = "detailed", completed reasoning items can contain only a generated bold status heading, with no explanatory prose.
For example, the persisted completed reasoning item contained:
{
"type": "reasoning",
"summary": [
{
"type": "summary_text",
"text": "**Deriving perfect squares concisely**"
}
],
"content": null
}
The payload itself is heading-only, so this is not solely a TUI rendering problem. The behavior has been observed with both GPT-5.5 and GPT-5.6-sol.
What I expected
A completed reasoning summary should contain readable explanatory prose at the requested detailed level.
If no prose was generated, Codex should omit the empty summary instead of exposing a generated status heading as the complete reasoning summary.
Steps to reproduce
- Use Codex CLI 0.145.0 with the first-party OpenAI provider.
- Configure reasoning summaries:
``toml``
model_reasoning_effort = "high"
model_reasoning_summary = "detailed"
model_supports_reasoning_summaries = true
hide_agent_reasoning = false
show_raw_agent_reasoning = true
- Run a multi-step reasoning prompt with machine-readable output:
``bash``
codex exec --ephemeral --json \
--skip-git-repo-check \
-m gpt-5.5 \
-c 'model_reasoning_effort="high"' \
-c 'model_reasoning_summary="detailed"' \
-c 'model_supports_reasoning_summaries=true' \
"Solve the 100 doors puzzle and briefly derive which doors remain open."
- Inspect the completed reasoning item in
exec --jsonoutput or the persisted session data. - Observe that the summary may contain only a generated bold heading, without any prose after it.
The behavior appears to be intermittent or task-shape dependent: some short runs emit no reasoning summary at all, while affected runs emit a heading-only summary.
Additional context
- GPT-5.5 and GPT-5.6-sol have both produced heading-only completed summaries.
- Earlier GPT-5.5 sessions returned title-plus-paragraph summaries under equivalent reasoning-summary settings, suggesting a regression.
- This differs from #31216 and #30793, where non-empty reasoning content reaches storage or app-server but is not rendered by a client.
- #31664 reported a closely related payload containing a generated heading followed by an empty
<!-- -->placeholder. - #31652 filtered placeholder-only content and orphaned headings from completed TUI cells, but completed reasoning payloads can still contain only the generated heading.
Related documentation:
7 Comments
I’m seeing the same regression, beginning approximately between July 12 and July 14.
The issue is reproducible across multiple models:
gpt-5.4gpt-5.4-minigpt-5.5gpt-5.6-lunaI tested with reasoning effort set to both
mediumandhigh.Around July 12, some reasoning summaries appeared in a malformed form resembling:
I initially assumed this was a temporary server-side issue. Shortly afterward, the summaries began consistently containing only the title, with the body missing.
This occurs in both:
session.jsonlThe regression is also reproducible on:
codex-cli 0.144.5codex-cli 0.144.4My reasoning configuration is:
I also reproduced the issue using both authentication paths:
It occurs on two separate devices and operating systems:
Given that this reproduces across Codex versions, models, authentication methods, and devices, it appears more likely to be a server-side or model-response regression than a local configuration or rendering issue.
Found another earlier issue with identical problem, incorrectly marked as closed #31664
Also saw the issue.
Still an issue. Without the verbose output, it is sometimes hard to understand what went wrong, if something went wrong. Also it helps to steer the model when it starts to think about things you don't want it to do, all now hidden behind a black box. Please fix. :/
Additional API-route comparison
This issue currently documents GPT-5.5 and GPT-5.6-sol. I can reproduce the same payload shape with
gpt-5.6-lunathrough the ChatGPT/Codex subscription backend.With:
the subscription endpoint
/backend-api/codex/responsesemitted multiple completed summary parts such as:Each item was a separate
summary_textpart, but none contained prose after the bold heading. The corresponding completed reasoning item was effectively:Using
summary: "auto"on the same subscription route also produced title-like summary parts. Usingsummary: "concise"produced fewer/shorter headings, whilesummary: "none"suppressed summaries entirely.For comparison, a public OpenAI Responses API request to
/v1/responsesforgpt-5.6-lunawith:returned a
summary_textcontaining both a title and readable prose:The subscription result was inspected from the raw API payload, not inferred from TUI rendering. This suggests that the missing prose is being determined by the subscription backend or its model rollout, rather than merely being hidden by a client.
Could this be confirmed as:
This appears distinct from #31664: removing the
<!-- -->placeholder still leaves the heading-only payload unchanged. PR #35989 improves TUI display of title-only summaries, but cannot restore prose that is absent from the API response.I've observed the same loss of reasoning-summary content (beyond the heading) over the same time period, across multiple models and Codex CLI versions that previously produced full summaries.
@lkraider It really starts to look like they reserve the content details to be exclusive to API users. Maybe they lock out subscription users to avoid detailed training on their models from other models. Using the API to harvest the thinking process to train a different model would be inherently more expensive. This is my guess.
The lack of communication from OpenAI is disappointing to say the least.
Reproduced today on 2026-08-18 with the ChatGPT subscription backend, adding another data point.
Environment
chatgpt.com/backend-api/codex(authMode forward)gpt-5.6-luna, reasoning effortmax,model_reasoning_summary = "detailed"gpt-5.6-solwith effortmediumObserved payload shape
Every completed reasoning item is heading-only. For example, from a Riemann Hypothesis probe:
No
content, no prose after the bold headings. The payload itself is heading-only, matching this issue.What I verified
reasoning.summary = "detailed"(confirmed in codex-rs 0.147.0build_reasoning;supports_reasoning_summary_parameterdefaults to true so the summary is sent).reasoning: {effort: max, summary: "detailed"}(no proxy, no codex) still returns heading-only summaries, so this is server-side.summary: "detailed"against the paid APIapi.openai.com/v1/responsesreturns prose-rich multi-part summaries (365 reasoning-summary text deltas vs 19 for the subscription backend in a side-by-side test).This strongly suggests the subscription backend (
chatgpt.com/backend-api/codex/responses) is serving a degraded summarizer compared to the paid API, consistent with the regression timeframe in the comments (mid-July).Happy to provide full session JSONL or run any additional repro the maintainers want.