[BUG] Regression: Opus 4.8 summarized thinking worked in 2.1.204, empty in 2.1.205+ (native CLI)
Summary
Regression: summarized thinking for claude-opus-4-8 worked in Claude Code 2.1.204 and is empty again in 2.1.205 and 2.1.206 (native macOS CLI). Same model, same settings across all three — only the binary changed.
This is the mechanism tracked in #49268 / #63358 (harness must request thinking.display: "summarized" for models whose API default is "omitted", e.g. Opus 4.7/4.8). Every existing report is on builds ≤ 2.1.158 and concludes the harness never sends it. This report adds a version boundary showing the fix had shipped by 2.1.204 and then regressed in 2.1.205 — so it should be treated as a regression, not a stale "always broken" state.
Environment
- Surface: Claude Code native CLI (not VS Code / Desktop)
- OS: macOS (Darwin 25.5.0), Apple silicon
- Model:
claude-opus-4-8, effortxhigh - Settings:
showThinkingSummaries: true - Versions tested: 2.1.204 (good), 2.1.205 (bad), 2.1.206 (bad), all via the native
claude install <version>switcher
Evidence
All three versions ran within a single resumed session, so its JSONL log contains turns written by each binary against the same model. Parsing ~/.claude/projects/<cwd>/<session>.jsonl for assistant turns, extracting per turn: version, message.model, and the summed length of content[].thinking text:
| Version | Model | Assistant turns | Turns w/ non-empty thinking | Max thinking chars |
|---|---|---|---|---|
| 2.1.204 | claude-opus-4-8 | 23 | 7 | 4524 |
| 2.1.205 | claude-opus-4-8 | 7 | 0 | 0 |
| 2.1.206 | claude-opus-4-8 | 36 | 0 | 0 |
Key detail matching the #63358 wire captures: on 2.1.205/2.1.206 the thinking block is present but its text is empty (think_blocks=1, think_chars=0) — the server's omitted default. On 2.1.204 the same block carries the summary (think_blocks=1, think_chars=877…4524). Thinking was enabled throughout; only the summarized text disappears.
Steps to reproduce
- Native CLI,
settings.jsonwith"showThinkingSummaries": true, modelclaude-opus-4-8, effortxhigh. - On 2.1.204 (
claude install 2.1.204, restart): ask anything that triggers reasoning → summarized thinking renders. - On 2.1.205 (
claude install 2.1.205, restart): same prompt → no thinking text; the block comes back empty.
Expected vs actual
- Expected: 2.1.205+ keeps requesting
display: "summarized"for omitted-default models (as 2.1.204 evidently did), so thinking summaries keep rendering. - Actual: 2.1.205 stopped, reverting Opus 4.8 to empty thinking blocks.
Note
I'm inferring "2.1.204 sent display: "summarized"" from output (populated thinking text), not from a captured request body — the observed boundary (thinking present in 2.1.204, empty in 2.1.205/206, model held constant) is the hard fact. A wire capture on 2.1.204 vs 2.1.205 would pin the exact request-serialization change.
Related: #75607, #49268 (root cause), #63358 (Opus 4.8), #48065 (showThinkingSummaries on macOS).
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗