Extended thinking gives Claude a budget of tokens to reason before producing its final answer, returned as a distinct thinking content block ahead of the text block. You enable it with a thinking parameter specifying a token budget (or, on models that support it, an effort-level setting), and the thinking budget is separate from and in addition to max_tokens for the visible answer. It measurably helps on tasks with real multi-step reasoning — math, multi-constraint planning, subtle debugging, weighing competing pieces of evidence — and adds needless latency and cost on tasks that don't need it, like a simple lookup, a rewrite, or a classification with an obvious answer.
The signature and why you can't edit thinking content
A thinking block carries a cryptographic signature field, delivered at the end of the block (as a final signature_delta event when streaming), that the API uses to verify the thinking content hasn't been tampered with when it's replayed back on a later turn. This means thinking blocks must be passed back byte-for-byte as received — you cannot edit, summarise, or reconstruct one from scratch and expect it to validate. Occasionally a thinking block arrives redacted (redacted_thinking, with encrypted content instead of readable text) when the underlying reasoning trips an internal safety flag; your application still needs to pass this block back unmodified in history even though it can't display it meaningfully to a user.
Carrying thinking across turns in a tool-use loop
In a multi-turn tool-using conversation, the thinking block that led to a tool call generally needs to be passed back unmodified in the conversation history alongside that turn's other content — stripping it out to save tokens can break the model's ability to reason coherently about why it made the call it made, and with signature verification in play, a hand-edited or reconstructed thinking block can be rejected outright rather than just degrading quality silently. The safe pattern is identical to the general tool-use replay rule from Lesson 1.5: push the assistant's full content array back exactly as received, thinking block included, and let the API's own validation confirm it's intact.
Key concept
Reviewing the thinking output, not just the final answer, is often the fastest way to catch a subtly wrong final answer before it ships — the reasoning trace shows you why Claude landed where it did, which is diagnostic information a bare text answer doesn't give you.
Cost and latency trade-offs
Thinking tokens are billed as output tokens, and a larger budget both costs more and takes longer to generate before the visible answer even starts — this is the direct trade-off against the perceived-latency benefit of streaming from Lesson 1.2, and the two considerations pull in opposite directions on a task that's borderline. A sensible default is to reserve extended thinking for the subset of requests that actually exhibit multi-step reasoning, rather than flipping it on globally, and to size the budget to the task rather than maxing it out by default.
Interleaving thinking with tool calls
On models and configurations that support interleaved thinking, Claude can produce a thinking block, request a tool, receive the result, and produce another thinking block reasoning about that result, all within what functions as one extended turn of the loop — rather than thinking being confined to a single block before the first tool call and never revisited. This matters for agentic tasks where the right next step genuinely depends on what a tool returned: the model can visibly reason about a surprising tool result instead of reacting to it with no deliberation. As with any thinking block, each of these intermediate blocks still carries its own signature and still needs to be replayed unmodified in later turns.
Sizing a thinking budget
A thinking budget that's too small for a genuinely hard problem gets cut off mid-reasoning, which can produce a worse answer than no thinking at all — a truncated reasoning trace with a final answer stapled on top of an incomplete chain of thought. A budget that's too large for an easy problem doesn't hurt correctness, but it does spend tokens and time the task didn't need. There's no single universal number; the practical approach is to start with a moderate budget for a task category, check whether responses show signs of being cut off mid-reasoning, and adjust from there — treating the budget as a tunable parameter validated against your own eval set, the same way you'd tune any other generation parameter.
Common exam distractor
An answer that claims a larger thinking budget always produces a more accurate final answer is a trap. Beyond the point where the task's actual reasoning complexity is covered, additional budget mostly adds cost and latency without a matching accuracy gain — the relationship is task-dependent, not monotonic without limit.