API usage primer for Claude changedclaude_api_primer
Nearest release: v2.1.307, 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+12added
Lines−12removed
From line
386
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits19to this page, all time
The whole hunk
from line 386, old and new numbered
/
from line 386
386386
387387### Interleaved thinking
388388
389Interleaved thinking enables Claude to think between tool calls, reasoning about tool results before determining the next step.
389Interleaved thinking allows Claude to think between tool calls, reasoning about tool results before determining the next step.
390390
391391<Info>
392392 On models with [adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) (`thinking: {type: "adaptive"}`), interleaved thinking is automatically enabled. No beta header is needed. Sonnet 4.6 supports both the `interleaved-thinking-2025-05-14` beta header with manual extended thinking and adaptive thinking.
from line 494
494494
495495Client tools are specified in the `tools` top-level parameter of the API request. Each tool definition includes:
496496
497| Parameter | Description |
498| -------------- | --------------------------------------------------------------------------------------------------- |
499| `name` | The name of the tool. Must match the regex `^[a-zA-Z0-9_-]{1,128}$`. |
500| `description` | A detailed plaintext description of what the tool does, when it should be used, and how it behaves. |
501| `input_schema` | A [JSON Schema](https://json-schema.org/) object defining the expected parameters for the tool. |
497| Parameter | Description |
498| -------------- | ---------------------------------------------------------------------------------------------------- |
499| `name` | The name of the tool. Must match the regex `^[a-zA-Z0-9_-]{1,128}$`. |
500| `description` | A detailed plain text description of what the tool does, when it should be used, and how it behaves. |
501| `input_schema` | A [JSON Schema](https://json-schema.org/) object defining the expected parameters for the tool. |
502502
503503```json
504504{
from line 564
564564
565565When working with the `tool_choice` parameter, there are four possible options:
566566
567* `auto` allows Claude to determine whether to call any provided tools or not (default).
567* `auto` allows Claude to determine whether to call any provided tools (default).
568568* `any` tells Claude that it must use one of the provided tools.
569569* `tool` forces Claude to always use a particular tool.
570570* `none` prevents Claude from using any tools.
from line 577
577577
578578### Parallel tool use
579579
580By default, Claude may use multiple tools to answer a user query. You can disable this behavior by setting `disable_parallel_tool_use=true`.
580By default, Claude might use multiple tools to answer a user query. You can disable this behavior by setting `disable_parallel_tool_use=true`.
581581
582582## Handling tool use and tool result content blocks
583583
from line 585
585585
586586The response has a `stop_reason` of `tool_use` and one or more `tool_use` content blocks that include:
587587
588* `id`: A unique identifier for this particular tool use block.
589* `name`: The name of the tool being used.
590* `input`: An object containing the input being passed to the tool.
588* `id`: A unique identifier for this particular tool use block
589* `name`: The name of the tool being used
590* `input`: An object containing the input being passed to the tool
591591
592592```json
593593{
from line 628
628628
629629### Handling the `pause_turn` stop reason
630630
631When using server tools such as web search, the API may return a `pause_turn` stop reason. Continue the conversation by passing the paused response back as-is in a subsequent request.
631When using server tools such as web search, the API might return a `pause_turn` stop reason. Continue the conversation by passing the paused response back as-is in a subsequent request.
632632
633633## Troubleshooting errors
634634
No line in this hunk matches that.