Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · api

server-tools changedagents-and-tools/tool-use/server-tools

Nearest release: v2.1.299, 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+16added
Lines−16removed
From line 510 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits13to this page, all time

The whole hunk

from line 510, old and new numbered
/
lines
from line 510
510510 -H "anthropic-version: 2023-06-01" \
511511 -H "content-type: application/json" \
512512 -d '{
513 "model": "claude-opus-4-8",
513 "model": "claude-opus-5-5",
514514 "max_tokens": 1024,
515515 "messages": [
516516 {
from line 538
538538 # result block, run the client tools and re-run with a user message of only
539539 # their tool_result blocks appended (see the SDK tabs).
540540 ant messages create <<'YAML'
541 model: claude-opus-4-8
541 model: claude-opus-5-5
542542 max_tokens: 1024
543543 messages:
544544 - role: user
from line 580
580580 ]
581581 
582582 response = client.messages.create(
583 model="claude-opus-4-8", max_tokens=1024, tools=tools, messages=messages
583 model="claude-opus-5-5", max_tokens=1024, tools=tools, messages=messages
584584 )
585585 
586586 tool_results = [
from line 598
598598 # A server_tool_use block with no result block in this response is not finished; its result arrives in a later response.
599599 # Send back only the client tool_result blocks, with the same tools.
600600 continuation = client.messages.create(
601 model="claude-opus-4-8",
601 model="claude-opus-5-5",
602602 max_tokens=1024,
603603 tools=tools,
604604 messages=[
from line 642
642642 ];
643643 
644644 const response = await client.messages.create({
645 model: "claude-opus-4-8",
645 model: "claude-opus-5-5",
646646 max_tokens: 1024,
647647 tools: [webFetchTool, runCommandTool],
648648 messages
from line 664
664664 // A server_tool_use block with no result block in this response is not finished; its result arrives in a later response.
665665 // Send back only the client tool_result blocks, with the same tools.
666666 const continuation = await client.messages.create({
667 model: "claude-opus-4-8",
667 model: "claude-opus-5-5",
668668 max_tokens: 1024,
669669 tools: [webFetchTool, runCommandTool],
670670 messages: [
from line 711
711711 
712712 var response = await client.Messages.Create(new MessageCreateParams
713713 {
714 Model = Model.ClaudeOpus4_8,
714 Model = Model.ClaudeOpus5_5,
715715 MaxTokens = 1024,
716716 Tools = tools,
717717 Messages = [userMessage]
from line 737
737737 // Send back only the client tool_result blocks, with the same tools.
738738 var continuation = await client.Messages.Create(new MessageCreateParams
739739 {
740 Model = Model.ClaudeOpus4_8,
740 Model = Model.ClaudeOpus5_5,
741741 MaxTokens = 1024,
742742 Tools = tools,
743743 Messages =
from line 785
785785 userMessage := anthropic.NewUserMessage(anthropic.NewTextBlock("Summarize https://example.com/article and run uname -a to tell me what system this is on."))
786786 
787787 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
788 Model: anthropic.ModelClaudeOpus4_8,
788 Model: anthropic.ModelClaudeOpus5_5,
789789 MaxTokens: 1024,
790790 Tools: tools,
791791 Messages: []anthropic.MessageParam{userMessage},
from line 807
807807 // A server_tool_use block with no result block in this response is not finished; its result arrives in a later response.
808808 // Send back only the client tool_result blocks, with the same tools.
809809 continuation, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
810 Model: anthropic.ModelClaudeOpus4_8,
810 Model: anthropic.ModelClaudeOpus5_5,
811811 MaxTokens: 1024,
812812 Tools: tools,
813813 Messages: []anthropic.MessageParam{
from line 844
844844 String prompt = "Summarize https://example.com/article and run uname -a to tell me what system this is on.";
845845 
846846 Message response = client.messages().create(MessageCreateParams.builder()
847 .model(Model.CLAUDE_OPUS_4_8)
847 .model(Model.CLAUDE_OPUS_5_5)
848848 .maxTokens(1024L)
849849 .addTool(WebFetchTool20250910.builder().maxUses(5L).build())
850850 .addTool(runCommandTool)
from line 869
869869 // A server_tool_use block with no result block in this response is not finished; its result arrives in a later response.
870870 // Send back only the client tool_result blocks, with the same tools.
871871 Message continuation = client.messages().create(MessageCreateParams.builder()
872 .model(Model.CLAUDE_OPUS_4_8)
872 .model(Model.CLAUDE_OPUS_5_5)
873873 .maxTokens(1024L)
874874 .addTool(WebFetchTool20250910.builder().maxUses(5L).build())
875875 .addTool(runCommandTool)
from line 908
908908 $response = $client->messages->create(
909909 maxTokens: 1024,
910910 messages: [$userMessage],
911 model: 'claude-opus-4-8',
911 model: 'claude-opus-5-5',
912912 tools: $tools,
913913 );
914914 
from line 934
934934 ['role' => 'assistant', 'content' => $response->content],
935935 ['role' => 'user', 'content' => $toolResults],
936936 ],
937 model: 'claude-opus-4-8',
937 model: 'claude-opus-5-5',
938938 tools: $tools,
939939 );
940940 // If a web_fetch was deferred, it runs on this request and its
from line 968
968968 }
969969 
970970 response = client.messages.create(
971 model: "claude-opus-4-8",
971 model: "claude-opus-5-5",
972972 max_tokens: 1024,
973973 tools: tools,
974974 messages: [user_message]
from line 990
990990 # A server_tool_use block with no result block in this response is not finished; its result arrives in a later response.
991991 # Send back only the client tool_result blocks, with the same tools.
992992 continuation = client.messages.create(
993 model: "claude-opus-4-8",
993 model: "claude-opus-5-5",
994994 max_tokens: 1024,
995995 tools: tools,
996996 messages: [
Feedback