Opus 4.8 returns empty thinking blocks — no thinking shown in chat (same regression as Opus 4.7 #49268)
Summary
Extended thinking is never displayed in the chat when using claude-opus-4-8, even with thinking enabled and a high effort level. The model returns thinking blocks with an empty thinking field, so the UI has nothing to render. Switching the same session to claude-sonnet-4-6 or claude-opus-4-6 immediately restores visible thinking summaries.
This appears to be the same regression already reported for Opus 4.7 (#49268, #49555, #56356, #49322, #49902, #54348) — the harness does not request display: "summarized" for models whose API default is display: "omitted". Opus 4.8 also defaults to omitted, so it reproduces the exact same problem. Filing this so 4.8 is tracked explicitly, since every existing report mentions only 4.7.
Environment
- Surface: VS Code extension
anthropic.claude-code@2.1.154(CLI backend@anthropic-ai/claude-code@2.1.90) - OS: Windows 10 Pro 10.0.19045
- Model:
claude-opus-4-8(1M context) - Effort level:
xhigh - Relevant settings: no
MAX_THINKING_TOKENSoverride; noshowThinkingSummaries; default thinking config
Steps to reproduce
- Open the Claude Code VS Code extension.
- Select model
claude-opus-4-8(effort levelxhigh). - Send any prompt that should trigger reasoning (e.g. a non-trivial debugging or design question).
- Observe the chat.
Expected
A collapsible/inline "Thinking" section appears with summarized reasoning, as it does on Sonnet 4.6 / Opus 4.6.
Actual
No thinking is shown at all. There is no expandable thinking section, or it is empty. Ctrl+O (verbose) and Alt+T (toggle thinking) do not bring it back.
Root cause (as identified in #49268)
Newer Opus models (4.7 and 4.8) changed their API default from display: "summarized" to display: "omitted" (to reduce time-to-first-token). The API therefore returns thinking blocks whose thinking content is empty unless the client explicitly requests display: "summarized". Claude Code does not set this for these models, so:
- The summary is never requested → the API returns empty thinking → the UI renders nothing.
- Per #56356, even passing
--thinking adaptive --thinking-display summarizeddoes not fix it.
Related issues (all reference Opus 4.7)
- #49268 — Thinking summaries missing on Opus 4.7 — harness doesn't set
display: "summarized"(canonical root cause) - #49555 — [FEATURE] Allow forcing extended thinking on Opus 4.7
- #56356 — Opus 4.7 returns no thinking blocks even with
--thinking adaptive --thinking-display summarized - #49322 / #49902 — Opus 4.7 thinking summaries not rendered (VS Code extension)
- #54348 — Thinking block in VS Code extension is unclickable / won't expand on Opus 4.7
Workaround
Switch the session to claude-opus-4-6 or claude-sonnet-4-6 (both default to display: "summarized") with /model claude-opus-4-6.
Request
Have the Claude Code harness explicitly request display: "summarized" for models that default to display: "omitted" (Opus 4.7, Opus 4.8, and any future model with the same default) whenever thinking is enabled, so users on the latest Opus models can read thinking summaries in the chat again.
This issue has 11 comments on GitHub. Read the full discussion on GitHub ↗