[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_
21 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
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.
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..
Same problem here
Up?
This doesn't look like a regression. It looks intentional, and quietly rolled out.
Up to v2.1.68, Claude Code returned readable
thinkingsummaries. Since v2.1.69, thethinkingfield is frequently empty, while thesignatureis 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:
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:
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:
At minimum, this needs a straight answer:
Because from a developer standpoint, this feels like a silent downgrade of the product.
https://github.com/anthropics/claude-code/issues/8477#issuecomment-4145397185
Repeating the advice from #8477, add this to your settings to re-enable thinking (for now anyway):
Can't overstate how nice it is to have some understanding again of why the LLM is generating certain tool calls
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:
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:
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)
In version 2.1.112 the
showThinkingSummariessetting 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?<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.
Up
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
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. 😆
great workaround that works for me, thanks!
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".
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
+1. Currently on Opus 4.7 / VS Code extension with
showThinkingSummaries: trueand 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.
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"todisplay: "omitted". The blocks are still in the response stream, but thethinkingfield is empty unless the caller passesdisplay: "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-7Net effect:
showThinkingSummaries,alwaysThinkingEnabled, andviewMode: "verbose"have nothing to render, because Claude Code does not passdisplay: "summarized"when calling the Opus 4.7 API.showThinkingSummariesis 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):
~/.claude/settings.json:``
json
``{
"env": {
"CLAUDE_CODE_EXTRA_BODY": "{\"thinking\":{\"type\":\"adaptive\",\"display\":\"summarized\"}}"
}
}
--thinking-display summarizedThe 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 undocumentedCLAUDE_CODE_EXTRA_BODYenv 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:
display: "summarized"for Opus 4.7 (same root cause, named explicitly)showThinkingSummariesenabledWhat would actually resolve this:
display: "summarized"by default for Opus 4.7+ whenshowThinkingSummariesandalwaysThinkingEnabledare on. Or expose a first-classthinkingDisplaysetting alongside the existingthinkingEnabledandeffortLevel.showThinkingSummariesactually shows summaries when the data is present.showThinkingSummariessemantics on Opus 4.7+ instead of describing behavior that no longer applies.