API usage primer for Claude changedclaude_api_primer
Nearest release: v2.1.287, published 4 hours before 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+13added
Lines−21removed
From line
633
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits10to this page, all time
### Chain of thought
The whole hunk
from line 633, old and new numbered
/
from line 633
633633
634634Tools do not necessarily need to be client functions. You can use tools anytime you want the model to return JSON output that follows a provided schema.
635635
636### Chain of thought
636### Parallel tool use
637637
638When using tools, Claude often shows its "chain of thought," that is, the step-by-step reasoning it uses to break down the problem and determine which tools to use.
638By default, Claude may use multiple tools to answer a user query. You can disable this behavior by setting `disable_parallel_tool_use=true`.
639639
640## Handling tool use and tool result content blocks
641
642### Handling results from client tools
643
644The response has a `stop_reason` of `tool_use` and one or more `tool_use` content blocks that include:
645
646* `id`: A unique identifier for this particular tool use block.
647* `name`: The name of the tool being used.
648* `input`: An object containing the input being passed to the tool.
649
640650```json
641651{
642652 "role": "assistant",
643653 "content": [
644654 {
645 "type": "text",
646 "text": "<thinking>To answer this question, I will: 1. Use the get_weather tool to get the current weather in San Francisco. 2. Use the get_time tool to get the current time in the America/Los_Angeles timezone, which covers San Francisco, CA.</thinking>"
647 },
648 {
649655 "type": "tool_use",
650656 "id": "toolu_01A09q90qw90lq917835lq9",
651657 "name": "get_weather",
from line 660
654660 ]
655661}
656662```
657
658### Parallel tool use
659
660By default, Claude may use multiple tools to answer a user query. You can disable this behavior by setting `disable_parallel_tool_use=true`.
661
662## Handling tool use and tool result content blocks
663
664### Handling results from client tools
665
666The response has a `stop_reason` of `tool_use` and one or more `tool_use` content blocks that include:
667
668* `id`: A unique identifier for this particular tool use block.
669* `name`: The name of the tool being used.
670* `input`: An object containing the input being passed to the tool.
671663
672664When you receive a tool use response, you should:
673665
No line in this hunk matches that.