Follow Discord
Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
One change · api

Log at info level changed

agents-and-tools/tool-use/tool-runner

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+37added
Lines−37removed
From line 61 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits6to this page, all time

The whole hunk

from line 61, old and new numbered
/
lines
from line 61
6161 
6262 
6363 runner = client.beta.messages.tool_runner(
64 model="claude-opus-5",
64 model="claude-opus-5-5",
6565 max_tokens=1024,
6666 tools=[get_weather, calculate_sum],
6767 messages=[
from line 105
105105 });
106106 
107107 const finalMessage = await client.beta.messages.toolRunner({
108 model: "claude-opus-5",
108 model: "claude-opus-5-5",
109109 max_tokens: 1024,
110110 tools: [getWeatherTool],
111111 messages: [{ role: "user", content: "What's the weather like in Paris?" }]
from line 147
147147 });
148148 
149149 const finalMessage = await client.beta.messages.toolRunner({
150 model: "claude-opus-5",
150 model: "claude-opus-5-5",
151151 max_tokens: 1024,
152152 tools: [calculateSumTool],
153153 messages: [{ role: "user", content: "What's 15 + 27?" }]
from line 231
231231 var runner = client.Beta.Messages.ToolRunner(
232232 new MessageCreateParams
233233 {
234 Model = Model.ClaudeOpus5,
234 Model = Model.ClaudeOpus5_5,
235235 MaxTokens = 1024,
236236 Messages =
237237 [
from line 311
311311 []anthropic.BetaTool{getWeather, calculateSum},
312312 anthropic.BetaToolRunnerParams{
313313 BetaMessageNewParams: anthropic.BetaMessageNewParams{
314 Model: anthropic.ModelClaudeOpus5,
314 Model: anthropic.ModelClaudeOpus5_5,
315315 MaxTokens: 1024,
316316 Messages: []anthropic.BetaMessageParam{
317317 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock(
from line 397
397397 BetaToolRunner runner = client.beta()
398398 .messages()
399399 .toolRunner(MessageCreateParams.builder()
400 .model(Model.CLAUDE_OPUS_5)
400 .model(Model.CLAUDE_OPUS_5_5)
401401 .maxTokens(1024)
402402 .addBeta("structured-outputs-2025-11-13")
403403 .addUserMessage("What's the weather like in Paris? Also, what's 15 + 27?")
from line 491
491491 messages: [
492492 ['role' => 'user', 'content' => "What's the weather like in Paris? Also, what's 15 + 27?"],
493493 ],
494 model: Model::CLAUDE_OPUS_5,
494 model: Model::CLAUDE_OPUS_5_5,
495495 tools: [$getWeather, $calculateSum],
496496 );
497497 
from line 553
553553 
554554 # Use the tool runner
555555 runner = client.beta.messages.tool_runner(
556 model: "claude-opus-5",
556 model: "claude-opus-5-5",
557557 max_tokens: 1024,
558558 tools: [GetWeather.new, CalculateSum.new],
559559 messages: [
from line 588
588588 client = anthropic.Anthropic()
589589 # ...
590590 runner = client.beta.messages.tool_runner(
591 model="claude-opus-5",
591 model="claude-opus-5-5",
592592 max_tokens=1024,
593593 tools=[get_weather, calculate_sum],
594594 messages=[
from line 612
612612 const client = new Anthropic();
613613 // ...
614614 const runner = client.beta.messages.toolRunner({
615 model: "claude-opus-5",
615 model: "claude-opus-5-5",
616616 max_tokens: 1024,
617617 tools: [getWeatherTool],
618618 messages: [{ role: "user", content: "What's the weather like in Paris?" }]
from line 636
636636 var runner = client.Beta.Messages.ToolRunner(
637637 new MessageCreateParams
638638 {
639 Model = Model.ClaudeOpus5,
639 Model = Model.ClaudeOpus5_5,
640640 MaxTokens = 1024,
641641 Messages =
642642 [
from line 672
672672 []anthropic.BetaTool{getWeather},
673673 anthropic.BetaToolRunnerParams{
674674 BetaMessageNewParams: anthropic.BetaMessageNewParams{
675 Model: anthropic.ModelClaudeOpus5,
675 Model: anthropic.ModelClaudeOpus5_5,
676676 MaxTokens: 1024,
677677 Messages: []anthropic.BetaMessageParam{
678678 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock(
from line 704
704704 BetaToolRunner runner = client.beta()
705705 .messages()
706706 .toolRunner(MessageCreateParams.builder()
707 .model(Model.CLAUDE_OPUS_5)
707 .model(Model.CLAUDE_OPUS_5_5)
708708 .maxTokens(1024)
709709 .addBeta("structured-outputs-2025-11-13")
710710 .addUserMessage("What's the weather like in Paris? Also, what's 15 + 27?")
from line 733
733733 messages: [
734734 ['role' => 'user', 'content' => "What's the weather like in Paris? Also, what's 15 + 27?"],
735735 ],
736 model: Model::CLAUDE_OPUS_5,
736 model: Model::CLAUDE_OPUS_5_5,
737737 tools: [$getWeather, $calculateSum],
738738 );
739739 
from line 753
753753 client = Anthropic::Client.new
754754 # ...
755755 runner = client.beta.messages.tool_runner(
756 model: "claude-opus-5",
756 model: "claude-opus-5-5",
757757 max_tokens: 1024,
758758 tools: [GetWeather.new, CalculateSum.new],
759759 messages: [
from line 816
816816 
817817 ```python
818818 runner = client.beta.messages.tool_runner(
819 model="claude-opus-5",
819 model="claude-opus-5-5",
820820 max_tokens=1024,
821821 max_iterations=10,
822822 tools=[get_weather],
from line 852
852852 
853853 ```typescript
854854 const runner = client.beta.messages.toolRunner({
855 model: "claude-opus-5",
855 model: "claude-opus-5-5",
856856 max_tokens: 1024,
857857 max_iterations: 10,
858858 tools: [getWeatherTool],
from line 892
892892 var runner = client.Beta.Messages.ToolRunner(
893893 new MessageCreateParams
894894 {
895 Model = Model.ClaudeOpus5,
895 Model = Model.ClaudeOpus5_5,
896896 MaxTokens = 1024,
897897 Messages = [new() { Role = Role.User, Content = "What's the weather in San Francisco?" }],
898898 },
from line 949
949949 []anthropic.BetaTool{getWeather},
950950 anthropic.BetaToolRunnerParams{
951951 BetaMessageNewParams: anthropic.BetaMessageNewParams{
952 Model: anthropic.ModelClaudeOpus5,
952 Model: anthropic.ModelClaudeOpus5_5,
953953 MaxTokens: 1024,
954954 Messages: []anthropic.BetaMessageParam{
955955 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock(
from line 987
987987 .messages()
988988 .toolRunner(ToolRunnerCreateParams.builder()
989989 .initialMessageParams(MessageCreateParams.builder()
990 .model(Model.CLAUDE_OPUS_5)
990 .model(Model.CLAUDE_OPUS_5_5)
991991 .maxTokens(1024)
992992 .addBeta("structured-outputs-2025-11-13")
993993 .addUserMessage("Give me a detailed weather report for every major US city.")
from line 1031
10311031 messages: [
10321032 ['role' => 'user', 'content' => 'Give a detailed weather report for every major US city.'],
10331033 ],
1034 model: Model::CLAUDE_OPUS_5,
1034 model: Model::CLAUDE_OPUS_5_5,
10351035 tools: [$getWeather],
10361036 maxIterations: 10,
10371037 );
from line 1067
10671067 
10681068 ```ruby
10691069 runner = client.beta.messages.tool_runner(
1070 model: "claude-opus-5",
1070 model: "claude-opus-5-5",
10711071 max_tokens: 1024,
10721072 max_iterations: 10,
10731073 tools: [GetWeather.new],
from line 1123
11231123 client = anthropic.Anthropic()
11241124 # ...
11251125 runner = client.beta.messages.tool_runner(
1126 model="claude-opus-5",
1126 model="claude-opus-5-5",
11271127 max_tokens=1024,
11281128 tools=[my_tool],
11291129 messages=[{"role": "user", "content": "Run my_tool with the query 'hello'."}],
from line 1153
11531153 const client = new Anthropic();
11541154 // ...
11551155 const runner = client.beta.messages.toolRunner({
1156 model: "claude-opus-5",
1156 model: "claude-opus-5-5",
11571157 max_tokens: 1024,
11581158 tools: [myTool],
11591159 messages: [{ role: "user", content: "Run my_tool with the query 'hello'." }]
from line 1223
12231223 var runner = client.Beta.Messages.ToolRunner(
12241224 new MessageCreateParams
12251225 {
1226 Model = Model.ClaudeOpus5,
1226 Model = Model.ClaudeOpus5_5,
12271227 MaxTokens = 1024,
12281228 Messages =
12291229 [
from line 1254
12541254 client = Anthropic::Client.new
12551255 # ...
12561256 runner = client.beta.messages.tool_runner(
1257 model: "claude-opus-5",
1257 model: "claude-opus-5-5",
12581258 max_tokens: 1024,
12591259 tools: [MyTool.new],
12601260 messages: [{role: "user", content: "Run my_tool with the query 'hello'."}]
from line 1300
13001300 client = anthropic.Anthropic()
13011301 # ...
13021302 runner = client.beta.messages.tool_runner(
1303 model="claude-opus-5",
1303 model="claude-opus-5-5",
13041304 max_tokens=1024,
13051305 tools=[search_documents],
13061306 messages=[
from line 1334
13341334 const client = new Anthropic();
13351335 // ...
13361336 const runner = client.beta.messages.toolRunner({
1337 model: "claude-opus-5",
1337 model: "claude-opus-5-5",
13381338 max_tokens: 1024,
13391339 tools: [searchDocuments],
13401340 messages: [
from line 1396
13961396 []anthropic.BetaTool{searchDocuments},
13971397 anthropic.BetaToolRunnerParams{
13981398 BetaMessageNewParams: anthropic.BetaMessageNewParams{
1399 Model: anthropic.ModelClaudeOpus5,
1399 Model: anthropic.ModelClaudeOpus5_5,
14001400 MaxTokens: 1024,
14011401 Messages: []anthropic.BetaMessageParam{
14021402 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock(
from line 1449
14491449 messages: [
14501450 ['role' => 'user', 'content' => 'Search for information about the climate of San Francisco.'],
14511451 ],
1452 model: Model::CLAUDE_OPUS_5,
1452 model: Model::CLAUDE_OPUS_5_5,
14531453 tools: [$searchDocuments],
14541454 );
14551455 
from line 1485
14851485 client = Anthropic::Client.new
14861486 # ...
14871487 runner = client.beta.messages.tool_runner(
1488 model: "claude-opus-5",
1488 model: "claude-opus-5-5",
14891489 max_tokens: 1024,
14901490 tools: [SearchDocuments.new],
14911491 messages: [{role: "user", content: "Search for information about the climate of San Francisco"}]
from line 1531
15311531 client = anthropic.Anthropic()
15321532 # ...
15331533 runner = client.beta.messages.tool_runner(
1534 model="claude-opus-5",
1534 model="claude-opus-5-5",
15351535 max_tokens=1024,
15361536 tools=[calculate_sum],
15371537 messages=[{"role": "user", "content": "What is 15 + 27?"}],
from line 1555
15551555 const client = new Anthropic();
15561556 // ...
15571557 const runner = client.beta.messages.toolRunner({
1558 model: "claude-opus-5",
1558 model: "claude-opus-5-5",
15591559 max_tokens: 1024,
15601560 messages: [{ role: "user", content: "What is the weather in San Francisco?" }],
15611561 tools: [getWeatherTool],
from line 1583
15831583 var runner = client.Beta.Messages.ToolRunner(
15841584 new MessageCreateParams
15851585 {
1586 Model = Model.ClaudeOpus5,
1586 Model = Model.ClaudeOpus5_5,
15871587 MaxTokens = 1024,
15881588 Messages =
15891589 [
from line 1621
16211621 []anthropic.BetaTool{calculateSum},
16221622 anthropic.BetaToolRunnerParams{
16231623 BetaMessageNewParams: anthropic.BetaMessageNewParams{
1624 Model: anthropic.ModelClaudeOpus5,
1624 Model: anthropic.ModelClaudeOpus5_5,
16251625 MaxTokens: 1024,
16261626 Messages: []anthropic.BetaMessageParam{
16271627 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("What is 15 + 27?")),
from line 1664
16641664 BetaToolRunner runner = client.beta()
16651665 .messages()
16661666 .toolRunner(MessageCreateParams.builder()
1667 .model(Model.CLAUDE_OPUS_5)
1667 .model(Model.CLAUDE_OPUS_5_5)
16681668 .maxTokens(1024)
16691669 .addBeta("structured-outputs-2025-11-13")
16701670 .addUserMessage("What is 15 + 27?")
from line 1691
16911691 client = Anthropic::Client.new
16921692 # ...
16931693 runner = client.beta.messages.tool_runner(
1694 model: "claude-opus-5",
1694 model: "claude-opus-5-5",
16951695 max_tokens: 1024,
16961696 tools: [CalculateSum.new],
16971697 messages: [{role: "user", content: "What is 15 + 27?"}]
Feedback