Extended Thinking lets Claude work through a problem with explicit reasoning before it acts or replies. Instead of jumping straight to an answer, Claude spends additional time planning, weighing approaches, and checking its logic — which tends to improve accuracy on multi-step tasks like debugging tricky failures, refactoring across many files, or making architecture decisions.
In recent versions of Claude Code, thinking is largely on by default and the amount of reasoning effort is controlled rather than toggled per prompt. Claude Code exposes an effort control (for example, /effort with low / medium / high) that sets how much the model thinks, and adding ultrathink to a single prompt requests maximum effort for that turn. This replaced the older convention of typing keywords like think or think harder to request more reasoning. Because these controls and keywords change frequently, check the official Claude Code docs for current syntax. Extended thinking pairs naturally with Plan Mode, where Claude reasons out a full plan before touching your code.
Thinking is not free: it spends additional tokens and adds to your context window, so for very simple, well-scoped edits a quick low-effort response can be faster and cheaper. For most real engineering work, more reasoning effort is worth the cost.
Why it matters
For developers, Extended Thinking is the lever that turns Claude Code from a fast autocomplete into a careful collaborator — on gnarly bugs, large refactors, and design decisions where a wrong first guess costs the most, letting Claude reason before it acts often produces a correct answer on the first try and saves you a round of cleanup.
See Extended Thinking in action across releases — browse the Claude Code changelog.
Get release alerts