Stream extended thinking output in real-time during interactive mode
Open 💬 16 comments Opened Mar 4, 2026 by arunkarthik-n
Problem
When Claude is thinking (extended thinking / reasoning), the CLI shows no feedback until the thinking phase completes and the response begins streaming. For longer reasoning chains this means staring at a spinner with no indication of progress or what the model is working through.
Requested behavior
Stream the extended thinking output in real-time as it's generated, similar to how the response text itself streams token-by-token. This would let users:
- See that the model is making progress (not hung)
- Read the reasoning as it happens and catch misunderstandings early
- Get a better sense of how the model is approaching the problem
Current workarounds
- Verbose mode (
Ctrl+O) shows thinking after the response completes — not in real-time - Toggle thinking (
Option+T) only enables/disables thinking entirely
Neither provides real-time visibility into the thinking process.
Suggested UX
- Stream thinking text in a visually distinct style (gray/dimmed, collapsible) above the response
- Could be gated behind a setting or flag (e.g.,
--stream-thinkingor a config option) for users who prefer the current behavior
16 Comments
I have people on my team struggling to switch from Cursor over this feature. Would be great to see this happen.
Upvoted, this would be really vital to have! The API technically supports streaming thinking tokens (
thinking_deltaevents), but Claude Code's CLI interface hasn't implemented rendering them live yet - I believe this would be relatively simple to implement and ship, so thumbs up on this!This is especially useful when Claude is stuck thinking for 5 minutes or more. Helps decide whether to interrupt or keep it going.
This is the only thing that is preventing us to switch from Codex to Claude atm
https://github.com/anthropics/claude-code/issues/8477#issuecomment-4145397185
@MarioVilas appreciate your investigative work. Is this a different issue though?
My CC shows reasoning traces in the main chat with --verbose, but only after each thinking turn is complete. Contrast this to e.g. Cursor, which streams reasoning tokens to the UI in real-time, allowing you to interrupt/redirect the model mid-thought. I believe this has never (?) been supported in CC
@mhernz after my “hack” I started seeing the thinking traces in real time :)
@MarioVilas Interesting! Neither hack had that effect for me. And my requests don't have the redact-thinking header
Ok, updated the client and now I'm seeing the thinking traces, but only after it's done thinking. Not sure if this is a server-side change, I messed up something else in my settings, or I simply shouldn't have updated the client :D
Something tells me the devs aren't too happy that we want to see the thinking stream in real time, or at all... (or am I getting paranoid here?)
Adding my voice here. I use a dual setup -- Claude Code (Max subscription) for daily work and the Anthropic API for a standalone thinking CLI (think.mjs) that streams thinking tokens in real-time. Having to switch tools just to read the reasoning is friction I shouldn't need. The thinking output is genuinely useful for learning how to prompt better, not just for debugging. Full streaming of thinking tokens in the CLI would close this gap.
I very much want this. I learn a lot from reading the thinking output but it can get lost in the transcript stream.
I actively read thinking tokens in real time in the Claude Code extension in VSCode which does have this, and interrupt when Claude is heading the wrong direction or needs information he doesn't have. It saves massive amounts of tokens and time having this. Otherwise I'm sitting blind for 30-50 seconds with no way to course-correct (which means wasted compute on wrong approaches that I could have caught in 2 seconds of course). Please bring it to the CLI and Desktop app too! Until then I can only really use the VSCode Claude Code extension.
(Update: They removed it the same day I commented this 😂) In hindsight, Opus 4.7's thinking is so much quicker that it's actually fine. Still, would love to see this feature come back!
When Opus 4.7 thinks, the actual reasoning is hidden — but a rotating set of "Hmm…", "Reticulating splines…", "Pacing in small circles…", "Staring thoughtfully into the middle distance…" appears on a timer. Whoever wrote those clearly had fun, and they are charming. But the combined effect is a bit bewildering: no signal about the actual thought, plus an animation reassuring me that something is happening.
The unglamorous use case behind this request: I'd like to notice a misread prompt within five seconds, not after four minutes of "Cross-referencing seventeen theories…". Happy to trade every clever verb for one streamed line of real reasoning.
As soon as you spend time building a harness for lessor models, you realize how important it is to be able to steer the model between turns. You lose out on your ability to rewind, or modify plans effectively, instead relying on the outcome to figure out what went wrong in the original context. Looking at how the thinking with MoE seems to stream, even seeing the final thought (CTRL-O) is not as valuable as seeing the one thought stream by that poisons the entire outcome, often replaced during the thinking process; a poison pill that can only easily be adjusted if you know it is there. It would save a lot of tokens, where steering is used as an interrupt before more tokens are wasted (especialy with Opus 4.7 verbosity); And it sure feels like Anthropic could use all the extra tokens they can get right now with the way the limits have reduced a Max subscription to a Mon-Wed augment vs. the daily driver it used to be a month or so ago.
👍
Thinking output is a fundamental source of information. It should not be tied to specific mode or setting.