Extended thinking is Claude's internal reasoning process — a draft space where the model thinks step by step before producing a final answer.
Without thinking (default)
Prompt → [model processes internally] → Response
With extended thinking enabled
Prompt → <thinking>
Let me analyse this...
Wait, that approach is wrong because...
A better way would be...
</thinking> → Response
Inside the thinking block, Claude can explore approaches, catch its own mistakes, and reason through complex problems — all before writing the final response. These tokens are never shown to the user in normal usage, but are recorded in the JSONL session file and displayed here in real time.
Why does it improve answers?
LLMs have a limited "reasoning budget" per token. For complex tasks (hard code, multi-step logic, maths), that budget runs out. Extended thinking gives the model a separate space to reason freely without consuming the response budget — like writing a rough draft before sending the final email.
Current status
Extended thinking is not configurable in Claude Code directly. It appears automatically for models and tasks where Anthropic enables it.
⚠️ Claude Code v2+ encrypts thinking content before persisting to JSONL. When blocks are detected the panel shows "encrypted" — the model IS thinking, but the text is only visible during the live streaming response.