[BUG] Regression: Opus 4.8 summarized thinking worked in 2.1.204, empty in 2.1.205+ (native CLI)

Resolved 💬 1 comment Opened Jul 10, 2026 by vigzmv Closed Jul 15, 2026

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, effort xhigh
  • 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

  1. Native CLI, settings.json with "showThinkingSummaries": true, model claude-opus-4-8, effort xhigh.
  2. On 2.1.204 (claude install 2.1.204, restart): ask anything that triggers reasoning → summarized thinking renders.
  3. 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).

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗