[FEATURE] Bring back thinking

Open 💬 21 comments Opened Mar 11, 2026 by a3lem

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

It's been requested before, was upvoted 68 times, and locked automatically.

The request: stop hiding the agent's thinking. It's become harder to reason about how to prevent the agent repeating the same mistakes. Yes, I understand that thinking traces are more the model speaking to itself, but they were instructive nonetheless.

Proposed Solution

Revert to previous behavior. Ctrl-o should reveal the thinking.

Alternative Solutions

_No response_

Priority

High - Significant impact on productivity

Feature Category

Interactive mode (TUI)

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗

21 Comments

github-actions[bot] · 4 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/8477
  2. https://github.com/anthropics/claude-code/issues/8371
  3. https://github.com/anthropics/claude-code/issues/16965

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

dandanmarcovici · 4 months ago

Same, here I rely on ctrl+o to see the model reasoning to improve how I reason and how the system is constructed. We can no longer see it after 2.1.68.

dwaltrip · 4 months ago

I can't see any thinking traces at all... I've tried every single setting, double and triple checked the ~/.claude/settings.json and /config. I tried to get claude to help me but no dice.

I found it incredibly helpful to see the thinking traces. I'm paying $100 a month for this... like wtf...

I hear if you use cursor you can still see the thinking traces?

p.s. I love this product! I'm just a bit frustrated..

intellia1 · 3 months ago

Same problem here

Kiyozz · 3 months ago

Up?

intellia1 · 3 months ago

This doesn't look like a regression. It looks intentional, and quietly rolled out.

Up to v2.1.68, Claude Code returned readable thinking summaries. Since v2.1.69, the thinking field is frequently empty, while the signature is still present. That's a clear signal that extended reasoning is still happening, but the readable layer is being stripped out.

So let's call this what it is:
→ The model still thinks
→ Anthropic decided we shouldn't see it anymore

What's worse is how this was handled:

  • No clear release notes
  • No migration guidance
  • No explanation of impact

This isn't a minor UI tweak. This removes one of the most critical debugging and alignment tools in the entire product.

The thinking summary was essential for:

  • Catching incorrect assumptions early
  • Steering the model mid-process
  • Understanding failure modes

Now we're effectively blind, because we see outputs, but we don't see reasoning.

There are multiple reports pointing to redact-thinking-* behavior being applied server-side. If that's true, then this isn't accidental, it's an explicit decision to reduce observability.

So the current situation looks like:

  • Same underlying capability
  • Deliberately reduced transparency
  • Zero communication about it

At minimum, this needs a straight answer:

  1. Was this intentional?
  2. Why was it not documented?
  3. Is there any way to opt out?

Because from a developer standpoint, this feels like a silent downgrade of the product.

a3lem · 3 months ago

Repeating the advice from #8477, add this to your settings to re-enable thinking (for now anyway):

// in ~/.claude/settings.json
{
  "showThinkingSummaries": true
}

Can't overstate how nice it is to have some understanding again of why the LLM is generating certain tool calls

CaptFaraday · 3 months ago

Adding a real-world example of why this matters beyond just "I want to see the reasoning."

Here's what a recent session looked like:

● Now I have everything I need. Let me write the implementation plan.
  ⎿  Request timed out

✻ Churned for 1h 43m 44s

❯ What happened
  ⎿  Request timed out

✻ Brewed for 56m 16s

Nearly 3 hours. Multiple timeouts. Zero output. At no point could I tell whether the model was making progress or effectively dead.

During a 45-minute thinking phase, all I saw was:

✶ Writing implementation plan… (45m 32s · ↓ 47 tokens · thinking with high effort)

47 tokens in 45 minutes. Without any visibility into the thinking, I had no way to decide whether to keep waiting or cut my losses and start over.

This isn't about curiosity — it's about making informed decisions during long-running tasks. Even a few streamed lines of reasoning would be enough to know if the model is stuck or making progress.

(Also commented on #8477 with more detail)

AndASM · 3 months ago

In version 2.1.112 the showThinkingSummaries setting does not appear to be working anymore. This regression keeps happening. Thinking gets hidden, or thinking doesn't happen. It's part of the general trend of repeated regressions in this software. If even Anthropic can't vibe code without repeating regressions like this repeatedly... then should anyone use or trust these tools?

a3lem · 3 months ago

<img width="284" height="77" alt="Image" src="https://github.com/user-attachments/assets/8b782c90-1b89-4b17-a99a-f57f1eb7c488" />

So very informative. Really gives me a sense of potential contradictions in the token context or misassumptions on the part of the model. 10/10 power tool for professionals.

Sorry for the sarcasm, but I'm beginning to suspect that this is no accident. For whichever of several conceivable business reasons, Anthropic would like us to forget that thinking traces were ever visible to users.

My attitude toward CC, which was borderline evengelical prior to the OpenCode crackdown, is nearing its tipping point.

noseconexoes · 3 months ago

Up

anthrotype · 3 months ago
In version 2.1.112 the showThinkingSummaries setting does not appear to be working anymore.

it's because Opus 4.7 adaptive thinking now defaults to "display": "omit" instead of "summarized" (it's documented e.g. in https://platform.claude.com/docs/en/about-claude/models/migration-guide#migrating-to-claude-opus-4-7), which means the API returns empty thinking messages so there's nothing to be shown, even in verbose/transcript mode (let alone inline in the default viewl like in the golden age pre-2.0).

I found a workaround see
https://github.com/anthropics/claude-code/issues/8477#issuecomment-4269024077

AndASM · 2 months ago
My attitude toward CC, which was borderline evengelical prior to the OpenCode crackdown, is nearing its tipping point.

You the user cannot be trusted to know what is going on. Trust that Anthropic knows what is best for you, despite that the evidence shows the contrary. Just because every choice aligns with commercial interests and is misaligned with your interests and their public mission statement is no cause for concern. Everything is fine.

Also ignore things like the safety people quitting, the leaks, and any other direct evidence.

It's probably accidental and the tool is fine, you can trust it. Stop thinking so much and listen to Claude. 😆

1moeses · 2 months ago
> In version 2.1.112 the showThinkingSummaries setting does not appear to be working anymore. it's because Opus 4.7 adaptive thinking now defaults to "display": "omit" instead of "summarized" (it's documented e.g. in https://platform.claude.com/docs/en/about-claude/models/migration-guide#migrating-to-claude-opus-4-7), which means the API returns empty thinking messages so there's nothing to be shown, even in verbose/transcript mode (let alone inline in the default viewl like in the golden age pre-2.0). I found a workaround see #8477 (comment)

great workaround that works for me, thanks!

ccclapp · 2 months ago

I think the short answer is 4.7 sucks

AndASM · 2 months ago
I think the short answer is 4.7 sucks

That would be consistent with my testing. The improved instruction following seems to mean it protects Anthropic more and is less honest and more patronizing to users. The template-like soft refusals have really been dialed up to the point they kick in on the most innocuous topics, bending the responses into something deceptive.

Where I'd like to be careful here - is that I think Claude lies constantly. Especially when it says phrases like "Where I'd like to be careful here".

ccclapp · 2 months ago
> I think the short answer is 4.7 sucks That would be consistent with my testing. The improved instruction following seems to mean it protects Anthropic more and is less honest and more patronizing to users. The template-like soft refusals have really been dialed up to the point they kick in on the most innocuous topics, bending the responses into something deceptive.

It's hard to pin down what the issue is 4.6 had a good ability to understand interpret and execute in a reasonable way. 4.7 I feel like I'm fighting it at every turn. It doesn't understand my intent it's either too literal or cannot grasp the concept it's just pure frustration. Weird

Shadetail · 2 months ago

+1. Currently on Opus 4.7 / VS Code extension with showThinkingSummaries: true and still see nothing (see #49268 for the bug). Even after that's fixed, the broader direction away from visible thinking is worth pushing back on - it was a selling point for 3.7 and is being reversed quietly, one default at a time. For agent workflows the real-time reasoning view is load-bearing: it's how you catch a bad plan before it turns into a bad PR. Reading the thinking content has also been super useful for me to help me think alongside Claude and work out complex problems together. Having insight into thinking is just incredibly valuable for some use cases, and I'm honestly shocked deeply disappointed that it's been taken away.

hifihedgehog · 2 months ago
+1. Currently on Opus 4.7 / VS Code extension with showThinkingSummaries: true and still see nothing (see #49268 for the bug). Even after that's fixed, the broader direction away from visible thinking is worth pushing back on - it was a selling point for 3.7 and is being reversed quietly, one default at a time. For agent workflows the real-time reasoning view is load-bearing: it's how you catch a bad plan before it turns into a bad PR. Reading the thinking content has also been super useful for me to help me think alongside Claude and work out complex problems together. Having insight into thinking is just incredibly valuable for some use cases, and I'm honestly shocked deeply disappointed that it's been taken away.

I can tell you one theory why they are hiding it. Eventually, they may not expose it to the user at all to keep their thinking process proprietary. That way, competitors can't steal from them and know the thought process tricks they use to reach a conclusion. In the end, though, it prevents users from correcting false premises via steering prompts or stopping wrong trains of thought before they go too far.

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)
  • #48065 — thinking summaries not displayed when showThinkingSummaries enabled
  • #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)

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.