thinking changedbuild-with-claude/thinking
Nearest release: v2.1.284, published an hour after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Recorded here
Lines+24added
Lines−4removed
From line
10
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits13to this page, all time
The whole hunk
from line 10, old and new numbered
/
from line 10
1010
1111A model that answers in a single pass has to get everything right on the first try: no scratch work, no checking, no changing course halfway through. For a proof, a tricky bug, or a long agentic task, the first approach is often not the best one.
1212
13Thinking removes that constraint. When thinking is active, Claude works through the problem in its own words before answering: it restates what is being asked, tries approaches, checks intermediate results, and abandons paths that do not hold up. That reasoning arrives in `thinking` content blocks ahead of the response, and Claude draws on it to produce the final answer. This is why thinking improves performance on complex tasks like math, coding, analysis, and long-running agentic work, where the quality of the answer depends on intermediate work that would otherwise be compressed into the response itself or skipped.
13Thinking removes that constraint. When thinking is active, Claude works through the problem in its own words before answering: it restates what is being asked, tries approaches, checks intermediate results, and abandons paths that do not hold up. That up-front thinking arrives in `thinking` content blocks ahead of the response, and Claude draws on it to produce the final answer. This is why thinking improves performance on complex tasks like math, coding, analysis, and long-running agentic work, where the quality of the answer depends on intermediate work that would otherwise be compressed into the response itself or skipped.
1414
1515Thinking has a cost: the tokens Claude spends reasoning are billed as output tokens, even when the thinking text isn't returned to you, and they count toward `max_tokens` alongside the response text. This page covers how thinking behaves across the API surface: turning it on, reading its output, and managing its interactions with tools, streaming, caching, and the context window.
1616
1717## How thinking works
1818
19
19
2020
2121Whether Claude thinks on a given request, and how deeply, depends on your thinking configuration and the complexity of the request.
2222
23Here is what thinking looks like in a response: one or more `thinking` content blocks arrive before the `text` blocks. The thinking block is still generated content, like the `text` block that follows it, but it is separated from the canonical response. Each thinking block also carries a `signature` field, an encrypted copy of the full reasoning that you pass back unchanged in multi-turn and tool-use conversations (see [Thinking encryption](https://platform.claude.com/docs/en/build-with-claude/thinking#thinking-encryption)):
23Here is what up-front thinking looks like in a response: one or more `thinking` content blocks arrive before the `text` blocks. The thinking block is still generated content, like the `text` block that follows it, but it is separated from the canonical response. Each thinking block also carries a `signature` field, an encrypted copy of the full reasoning that you pass back unchanged in multi-turn and tool-use conversations (see [Thinking encryption](https://platform.claude.com/docs/en/build-with-claude/thinking#thinking-encryption)):
2424
2525```json
2626{
from line 44
4444
4545## Configuring thinking
4646
47On most models, thinking is on by default or one parameter away. Which configuration each model accepts, and what it defaults to, is listed in the [per-model configuration table](https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting#supported-models) on the Troubleshooting page.
47On most models, thinking is on by default or one parameter away. The following table shows what each model does with each `thinking` value a request can send. A 400 error means the API rejects the request, and [Troubleshooting thinking](https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting) has each error and its fix.
48
49| Model | No `thinking` field | `"adaptive"` | `"enabled"` with `budget_tokens` | `"disabled"` |
50| --------------------- | ------------------- | ----------------- | -------------------------------- | -------------------------------------- |
51| Claude Opus 5.5 | Adaptive thinking | Adaptive thinking | 400 error | 400 error |
52| Claude Fable 5.1 | Adaptive thinking | Adaptive thinking | 400 error | 400 error |
53| Claude Mythos 5.1 | Adaptive thinking | Adaptive thinking | 400 error | 400 error |
54| Claude Fable 5 | Adaptive thinking | Adaptive thinking | 400 error | 400 error |
55| Claude Mythos 5 | Adaptive thinking | Adaptive thinking | 400 error | 400 error |
56| Claude Opus 5 | Adaptive thinking | Adaptive thinking | 400 error | Thinking off at `high` effort or below |
57| Claude Sonnet 5 | Adaptive thinking | Adaptive thinking | 400 error | Thinking off |
58| Claude Opus 4.8 | Thinking off | Adaptive thinking | 400 error | Thinking off |
59| Claude Opus 4.7 | Thinking off | Adaptive thinking | 400 error | Thinking off |
60| Claude Mythos Preview | Adaptive thinking | Adaptive thinking | Extended thinking | 400 error |
61| Claude Opus 4.6 | Thinking off | Adaptive thinking | Extended thinking (deprecated) | Thinking off |
62| Claude Sonnet 4.6 | Thinking off | Adaptive thinking | Extended thinking (deprecated) | Thinking off |
63| Claude Opus 4.5 | Thinking off | 400 error | Extended thinking | Thinking off |
64| Claude Sonnet 4.5 | Thinking off | 400 error | Extended thinking | Thinking off |
65| Claude Haiku 4.5 | Thinking off | 400 error | Extended thinking | Thinking off |
66
67In the table, "at `high` effort or below" means the request works at `low`, `medium`, and `high` effort and returns a 400 error at `xhigh` or `max`.
4868
4969On Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, and Claude Mythos Preview, thinking is already on and needs no configuration. `display` defaults to `"omitted"` on these models, so the thinking text is hidden until you opt in. Opt in with `thinking: {"type": "adaptive", "display": "summarized"}`, which is exactly the following request with the [model string](https://platform.claude.com/docs/en/models/overview) swapped.
5070
No line in this hunk matches that.