Thinking (also called reasoning) is the ability of an AI model to solve a problem by breaking it into smaller steps before generating the final answer. Instead of responding immediately, the model analyzes the problem, performs intermediate reasoning and then produces a more accurate and logical response.
- Helps AI solve complex, multi-step problems more effectively.
- Model internally plans and verifies its reasoning before generating the final output.
Different AI providers implement thinking in different ways. Some offer dedicated reasoning models, like DeepSeek's R1, while others provide reasoning as a configurable feature within the same model. Claude uses thinking as a configurable capability rather than a separate model, allowing users to adjust the amount of reasoning based on the complexity of the task.
What Thinking Means in Claude
When thinking is used, a Claude API response contains two separate content blocks:
- A thinking block, containing Claude's internal reasoning
- A text block, containing the final answer

In the Claude chat interface, this reasoning appears as an expandable "Thinking" section shown above the response, along with a timer indicating how long Claude spent reasoning before answering.
Two independent settings determine how thinking behaves:
| Setting | What It Controls | Where to Configure |
|---|---|---|
| Effort | Controls how much reasoning and analysis Claude applies before generating a response. | Model menu in Claude Chat or the effort parameter in the API. |
| Thinking | Controls whether the model performs reasoning and how that reasoning is returned. | Thinking toggle in Claude Chat or the thinking object in the API. |
A response that uses thinking looks like this at the API level:
{
"content": [
{ "type": "thinking", "thinking": "The user wants a proof by contradiction. Assume finitely many primes exist..." },
{ "type": "text", "text": "There are infinitely many primes. Suppose, for contradiction, that there are only finitely many..." }
]
}
The thinking block always appears before the text block in the response.
Extended Thinking
Extended thinking is the original mechanism for enabling reasoning in Claude. It requires the developer to enable thinking explicitly and to set a token budget that limits how much reasoning Claude can perform.
response = client.messages.create(
model="claude-opus-4-6",
max_tokens=4096,
thinking={"type": "enabled", "budget_tokens": 2000},
messages=[{"role": "user", "content": "Prove there are infinitely many primes."}]
)
The budget_tokens parameter sets a ceiling on Claude's internal reasoning, not on the length of the final answer. The minimum allowed value is 1,024 tokens.
You are billed for the full amount of reasoning it generates internally, even when only a summarized version of that reasoning is returned in the response. A larger budget also does not guarantee that Claude will use all of it. For example, if you set a thinking budget of 32,000 tokens, Claude commonly stops reasoning once it reaches an answer, well before the budget is exhausted.
Adaptive Thinking
Adaptive thinking removes the need to set a manual token budget. Instead, Claude decides internally whether to think, and how much, based on two factors i.e the effort level set for the request and the complexity of the request itself.
- At the default effort level, Claude thinks on most requests that reach it. At lower effort levels, Claude skips the thinking step for requests that do not require it.
- Adaptive thinking is the recommended mode across current Claude models. On Claude Fable 5 and Claude Mythos 5, it is the only mode available.
- It also enables interleaved thinking, which allows Claude to reason again between tool calls, rather than only once before its first response.
Enabling and Disabling Thinking
Claude does not have separate thinking and non-thinking versions of its models. Instead, thinking is a built-in capability whose availability depends on the model version.
- On models where thinking cannot be disabled, Claude can still skip reasoning for a simple request.
- Decision is made by the model itself, based on effort and complexity, rather than being set explicitly by the developer.
| Model Generation | Can Thinking Be Disabled? |
|---|---|
| Claude Sonnet 4.5, Claude Opus 4.5, and earlier | Yes. Thinking can be completely disabled using thinking: {"type": "disabled"}. |
| Claude Opus 4.6, Claude Sonnet 4.6 | Partially. Manual thinking mode using budget_tokens is still supported but deprecated. Anthropic recommends using adaptive thinking instead. |
| Claude Opus 4.7, Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5, Claude Mythos 5 | No. These models only support adaptive thinking, and thinking cannot be disabled. |
Common Misconceptions
- Thinking makes Claude a more capable model. Thinking does not change the underlying model. It changes how much reasoning model performs before producing a given response.
- No visible reasoning means Claude did not think. On several current models, thinking output is omitted by default and must be requested explicitly to be shown. The reasoning still occurs, and is still billed.
- A larger thinking budget or higher effort always improves output. For simple requests, this mainly adds latency and cost without a meaningful change in answer quality.
- Adaptive-only models remove control over thinking. Control still exists through the effort parameter, even without a manual token budget.