parallel-tool-use changedagents-and-tools/tool-use/parallel-tool-use
Nearest release: v2.1.280, published under an hour 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+24added
Lines−24removed
From line
91
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits15to this page, all time
The whole hunk
from line 91, old and new numbered
/
from line 91
9191 # Make initial request
9292 print("Requesting parallel tool calls...")
9393 response = client.messages.create(
94 model="claude-opus-5", max_tokens=1024, messages=messages, tools=tools
94 model="claude-opus-5-5", max_tokens=1024, messages=messages, tools=tools
9595 )
9696
9797 # Check for parallel tool calls
from line 134
134134 # Get final response
135135 print("\nGetting final response...")
136136 final_response = client.messages.create(
137 model="claude-opus-5", max_tokens=1024, messages=messages, tools=tools
137 model="claude-opus-5-5", max_tokens=1024, messages=messages, tools=tools
138138 )
139139
140140 final_text = next(
from line 187
187187 // Make initial request
188188 console.log("Requesting parallel tool calls...");
189189 const response = await client.messages.create({
190 model: "claude-opus-5",
190 model: "claude-opus-5-5",
191191 max_tokens: 1024,
192192 messages: [
193193 {
from line 237
237237 // Get final response with correct formatting
238238 console.log("\nGetting final response...");
239239 const finalResponse = await client.messages.create({
240 model: "claude-opus-5",
240 model: "claude-opus-5-5",
241241 max_tokens: 1024,
242242 messages: [
243243 {
from line 299
299299 Console.WriteLine("Requesting parallel tool calls...");
300300 var parameters = new MessageCreateParams
301301 {
302 Model = Model.ClaudeOpus5,
302 Model = Model.ClaudeOpus5_5,
303303 MaxTokens = 1024,
304304 Messages = [new() { Role = Role.User, Content = "What's the weather in SF and NYC, and what time is it there?" }],
305305 Tools = tools
from line 357
357357 Console.WriteLine("\nGetting final response...");
358358 var finalParameters = new MessageCreateParams
359359 {
360 Model = Model.ClaudeOpus5,
360 Model = Model.ClaudeOpus5_5,
361361 MaxTokens = 1024,
362362 Messages = [
363363 new() { Role = Role.User, Content = "What's the weather in SF and NYC, and what time is it there?" },
from line 411
411411
412412 fmt.Println("Requesting parallel tool calls...")
413413 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
414 Model: anthropic.ModelClaudeOpus5,
414 Model: anthropic.ModelClaudeOpus5_5,
415415 MaxTokens: 1024,
416416 Messages: []anthropic.MessageParam{
417417 anthropic.NewUserMessage(anthropic.NewTextBlock("What's the weather in SF and NYC, and what time is it there?")),
from line 476
476476
477477 fmt.Println("\nGetting final response...")
478478 finalResponse, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
479 Model: anthropic.ModelClaudeOpus5,
479 Model: anthropic.ModelClaudeOpus5_5,
480480 MaxTokens: 1024,
481481 Messages: []anthropic.MessageParam{
482482 anthropic.NewUserMessage(anthropic.NewTextBlock("What's the weather in SF and NYC, and what time is it there?")),
from line 537
537537 .build();
538538
539539 MessageCreateParams params = MessageCreateParams.builder()
540 .model(Model.CLAUDE_OPUS_5)
540 .model(Model.CLAUDE_OPUS_5_5)
541541 .maxTokens(1024L)
542542 .addTool(weatherTool)
543543 .addTool(timeTool)
from line 589
589589
590590 IO.println("\nGetting final response...");
591591 MessageCreateParams finalParams = MessageCreateParams.builder()
592 .model(Model.CLAUDE_OPUS_5)
592 .model(Model.CLAUDE_OPUS_5_5)
593593 .maxTokens(1024L)
594594 .addTool(weatherTool)
595595 .addTool(timeTool)
from line 649
649649 messages: [
650650 ['role' => 'user', 'content' => "What's the weather in SF and NYC, and what time is it there?"]
651651 ],
652 model: 'claude-opus-5',
652 model: 'claude-opus-5-5',
653653 tools: $tools,
654654 );
655655
from line 692
692692 ['role' => 'assistant', 'content' => $response->content],
693693 ['role' => 'user', 'content' => $toolResults]
694694 ],
695 model: 'claude-opus-5',
695 model: 'claude-opus-5-5',
696696 tools: $tools,
697697 );
698698
from line 741
741741
742742 puts "Requesting parallel tool calls..."
743743 response = client.messages.create(
744 model: "claude-opus-5",
744 model: "claude-opus-5-5",
745745 max_tokens: 1024,
746746 messages: [
747747 { role: "user", content: "What's the weather in SF and NYC, and what time is it there?" }
from line 779
779779
780780 puts "\nGetting final response..."
781781 final_response = client.messages.create(
782 model: "claude-opus-5",
782 model: "claude-opus-5-5",
783783 max_tokens: 1024,
784784 messages: [
785785 { role: "user", content: "What's the weather in SF and NYC, and what time is it there?" },
from line 859
859859 -H "x-api-key: $ANTHROPIC_API_KEY" \
860860 -H "anthropic-version: 2023-06-01" \
861861 -d '{
862 "model": "claude-opus-5",
862 "model": "claude-opus-5-5",
863863 "max_tokens": 1024,
864864 "tools": [{
865865 "name": "get_weather",
from line 884
884884
885885 ```bash CLI
886886 ant messages create <<'YAML'
887 model: claude-opus-5
887 model: claude-opus-5-5
888888 max_tokens: 1024
889889 tools:
890890 - name: get_weather
from line 909
909909 client = Anthropic()
910910
911911 response = client.messages.create(
912 model="claude-opus-5",
912 model="claude-opus-5-5",
913913 max_tokens=1024,
914914 tools=[
915915 {
from line 942
942942 const client = new Anthropic();
943943
944944 const response = await client.messages.create({
945 model: "claude-opus-5",
945 model: "claude-opus-5-5",
946946 max_tokens: 1024,
947947 tools: [
948948 {
from line 971
971971
972972 var parameters = new MessageCreateParams
973973 {
974 Model = Model.ClaudeOpus5,
974 Model = Model.ClaudeOpus5_5,
975975 MaxTokens = 1024,
976976 Tools = [
977977 new ToolUnion(new Tool()
from line 1000
10001000 client := anthropic.NewClient()
10011001
10021002 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
1003 Model: anthropic.ModelClaudeOpus5,
1003 Model: anthropic.ModelClaudeOpus5_5,
10041004 MaxTokens: 1024,
10051005 Tools: []anthropic.ToolUnionParam{
10061006 {OfTool: &anthropic.ToolParam{
from line 1050
10501050 .build();
10511051
10521052 MessageCreateParams params = MessageCreateParams.builder()
1053 .model(Model.CLAUDE_OPUS_5)
1053 .model(Model.CLAUDE_OPUS_5_5)
10541054 .maxTokens(1024L)
10551055 .addTool(
10561056 Tool.builder()
from line 1075
10751075 messages: [
10761076 ['role' => 'user', 'content' => 'What is the weather in San Francisco and New York?']
10771077 ],
1078 model: 'claude-opus-5',
1078 model: 'claude-opus-5-5',
10791079 toolChoice: ['type' => 'auto', 'disableParallelToolUse' => true],
10801080 tools: [
10811081 [
from line 1102
11021102 client = Anthropic::Client.new
11031103
11041104 response = client.messages.create(
1105 model: "claude-opus-5",
1105 model: "claude-opus-5-5",
11061106 max_tokens: 1024,
11071107 tools: [
11081108 {
from line 1131
11311131
11321132### Exactly one tool call
11331133
1134When `tool_choice` type is `any` or `tool`, setting `disable_parallel_tool_use: true` means Claude calls exactly one tool. Claude Fable 5.1 and Claude Mythos 5.1 don't support these `tool_choice` types (see [Forcing tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/define-tools#forcing-tool-use)). The following example uses `any`. The same field works with `tool`:
1134When `tool_choice` type is `any` or `tool`, setting `disable_parallel_tool_use: true` means Claude calls exactly one tool. Claude Opus 5.5, Claude Fable 5.1, and Claude Mythos 5.1 don't support these `tool_choice` types (see [Forcing tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/define-tools#forcing-tool-use)). The following example uses `any`. The same field works with `tool`:
11351135
11361136<CodeGroup>
11371137 ```bash cURL
No line in this hunk matches that.