[Bug] Thinking summaries not displayed when `showThinkingSummaries` enabled in settings.json

Open 💬 21 comments Opened Apr 14, 2026 by varungodbole

Bug Description
CC doesn't respect the "showThinkingSummaries": true in settings.json. I'm using CC now and it doesn't show any thinking summaries despite how long the model has been thinking at max effort.

Environment Info

  • Platform: darwin
  • Terminal: Apple_Terminal
  • Version: 2.1.96
  • Feedback ID: ace07b37-15cc-4b60-a5b1-2f486cb6000e

Errors

[]

View original on GitHub ↗

21 Comments

github-actions[bot] · 3 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/30958
  2. https://github.com/anthropics/claude-code/issues/32810
  3. https://github.com/anthropics/claude-code/issues/25980

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

varungodbole · 3 months ago

I don't seem to have permissions to update the bug, but it should be version 2.1.96. It updated when I opened a new CC terminal to file the bug.

varungodbole · 3 months ago

Actually, it seems that the thinking summaries do show up sometimes in 2.1.96. Just not all the time. I don't know how to reliably reproduce this for you. But I'd be very surprised if the model isn't producing thinking tokens under the hood given how long it seems to think for and how long the responses are.

vicenzomasat · 3 months ago

Nah bro, is a feature, not a bug https://code.claude.com/docs/en/settings#available-settings :
showThinkingSummaries Show extended thinking summaries in interactive sessions. When unset or false (default in interactive mode), thinking blocks are redacted by the API and shown as a collapsed stub. Redaction only changes what you see, not what the model generates: to reduce thinking spend, lower the budget or disable thinking instead. Non-interactive mode (-p) and SDK callers always receive summaries regardless of this setting true

dwaltrip · 3 months ago

A few weeks ago, the undocumented showThinkingSummaries finally brought back the thinking blocks for me -- at least for the most recent messages in the session -- after I had lost complete access to that feature for several months.

This morning I updated to Claude Code v2.1.112 (to get access to the Opus 4.7), and now poof, the thinking blocks seem to be completely gone again...

I checked ~/.claude/settings.json, and "showThinkingSummaries": true is still there.

larswww · 2 months ago

not seeing the thinking is driving me nuts and the setting does not work.

therajvira · 2 months ago

Confirming this reproduces on Linux, Claude Code 2.1.114, Opus 4.7 — 18 point-releases past the original 2.1.96 report and still broken.

Settings (~/.claude/settings.json):

"viewMode": "verbose",
"showThinkingSummaries": true,

Both keys match the official docs at https://code.claude.com/docs/en/settings exactly. The showThinkingSummaries entry there explicitly describes the expected behavior: "When unset or false (default in interactive mode), thinking blocks are redacted by the API and shown as a collapsed stub." Setting it to true is the documented way to expand those stubs. @vicenzomasat — the docs you quoted are the reason people enable this setting; the bug is that Claude Code is not honoring it.

Symptom: every thinking block renders as a collapsed one-liner like:

  • Weighing a few approaches…
  • Untangling some thoughts…
  • This one needs a moment…

…never expanding into actual summary content, regardless of model effort level (tested with Opus 4.7 at xhigh). Restarting Claude Code after the settings change does not help.

Corroborating reports on the same bug:

  • @dwaltrip in this thread: working briefly, then broken again after upgrading to 2.1.112
  • @larswww in this thread: "the setting does not work"
  • Related: #30958 (v2.1.69 regression — thinking summaries went empty), #49902 (same regression in VSCode extension 2.1.112 for Opus 4.7)
  • Feature request #8477 is upstream of this — users can't even see thinking that already exists

Asks:

  1. Could a maintainer triage this? The duplicate-bot auto-close timer is counting down but neither of the 3 suggested duplicates (#30958, #32810, #25980) track the current showThinkingSummaries-specific break.
  2. If this is a deliberate product change rather than a regression, please update the settings docs — they currently promise this setting works in interactive mode, which contradicts observed behavior across multiple versions and platforms.

Reproducing on: uname -r 6.8.0-1042-aws · CLI 2.1.114 · Opus 4.7 · terminal: tmux/alacritty · settings confirmed via node -e 'console.log(require("~/.claude/settings.json").showThinkingSummaries)'true.

vzakharov · 2 months ago

Confirming this bug on v2.1.114 on macOS — "showThinkingSummaries": true in ~/.claude/settings.json has no effect, no gray thinking summaries appear even on heavy reasoning tasks with effortLevel: "high".

Workaround (not a fix, but useful in the meantime): instruct Claude via CLAUDE.md to emit reasoning in square-bracketed [thinking]...[/thinking] blocks instead of the standard angle-bracketed ones. These aren't parsed as special by the TUI, so the content renders as normal visible text inline — giving you back visibility into the model's reasoning process until the setting is fixed.

Example CLAUDE.md entry:

When reasoning through problems, wrap your internal reasoning in [thinking]...[/thinking] blocks (square brackets, not angle brackets). This makes your thinking visible in the terminal output.

Here's how it looks in practice:

<img width="642" height="448" alt="Image" src="https://github.com/user-attachments/assets/0f638e0a-09c8-40a7-95f6-733628c04ba3" />

Caveat: this isn't extended thinking in the API sense — it's just regular output text that's stylistically separated. But for users who want visibility into the model's chain of thought during a session, it's a serviceable stopgap.

vzakharov · 2 months ago

_(By the way, thinking blocks are no longer shown in the extension version either -- previously they were even when the CLI ones were gone.)_

Erinik · 2 months ago

Reproduces on Windows 11, Claude Code 2.1.77, Opus 4.7 (1M context), medium effort.

Settings (~/.claude/settings.json):

"effortLevel": "medium",
"showThinkingSummaries": true

Transcript view toggled via Ctrl+O to both Thinking and Verbose — neither renders any thinking content. Unlike @therajvira's report of collapsed one-liner stubs, on my end the thinking section is completely absent from the UI — no stub, no placeholder, nothing between the prompt and the final answer.

Confirmed the model IS generating thinking (long latency, rich structured answers that clearly required reasoning). Restarting Claude Code after the settings change did not help.

Adding a Windows + 2.1.77 data point to the existing Linux reports (2.1.96 → 2.1.114). The bug spans multiple OSes and at least 37 point-releases.

vzakharov · 2 months ago

Glad to report it's back (at least for me) in 2.1.117!

chmv · 2 months ago

After some testing, the "show thoughts" mode does not work with Opus 4.7 (2.1.117), but it does work with other models.
For Opus, the latest working version is 2.1.109 with Opus 4.6
"showThinkingSummaries": true did not change anything.
Platform: Windows

nikitazhylkin · 2 months ago

Reproduces on macOS, Claude Code VSCode extension v2.1.116, Opus 4.7 (1M context), effortLevel: max.

Settings (~/.claude/settings.json):
\\\json
{
"showThinkingSummaries": true,
"alwaysThinkingEnabled": true,
"effortLevel": "max"
}
\
\\

Symptom: "Thought for Ns" pills render after each response but are not interactive — clicking does nothing, and \Ctrl+O\ (transcript toggle) does not surface any thinking content. No collapsed stubs, no expandable section, no text between prompt and answer. Restarting the session does not help.

This corroborates @chmv's 2026-04-22 report that the bug is Opus-4.7-specific: v2.1.117 fixed thinking display for other models, but the same regression persists for Opus 4.7 on v2.1.116 here. Adds a macOS + VSCode extension data point to the existing Linux/Windows CLI reports — confirms the bug is not terminal-renderer-specific and spans both the CLI and the VSCode extension runtime.

Shadetail · 2 months ago

+1 on Opus 4.7 via VS Code extension. The setting is currently a no-op on 4.7 because the harness doesn't send display: "summarized" to the API - see #49268 for the likely root cause. Worth fixing either the harness behavior or the setting's documented contract so users aren't configuring something that can't do anything.

therajvira · 2 months ago

Thinking seems to be fixed with the new release, I am on v2.1.119, I can see the thinking verbose output back again even with Opus 4.7.

nikitazhylkin · 2 months ago

Update — still broken on v2.1.120, macOS, VSCode extension, Opus 4.7.

Updated past @therajvira's reported fix point (v2.1.119 → v2.1.120), reloaded the VSCode window, confirmed extension version in the Extensions panel, opened a fresh chat. Reproduced the exact same symptom across two independent fresh sessions: "Thought for Ns" pills are non-interactive, \Ctrl+O\ does nothing, no thinking content surfaces anywhere in the UI.

Settings unchanged from my prior comment (\showThinkingSummaries: true\, \alwaysThinkingEnabled: true\, \effortLevel: max\).

Possibilities:

  • The v2.1.119 fix may be CLI-only — @therajvira didn't specify CLI vs VSCode extension; if it was the CLI, the extension renderer may need a separate fix.
  • Or the fix may be platform-specific — would help to know which OS @therajvira was on.

Either way, the macOS + VSCode extension + Opus 4.7 path is still completely broken on the latest release.

ivanstnsk · 2 months ago

@nikitazhylkin VS Code MacOS, v2.1.120 the same issue.
I did roll back to the latest working v2.1.109 (Opus 4.6) and it's back.
For some reason Opus 4.6 still looks better than Opus 4.7 in daily work

hifihedgehog · 2 months ago

Same bug on Windows / VS Code extension 2.1.x with Opus 4.7. Not macOS-specific.

Root cause is now public (credit to the workaround in #8477 (comment)): Opus 4.7 changed the API default for thinking blocks from display: "summarized" to display: "omitted". The blocks are still in the response stream, but the thinking field is empty unless the caller passes display: "summarized" explicitly. Documented in Anthropic's own migration guide: https://platform.claude.com/docs/en/about-claude/models/migration-guide#migrating-to-claude-opus-4-7

Net effect: showThinkingSummaries, alwaysThinkingEnabled, and viewMode: "verbose" have nothing to render, because Claude Code does not pass display: "summarized" when calling the Opus 4.7 API. showThinkingSummaries is the documented, official way to surface thinking in the VS Code extension, and it is silently broken on Opus 4.7. The settings surface never caught up to the API change.

Two undocumented workarounds (from the same comment):

  1. Add to ~/.claude/settings.json:

``json
{
"env": {
"CLAUDE_CODE_EXTRA_BODY": "{\"thinking\":{\"type\":\"adaptive\",\"display\":\"summarized\"}}"
}
}
``

  1. Hidden CLI flag: --thinking-display summarized

The env var approach works for the VS Code extension since it delegates to the CLI.

Why this is high-priority, not a cosmetic regression:

Visible real-time thinking was load-bearing for the steering loop. With it visible, you could stop the model going down a wrong branch before it spent N turns of token budget on a wrong premise; you could verify it had internalized constraints from CLAUDE.md / memory rather than hallucinated them; and you could audit assumptions before committing to a plan.

With it hidden behind an unexpandable pill, you cannot tell whether a wrong final answer came from a wrong premise or a wrong execution of a right premise. Silent assumption drift becomes invisible until after the wrong action is taken. "Thought for 376s" is a duration, not a signal. It tells you nothing actionable. This is a regression in the developer's ability to supervise the agent.

On the user side: this is a paid product. Pro at $20/month, Max at $100–$200/month. Paying customers should not have to monkey-patch cli.js, reverse-engineer an undocumented CLAUDE_CODE_EXTRA_BODY env var, or scrape issue threads to recover functionality that worked in the previous release of the same product. The workaround being undocumented is itself a bug. The gap between what the API supports and what Claude Code exposes as a first-class setting keeps widening with every model bump.

Related open issues, same root problem:

  • #8477 — original tracking issue where the API-default change was traced and the workaround was published
  • #49268 — harness doesn't set display: "summarized" for Opus 4.7 (same root cause, named explicitly)
  • #49757 — empty/unexpandable stub in VS Code extension (Opus 4.7)
  • #49902 — thinking summaries not rendered (VS Code extension 2.1.112)
  • #49322 — thinking summaries not rendered in VS Code extension (Opus 4.7)
  • #49739 — toggle button inverted, no visual feedback (v2.1.112), likely a related UI-state bug
  • #30958 — earlier transcript/TUI variant of the same regression (v2.1.69)
  • #51131 — extended thinking dropdown no longer expandable in VS Code extension (Opus 4.7)
  • #33163 — "Bring back thinking" feature request, same underlying ask

What would actually resolve this:

  1. Pass display: "summarized" by default for Opus 4.7+ when showThinkingSummaries and alwaysThinkingEnabled are on. Or expose a first-class thinkingDisplay setting alongside the existing thinkingEnabled and effortLevel.
  2. Restore the expandable thinking block in the VS Code extension chat panel so showThinkingSummaries actually shows summaries when the data is present.
  3. Update the docs so they reflect current showThinkingSummaries semantics on Opus 4.7+ instead of describing behavior that no longer applies.
therajvira · 2 months ago

<img width="464" height="103" alt="Image" src="https://github.com/user-attachments/assets/584e5e67-0600-4a16-ba43-422ce012569b" /> VsCode Extension version 2.1.139 now shows the thinking done.

<img width="245" height="90" alt="Image" src="https://github.com/user-attachments/assets/00307f80-dbcb-4599-8265-320ea26ef164" /> but in the same windows other chat didn't show thinking.

Shadetail · 2 months ago

Confirming that updating the VSCode Extension fixed the thinking for me! (2.1.140)

Note that I do also have

``"CLAUDE_CODE_EXTRA_BODY": "{\"thinking\":{\"type\":\"adaptive\",\"display\":\"summarized\"}}"``
with

``"showThinkingSummaries": true,`
in my
settings.json`, not sure if they are still required or not.

therajvira · 2 months ago

I saw this thing, where in if the claude code CLI has an existing session going and you switch to VSCode, you would see the thinking in expandable mode, but not the case when it is fresh session from extension. Please confirm if that is the same with someone else too.