One read of Claude Developer Platformapi-20261022T203739Z
62 pages moved out of 808 read.
Pages moved
62
significant first
Pages read
808
in this capture
Captured
20:37 UTC
Corpus hash
208d1f61c6d5
corpus-hash
What this read moved
1-25 of 62, page 1 of 3This capture is too large to show at once. Changes 1-25 of 62 are below, significant first; the rest are on the following screens.
agents-and-tools/mcp-connector Changed · +3 / -3 lines
from line 1266
12661266 The helpers live in the `mcp` subpackage of the Go SDK, which builds on the [MCP Go SDK](https://github.com/modelcontextprotocol/go-sdk):
12671267
12681268 ```bash
1269 go get github.com/anthropics/anthropic-sdk-go/mcp
1269 go get github.com/anthropics/anthropic-sdk-go/v2/mcp
12701270 ```
12711271 </Tab>
12721272
from line 1345
13451345
13461346 ```go Go
13471347 import (
1348 "github.com/anthropics/anthropic-sdk-go/mcp"
1348 "github.com/anthropics/anthropic-sdk-go/v2/mcp"
13491349 )
13501350 ```
13511351
from line 1480
14801480 // ...
14811481
14821482 // ...
1483 "github.com/anthropics/anthropic-sdk-go/mcp"
1483 "github.com/anthropics/anthropic-sdk-go/v2/mcp"
14841484 mcpsdk "github.com/modelcontextprotocol/go-sdk/mcp"
14851485 )
14861486
agents-and-tools/tool-use/advisor-tool Changed · +1 / -4 lines
from line 1003
10031003
10041004 results := runYourTools(response.Content) // list of tool_result blocks
10051005 if len(results) > 0 {
1006 messages = append(messages, anthropic.BetaMessageParam{
1007 Role: anthropic.BetaMessageParamRoleUser,
1008 Content: results,
1009 })
1006 messages = append(messages, anthropic.NewBetaUserMessage(results...))
10101007 }
10111008 // Skip this if your system prompt already tells the model to call sparingly.
10121009 if turn == nudgeTurn-1 && !advisorCalled {
agents-and-tools/tool-use/build-a-tool-using-agent Changed · +6 / -6 lines
from line 377
377377 "fmt"
378378 "log"
379379
380 "github.com/anthropics/anthropic-sdk-go"
380 "github.com/anthropics/anthropic-sdk-go/v2"
381381 )
382382
383383 func main() {
from line 1172
11721172 "fmt"
11731173 "log"
11741174
1175 "github.com/anthropics/anthropic-sdk-go"
1175 "github.com/anthropics/anthropic-sdk-go/v2"
11761176 )
11771177
11781178 func runTool(name string, input map[string]any) string {
from line 1965
19651965 "fmt"
19661966 "log"
19671967
1968 "github.com/anthropics/anthropic-sdk-go"
1968 "github.com/anthropics/anthropic-sdk-go/v2"
19691969 )
19701970
19711971 func runTool(name string, input map[string]any) string {
from line 2813
28132813 "log"
28142814 "strings"
28152815
2816 "github.com/anthropics/anthropic-sdk-go"
2816 "github.com/anthropics/anthropic-sdk-go/v2"
28172817 )
28182818
28192819 func runTool(name string, input map[string]any) (string, error) {
from line 3586
35863586 "fmt"
35873587 "log"
35883588
3589 "github.com/anthropics/anthropic-sdk-go"
3590 "github.com/anthropics/anthropic-sdk-go/toolrunner"
3589 "github.com/anthropics/anthropic-sdk-go/v2"
3590 "github.com/anthropics/anthropic-sdk-go/v2/toolrunner"
35913591 )
35923592
35933593 // The input structs define each tool's schema. The tool runner generates the
agents-and-tools/tool-use/programmatic-tool-calling Changed · +4 / -6 lines
from line 878
878878 },
879879 Messages: []anthropic.MessageParam{
880880 anthropic.NewUserMessage(anthropic.NewTextBlock("Query customer purchase history from the last quarter and identify our top 5 customers by revenue")),
881 {
882 Role: anthropic.MessageParamRoleAssistant,
881 {OfAssistant: &anthropic.AssistantMessageParam{
883882 Content: []anthropic.ContentBlockParamUnion{
884883 anthropic.NewTextBlock("I'll query the purchase history and analyze the results."),
885884 {OfServerToolUse: &anthropic.ServerToolUseBlockParam{
from line 897
898897 },
899898 }},
900899 },
901 },
902 {
903 Role: anthropic.MessageParamRoleUser,
900 }},
901 {OfUser: &anthropic.UserMessageParam{
904902 Content: []anthropic.ContentBlockParamUnion{
905903 {OfToolResult: &anthropic.ToolResultBlockParam{
906904 ToolUseID: "toolu_def456",
from line 909
911909 },
912910 }},
913911 },
914 },
912 }},
915913 },
916914 // Same tools array as the original request
917915 Tools: []anthropic.ToolUnionParam{
build-with-claude/claude-in-microsoft-foundry Changed · +5 / -5 lines
from line 69
6969
7070 <Tab title="Go">
7171 ```bash
72 go get github.com/anthropics/anthropic-sdk-go/foundry
72 go get github.com/anthropics/anthropic-sdk-go/v2/foundry
7373
7474 # For Entra ID authentication, also install the Azure Identity library
7575 go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
from line 290
290290 "fmt"
291291 "os"
292292
293 "github.com/anthropics/anthropic-sdk-go"
294 "github.com/anthropics/anthropic-sdk-go/foundry"
293 "github.com/anthropics/anthropic-sdk-go/v2"
294 "github.com/anthropics/anthropic-sdk-go/v2/foundry"
295295 )
296296
297297 func main() {
from line 508
508508
509509 "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
510510 "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
511 "github.com/anthropics/anthropic-sdk-go"
512 "github.com/anthropics/anthropic-sdk-go/foundry"
511 "github.com/anthropics/anthropic-sdk-go/v2"
512 "github.com/anthropics/anthropic-sdk-go/v2/foundry"
513513 )
514514
515515 func main() {
build-with-claude/claude-on-vertex-ai Changed · +9 / -9 lines
from line 38
3838
3939 <Tab title="Go">
4040 ```bash
41 go get github.com/anthropics/anthropic-sdk-go
41 go get github.com/anthropics/anthropic-sdk-go/v2
4242 ```
4343 </Tab>
4444
from line 250
250250 "context"
251251 "fmt"
252252
253 "github.com/anthropics/anthropic-sdk-go"
254 "github.com/anthropics/anthropic-sdk-go/vertex"
253 "github.com/anthropics/anthropic-sdk-go/v2"
254 "github.com/anthropics/anthropic-sdk-go/v2/vertex"
255255 )
256256 // ...
257257 // Uses default Google Cloud credentials
from line 522
522522 "context"
523523 "fmt"
524524
525 "github.com/anthropics/anthropic-sdk-go"
526 "github.com/anthropics/anthropic-sdk-go/vertex"
525 "github.com/anthropics/anthropic-sdk-go/v2"
526 "github.com/anthropics/anthropic-sdk-go/v2/vertex"
527527 )
528528 // ...
529529 // Uses default Google Cloud credentials
from line 708
708708 "context"
709709 "fmt"
710710
711 "github.com/anthropics/anthropic-sdk-go"
712 "github.com/anthropics/anthropic-sdk-go/vertex"
711 "github.com/anthropics/anthropic-sdk-go/v2"
712 "github.com/anthropics/anthropic-sdk-go/v2/vertex"
713713 )
714714 // ...
715715 // Multi-region identifier: "us" or "eu"
from line 898
898898 "context"
899899 "fmt"
900900
901 "github.com/anthropics/anthropic-sdk-go"
902 "github.com/anthropics/anthropic-sdk-go/vertex"
901 "github.com/anthropics/anthropic-sdk-go/v2"
902 "github.com/anthropics/anthropic-sdk-go/v2/vertex"
903903 )
904904 // ...
905905 // Specify a specific region
build-with-claude/claude-platform-on-aws Changed · +13 / -13 lines
from line 299
299299
300300 <Tab title="Go">
301301 ```bash
302 go get github.com/anthropics/anthropic-sdk-go
302 go get github.com/anthropics/anthropic-sdk-go/v2
303303 ```
304304 </Tab>
305305
from line 1087
10871087
10881088The migration delta depends on which Bedrock integration you're coming from. The following table shows both the [current Bedrock integration](https://platform.claude.com/docs/en/build-with-claude/claude-in-amazon-bedrock) (Messages API at `bedrock-mantle.{region}.api.aws`) and the [legacy InvokeModel integration](https://platform.claude.com/docs/en/build-with-claude/claude-on-amazon-bedrock-legacy).
10891089
1090| Aspect | From [Claude in Amazon Bedrock](https://platform.claude.com/docs/en/build-with-claude/claude-in-amazon-bedrock) | From [Amazon Bedrock (Opus 4.6 and earlier)](https://platform.claude.com/docs/en/build-with-claude/claude-on-amazon-bedrock-legacy) | To Claude Platform on AWS |
1091| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1092| **Base URL** | `bedrock-mantle.{region}.api.aws` | `bedrock-runtime.{region}.amazonaws.com` | `aws-external-anthropic.{region}.api.aws` |
1093| **API format** | Messages API at `/anthropic/v1/messages` | Bedrock Converse / InvokeModel | Claude API (`/v1/{endpoint}`) |
1094| **Model IDs** | anthropic.claude-haiku-4-5 | anthropic.claude-haiku-4-5-20251001-v1:0(with a `us.` or `global.` inference profile prefix) | claude-haiku-4-5 |
1095| **SDK client** | `AnthropicBedrockMantle` | `AnthropicBedrock` / Bedrock SDK | Platform-specific client (see [Install an SDK](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws#install-an-sdk)), in beta |
1096| **SDK package** | `anthropic[bedrock]` (typescript: `@anthropic-ai/bedrock-sdk`; csharp: `Anthropic.Bedrock`; go: `github.com/anthropics/anthropic-sdk-go/bedrock`; java: `com.anthropic:anthropic-java-bedrock`; php: `anthropic-ai/sdk`; ruby: `anthropic`) | `anthropic[bedrock]` (typescript: `@anthropic-ai/bedrock-sdk`; csharp: `Anthropic.Bedrock`; go: `github.com/anthropics/anthropic-sdk-go/bedrock`; java: `com.anthropic:anthropic-java-bedrock`; php: `anthropic-ai/sdk`; ruby: `anthropic`), or the AWS SDK | `anthropic[aws]` (typescript: `@anthropic-ai/aws-sdk`; csharp: `Anthropic.Aws`; go: `github.com/anthropics/anthropic-sdk-go/aws`; java: `com.anthropic:anthropic-java-aws`; php: `anthropic-ai/sdk`; ruby: `anthropic`) (see [Install an SDK](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws#install-an-sdk)) |
1097| **SigV4 service name** | `bedrock-mantle` | `bedrock` | `aws-external-anthropic` |
1098| **Streaming format** | SSE | AWS EventStream | SSE (same as Claude API) |
1099| **Workspace header** | Not applicable | Not applicable | `anthropic-workspace-id`, required on inference and resource requests |
1100| **Region availability** | See [Amazon Bedrock regions](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html) | See [Amazon Bedrock regions](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html) | All AWS commercial regions |
1101| **Anthropic organization** | None required | None required | New organization created at sign-up. Existing organizations can't be converted (see [Moving from an existing Anthropic organization](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws#moving-from-an-existing-anthropic-organization)) |
1090| Aspect | From [Claude in Amazon Bedrock](https://platform.claude.com/docs/en/build-with-claude/claude-in-amazon-bedrock) | From [Amazon Bedrock (Opus 4.6 and earlier)](https://platform.claude.com/docs/en/build-with-claude/claude-on-amazon-bedrock-legacy) | To Claude Platform on AWS |
1091| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1092| **Base URL** | `bedrock-mantle.{region}.api.aws` | `bedrock-runtime.{region}.amazonaws.com` | `aws-external-anthropic.{region}.api.aws` |
1093| **API format** | Messages API at `/anthropic/v1/messages` | Bedrock Converse / InvokeModel | Claude API (`/v1/{endpoint}`) |
1094| **Model IDs** | anthropic.claude-haiku-4-5 | anthropic.claude-haiku-4-5-20251001-v1:0(with a `us.` or `global.` inference profile prefix) | claude-haiku-4-5 |
1095| **SDK client** | `AnthropicBedrockMantle` | `AnthropicBedrock` / Bedrock SDK | Platform-specific client (see [Install an SDK](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws#install-an-sdk)), in beta |
1096| **SDK package** | `anthropic[bedrock]` (typescript: `@anthropic-ai/bedrock-sdk`; csharp: `Anthropic.Bedrock`; go: `github.com/anthropics/anthropic-sdk-go/v2/bedrock`; java: `com.anthropic:anthropic-java-bedrock`; php: `anthropic-ai/sdk`; ruby: `anthropic`) | `anthropic[bedrock]` (typescript: `@anthropic-ai/bedrock-sdk`; csharp: `Anthropic.Bedrock`; go: `github.com/anthropics/anthropic-sdk-go/v2/bedrock`; java: `com.anthropic:anthropic-java-bedrock`; php: `anthropic-ai/sdk`; ruby: `anthropic`), or the AWS SDK | `anthropic[aws]` (typescript: `@anthropic-ai/aws-sdk`; csharp: `Anthropic.Aws`; go: `github.com/anthropics/anthropic-sdk-go/v2/aws`; java: `com.anthropic:anthropic-java-aws`; php: `anthropic-ai/sdk`; ruby: `anthropic`) (see [Install an SDK](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws#install-an-sdk)) |
1097| **SigV4 service name** | `bedrock-mantle` | `bedrock` | `aws-external-anthropic` |
1098| **Streaming format** | SSE | AWS EventStream | SSE (same as Claude API) |
1099| **Workspace header** | Not applicable | Not applicable | `anthropic-workspace-id`, required on inference and resource requests |
1100| **Region availability** | See [Amazon Bedrock regions](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html) | See [Amazon Bedrock regions](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html) | All AWS commercial regions |
1101| **Anthropic organization** | None required | None required | New organization created at sign-up. Existing organizations can't be converted (see [Moving from an existing Anthropic organization](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws#moving-from-an-existing-anthropic-organization)) |
11021102
11031103If you're on the current Bedrock integration, the request body format is already the Messages API. The changes are the base URL, SigV4 service name, model IDs, and the added `anthropic-workspace-id` header. If you're on the legacy InvokeModel or Converse API, you'll also rewrite the request and response shapes to the Messages API format. See [Claude on Amazon Bedrock (Opus 4.6 and earlier)](https://platform.claude.com/docs/en/build-with-claude/claude-on-amazon-bedrock-legacy) for the request-shape mapping.
11041104
build-with-claude/compaction-on-demand Changed · +2 / -3 lines
from line 175
175175
176176 history := []anthropic.BetaMessageParam{
177177 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("I am building a recipe app. Help me name the main entities in the data model.")),
178 {
179 Role: anthropic.BetaMessageParamRoleAssistant,
178 {OfAssistant: &anthropic.BetaAssistantMessageParam{
180179 Content: []anthropic.BetaContentBlockParamUnion{anthropic.NewBetaTextBlock("Start with Recipe, Ingredient, and Step. Add a RecipeIngredient entry that holds the quantity and unit for each ingredient in a recipe.")},
181 },
180 }},
182181 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Good. Now suggest field names for Recipe.")),
183182 }
184183
build-with-claude/compaction-threshold Changed · +10 / -7 lines
from line 632
632632 MaxTokens: 4096,
633633 Messages: []anthropic.BetaMessageParam{
634634 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Help me build a Python web scraper")),
635 {Role: anthropic.BetaMessageParamRoleAssistant, Content: []anthropic.BetaContentBlockParamUnion{anthropic.NewBetaTextBlock("I'll help you build a web scraper...")}},
635 {OfAssistant: &anthropic.BetaAssistantMessageParam{Content: []anthropic.BetaContentBlockParamUnion{anthropic.NewBetaTextBlock("I'll help you build a web scraper...")}}},
636636 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Add support for JavaScript-rendered pages")),
637637 },
638638 ContextManagement: anthropic.BetaContextManagementConfigParam{
from line 2604
26042604 "fmt"
26052605 "log"
26062606
2607 "github.com/anthropics/anthropic-sdk-go"
2607 "github.com/anthropics/anthropic-sdk-go/v2"
26082608 )
26092609
26102610 var (
from line 3040
30403040 "fmt"
30413041 "log"
30423042
3043 "github.com/anthropics/anthropic-sdk-go"
3043 "github.com/anthropics/anthropic-sdk-go/v2"
30443044 )
30453045
30463046 var (
from line 3078
30783078 // without thinking blocks; an assistant turn left empty is dropped
30793079 var preserved []anthropic.BetaMessageParam
30803080 for _, message := range messages[max(0, len(messages)-3):] {
3081 if message.OfAssistant == nil {
3082 preserved = append(preserved, message)
3083 continue
3084 }
30813085 var content []anthropic.BetaContentBlockParamUnion
3082 for _, block := range message.Content {
3086 for _, block := range message.OfAssistant.Content {
30833087 if block.OfThinking == nil && block.OfRedactedThinking == nil {
30843088 content = append(content, block)
30853089 }
from line 3091
30873091 if len(content) == 0 {
30883092 continue
30893093 }
3090 message.Content = content
3091 preserved = append(preserved, message)
3094 preserved = append(preserved, anthropic.BetaMessageParam{OfAssistant: &anthropic.BetaAssistantMessageParam{Content: content}})
30923095 }
30933096
30943097 messagesAfterCompaction := []anthropic.BetaMessageParam{
3095 {Role: anthropic.BetaMessageParamRoleAssistant, Content: []anthropic.BetaContentBlockParamUnion{compactionParam}},
3098 {OfAssistant: &anthropic.BetaAssistantMessageParam{Content: []anthropic.BetaContentBlockParamUnion{compactionParam}}},
30963099 }
30973100 messagesAfterCompaction = append(messagesAfterCompaction, preserved...)
30983101
build-with-claude/effort Changed · +2 / -3 lines
from line 529
529529 },
530530 Messages: []anthropic.BetaMessageParam{
531531 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Plan a migration from SQLite to PostgreSQL in three short steps.")),
532 {
533 Role: anthropic.BetaMessageParamRoleAssistant,
532 {OfAssistant: &anthropic.BetaAssistantMessageParam{
534533 Content: []anthropic.BetaContentBlockParamUnion{anthropic.NewBetaTextBlock("1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.")},
535 },
534 }},
536535 // Effort-only system message: the new level takes effect from the next user turn.
537536 anthropic.NewBetaSystemMessage(anthropic.BetaSystemMessageOutputConfigParam{
538537 Effort: anthropic.BetaSystemMessageOutputConfigEffortLow,
build-with-claude/mid-conversation-effort-example Changed · +4 / -5 lines
from line 132
132132 "sync"
133133 "time"
134134
135 "github.com/anthropics/anthropic-sdk-go"
135 "github.com/anthropics/anthropic-sdk-go/v2"
136136 )
137137
138138 var client = anthropic.NewClient()
from line 3330
33303330 // full mode text on entry, or a one-line refresher every turnsBetweenRefreshers user turns.
33313331 func (agent *modeAgent) dueSystemMessages() []anthropic.MessageParam {
33323332 systemMessage := func(content string) anthropic.MessageParam {
3333 return anthropic.MessageParam{
3334 Role: anthropic.MessageParamRoleSystem,
3335 Content: []anthropic.ContentBlockParamUnion{anthropic.NewTextBlock(content)},
3336 }
3333 return anthropic.MessageParam{OfSystem: &anthropic.SystemMessageParam{
3334 Content: []anthropic.TextBlockParam{{Text: content}},
3335 }}
33373336 }
33383337 var due []anthropic.MessageParam
33393338 if agent.exitPending {
build-with-claude/mid-conversation-system-messages Changed · +51 / -44 lines
from line 283
283283 // Withdraw get_weather from this point onward. The block references
284284 // the tool by name instead of editing Tools, so earlier turns stay
285285 // byte-identical and the cache still hits.
286 {
287 Role: anthropic.BetaMessageParamRoleSystem,
288 Content: []anthropic.BetaContentBlockParamUnion{
289 anthropic.NewBetaToolRemovalBlock(anthropic.BetaToolChangeToolReferenceParam{
290 Name: "get_weather",
291 }),
292 },
293 },
286 {OfSystem: &anthropic.BetaSystemMessageParam{
287 Content: []anthropic.BetaSystemMessageParamContentUnion{{
288 OfToolRemoval: &anthropic.BetaRequestToolRemovalBlockParam{
289 Tool: anthropic.BetaRequestToolRemovalBlockToolUnionParam{
290 OfToolReference: &anthropic.BetaToolChangeToolReferenceParam{
291 Name: "get_weather",
292 },
293 },
294 },
295 }},
296 }},
294297 },
295298 })
296299 if err != nil {
from line 785
782785 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("How many orders shipped yesterday?")),
783786 // Define db_query by value from this point onward. Tools and the
784787 // earlier messages stay exactly as sent, so the cache still hits.
785 {
786 Role: anthropic.BetaMessageParamRoleSystem,
787 Content: []anthropic.BetaContentBlockParamUnion{
788 anthropic.NewBetaToolAdditionBlock(anthropic.BetaToolChangeToolDefinitionParam{
789 Definition: anthropic.BetaToolUnionParam{OfTool: &anthropic.BetaToolParam{
790 Name: "db_query",
791 Description: anthropic.String("Run a read-only SQL query against the analytics database."),
792 InputSchema: anthropic.BetaToolInputSchemaParam{
793 Properties: map[string]any{
794 "sql": map[string]any{"type": "string"},
795 },
796 Required: []string{"sql"},
788 {OfSystem: &anthropic.BetaSystemMessageParam{
789 Content: []anthropic.BetaSystemMessageParamContentUnion{{
790 OfToolAddition: &anthropic.BetaRequestToolAdditionBlockParam{
791 Tool: anthropic.BetaRequestToolAdditionBlockToolUnionParam{
792 OfToolDefinition: &anthropic.BetaToolChangeToolDefinitionParam{
793 Definition: anthropic.BetaToolUnionParam{OfTool: &anthropic.BetaToolParam{
794 Name: "db_query",
795 Description: anthropic.String("Run a read-only SQL query against the analytics database."),
796 InputSchema: anthropic.BetaToolInputSchemaParam{
797 Properties: map[string]any{
798 "sql": map[string]any{"type": "string"},
799 },
800 Required: []string{"sql"},
801 },
802 }},
797803 },
798 }},
799 }),
800 },
801 },
804 },
805 },
806 }},
807 }},
802808 },
803809 })
804810 if err != nil {
from line 1372
13661372 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("What's on my calendar tomorrow?")),
13671373 // Make the calendar server's tools available from this point onward.
13681374 // The block names the server; it never holds a URL or token.
1369 {
1370 Role: anthropic.BetaMessageParamRoleSystem,
1371 Content: []anthropic.BetaContentBlockParamUnion{
1372 anthropic.NewBetaToolAdditionBlock(anthropic.BetaToolChangeToolDefinitionParam{
1373 Definition: anthropic.BetaToolUnionParam{OfMCPToolset: &anthropic.BetaMCPToolsetParam{
1374 MCPServerName: "calendar",
1375 }},
1376 }),
1377 },
1378 },
1375 {OfSystem: &anthropic.BetaSystemMessageParam{
1376 Content: []anthropic.BetaSystemMessageParamContentUnion{{
1377 OfToolAddition: &anthropic.BetaRequestToolAdditionBlockParam{
1378 Tool: anthropic.BetaRequestToolAdditionBlockToolUnionParam{
1379 OfToolDefinition: &anthropic.BetaToolChangeToolDefinitionParam{
1380 Definition: anthropic.BetaToolUnionParam{OfMCPToolset: &anthropic.BetaMCPToolsetParam{
1381 MCPServerName: "calendar",
1382 }},
1383 },
1384 },
1385 },
1386 }},
1387 }},
13791388 },
13801389 })
13811390 if err != nil {
from line 1830
18211830 // pass the team's strict typing policy. Appending the instruction
18221831 // here keeps earlier turns byte-identical, so the prefix cached by
18231832 // the previous request is still read from cache.
1824 {
1825 Role: anthropic.MessageParamRoleSystem,
1826 Content: []anthropic.ContentBlockParamUnion{
1827 anthropic.NewTextBlock("From now on, every suggestion must include explicit type annotations."),
1833 {OfSystem: &anthropic.SystemMessageParam{
1834 Content: []anthropic.TextBlockParam{
1835 {Text: "From now on, every suggestion must include explicit type annotations."},
18281836 },
1829 },
1837 }},
18301838 },
18311839 })
18321840 if err != nil {
from line 2232
22242232 Messages: []anthropic.BetaMessageParam{
22252233 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Draft a short status update on the database migration for the team channel.")),
22262234 // Turn-scoped reminder: renders for this turn, then clears once a later user message exists.
2227 {
2228 Role: anthropic.BetaMessageParamRoleSystem,
2229 ClearAt: anthropic.BetaMessageParamClearAtNextUserMessage,
2230 Content: []anthropic.BetaContentBlockParamUnion{anthropic.NewBetaTextBlock("The reader is on call: keep this reply under 50 words.")},
2231 },
2235 {OfSystem: &anthropic.BetaSystemMessageParam{
2236 ClearAt: anthropic.BetaSystemMessageParamClearAtNextUserMessage,
2237 Content: []anthropic.BetaSystemMessageParamContentUnion{{OfText: &anthropic.BetaTextBlockParam{Text: "The reader is on call: keep this reply under 50 words."}}},
2238 }},
22322239 },
22332240 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMidConversationSystemClearAt2026_08_21},
22342241 })
build-with-claude/prompt-caching Changed · +4 / -6 lines
from line 2076
20762076 Messages: []anthropic.MessageParam{
20772077 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, can you tell me more about the solar system?")),
20782078 anthropic.NewAssistantMessage(anthropic.NewTextBlock("Certainly! The solar system is the collection of celestial bodies that orbit our Sun. It consists of eight planets, numerous moons, asteroids, comets, and other objects. The planets, in order from closest to farthest from the Sun, are: Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, and Neptune. Each planet has its own unique characteristics and features. Is there a specific aspect of the solar system you would like to know more about?")),
2079 {
2080 Role: anthropic.MessageParamRoleUser,
2079 {OfUser: &anthropic.UserMessageParam{
20812080 Content: []anthropic.ContentBlockParamUnion{
20822081 anthropic.NewTextBlock("Good to know."),
20832082 {OfText: &anthropic.TextBlockParam{
from line 2084
20852084 CacheControl: anthropic.NewCacheControlEphemeralParam(),
20862085 }},
20872086 },
2088 },
2087 }},
20892088 },
20902089 })
20912090 if err != nil {
from line 2786
27872786 false,
27882787 )),
27892788 anthropic.NewAssistantMessage(anthropic.NewTextBlock("I found 3 relevant documents about Mars rovers. Let me get more details from the Mars Exploration document.")),
2790 {
2791 Role: anthropic.MessageParamRoleUser,
2789 {OfUser: &anthropic.UserMessageParam{
27922790 Content: []anthropic.ContentBlockParamUnion{
27932791 {OfText: &anthropic.TextBlockParam{
27942792 Text: "Yes, please tell me about the Perseverance rover specifically.",
from line 2793
27952793 CacheControl: anthropic.NewCacheControlEphemeralParam(),
27962794 }},
27972795 },
2798 },
2796 }},
27992797 },
28002798 })
28012799 if err != nil {
build-with-claude/prompt-engineering/prompting-claude-fable-5-1 Changed · +5 / -6 lines
from line 385
385385 "fmt"
386386 "log"
387387
388 "github.com/anthropics/anthropic-sdk-go"
388 "github.com/anthropics/anthropic-sdk-go/v2"
389389 )
390390
391391 const batchNudge = "First privately list what you need next; then request every item " +
from line 465
465465 // turn-scoped system message. Leave earlier copies in place: the API clears them,
466466 // so the model sees only the newest one.
467467 messages = append(messages, anthropic.NewBetaUserMessage(toolResults...))
468 messages = append(messages, anthropic.BetaMessageParam{
469 Role: anthropic.BetaMessageParamRoleSystem,
470 Content: []anthropic.BetaContentBlockParamUnion{anthropic.NewBetaTextBlock(batchNudge)},
471 ClearAt: anthropic.BetaMessageParamClearAtNextUserMessage,
472 })
468 messages = append(messages, anthropic.BetaMessageParam{OfSystem: &anthropic.BetaSystemMessageParam{
469 Content: []anthropic.BetaSystemMessageParamContentUnion{{OfText: &anthropic.BetaTextBlockParam{Text: batchNudge}}},
470 ClearAt: anthropic.BetaSystemMessageParamClearAtNextUserMessage,
471 }})
473472 }
474473
475474 for _, block := range response.Content {
build-with-claude/skills-guide Changed · +1 / -4 lines
from line 1073
10731073 },
10741074 Messages: []anthropic.MessageParam{
10751075 anthropic.NewUserMessage(anthropic.NewTextBlock("Create a sample sales dataset and analyze it")),
1076 {
1077 Role: anthropic.MessageParamRoleAssistant,
1078 Content: []anthropic.ContentBlockParamUnion{anthropic.NewTextBlock(assistantText)},
1079 },
1076 anthropic.NewAssistantMessage(anthropic.NewTextBlock(assistantText)),
10801077 anthropic.NewUserMessage(anthropic.NewTextBlock("What was the total revenue?")),
10811078 },
10821079 Tools: []anthropic.ToolUnionParam{
build-with-claude/task-budgets Changed · +3 / -6 lines
from line 138
138138 Model: anthropic.ModelClaudeOpus5_5,
139139 MaxTokens: 128000,
140140 Betas: []anthropic.AnthropicBeta{"task-budgets-2026-03-13"},
141 Messages: []anthropic.BetaMessageParam{{
142 Role: anthropic.BetaMessageParamRoleUser,
143 Content: []anthropic.BetaContentBlockParamUnion{{
144 OfText: &anthropic.BetaTextBlockParam{Text: "Review the codebase and propose a refactor plan."},
145 }},
146 }},
141 Messages: []anthropic.BetaMessageParam{
142 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Review the codebase and propose a refactor plan.")),
143 },
147144 OutputConfig: anthropic.BetaOutputConfigParam{
148145 Effort: anthropic.BetaOutputConfigEffortHigh,
149146 TaskBudget: anthropic.BetaTokenTaskBudgetParam{
cli-sdks-libraries/overview Changed · +11 / -11 lines
from line 54
5454 </Card>
5555</CardGroup>
5656
57Each major version of a client SDK sends one [API version](https://platform.claude.com/docs/en/api/versioning) by default, and a new major version comes with each new API version. To move to `2026-10-21`, see [Upgrade to 2026-10-21](https://platform.claude.com/docs/en/api/migration-2026-10-21#upgrade).
57Each major version of a client SDK sends one [API version](https://platform.claude.com/docs/en/api/versioning) by default, and a new major version comes with each new API version. To move to `2026-10-21`, see [Switch to 2026-10-21](https://platform.claude.com/docs/en/api/migration-2026-10-21#upgrade).
5858
5959## Latest versions
6060
61| Tool | Latest version | Package |
62| ---------- | -------------- | ----------------------------------------------------------------------------------------------------- |
63| ant CLI | `2.1.0` | [`github.com/anthropics/anthropic-cli`](https://github.com/anthropics/anthropic-cli/releases) |
64| Python | `2.1.0` | [`anthropic`](https://pypi.org/project/anthropic/) |
65| TypeScript | `1.1.0` | [`@anthropic-ai/sdk`](https://www.npmjs.com/package/@anthropic-ai/sdk) |
66| C# | `13.1.0` | [`Anthropic`](https://www.nuget.org/packages/Anthropic) |
67| Go | `2.1.0` | [`github.com/anthropics/anthropic-sdk-go`](https://pkg.go.dev/github.com/anthropics/anthropic-sdk-go) |
68| Java | `3.1.0` | [`com.anthropic:anthropic-java`](https://central.sonatype.com/artifact/com.anthropic/anthropic-java) |
69| PHP | `1.1.0` | [`anthropic-ai/sdk`](https://packagist.org/packages/anthropic-ai/sdk) |
70| Ruby | `2.1.0` | [`anthropic`](https://rubygems.org/gems/anthropic) |
61| Tool | Latest version | Package |
62| ---------- | -------------- | ----------------------------------------------------------------------------------------------------------- |
63| ant CLI | `2.1.0` | [`github.com/anthropics/anthropic-cli`](https://github.com/anthropics/anthropic-cli/releases) |
64| Python | `2.1.0` | [`anthropic`](https://pypi.org/project/anthropic/) |
65| TypeScript | `1.1.0` | [`@anthropic-ai/sdk`](https://www.npmjs.com/package/@anthropic-ai/sdk) |
66| C# | `13.1.0` | [`Anthropic`](https://www.nuget.org/packages/Anthropic) |
67| Go | `2.1.0` | [`github.com/anthropics/anthropic-sdk-go/v2`](https://pkg.go.dev/github.com/anthropics/anthropic-sdk-go/v2) |
68| Java | `3.1.0` | [`com.anthropic:anthropic-java`](https://central.sonatype.com/artifact/com.anthropic/anthropic-java) |
69| PHP | `1.1.0` | [`anthropic-ai/sdk`](https://packagist.org/packages/anthropic-ai/sdk) |
70| Ruby | `2.1.0` | [`anthropic`](https://rubygems.org/gems/anthropic) |
7171
7272The same versions are available as JSON at `https://platform.claude.com/docs/sdk-versions.json`.
7373
cli-sdks-libraries/sdks/go Changed · +22 / -42 lines
from line 14
1414
1515```go
1616import (
17 "github.com/anthropics/anthropic-sdk-go" // imported as anthropic
17 "github.com/anthropics/anthropic-sdk-go/v2" // imported as anthropic
1818)
1919```
2020
from line 21
2121Install with `go get`:
2222
2323```bash
24go get github.com/anthropics/anthropic-sdk-go
24go get github.com/anthropics/anthropic-sdk-go/v2
2525```
2626
2727## Requirements
from line 37
3737 "context"
3838 "fmt"
3939
40 "github.com/anthropics/anthropic-sdk-go"
41 "github.com/anthropics/anthropic-sdk-go/option"
40 "github.com/anthropics/anthropic-sdk-go/v2"
41 "github.com/anthropics/anthropic-sdk-go/v2/option"
4242)
4343
4444func main() {
from line 458
458458```go
459459_, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
460460 MaxTokens: 1024,
461 Messages: []anthropic.MessageParam{{
462 Content: []anthropic.ContentBlockParamUnion{{
463 OfText: &anthropic.TextBlockParam{
464 Text: "What is a quaternion?",
465 },
466 }},
467 Role: anthropic.MessageParamRoleUser,
468 }},
461 Messages: []anthropic.MessageParam{
462 anthropic.NewUserMessage(anthropic.NewTextBlock("What is a quaternion?")),
463 },
469464 Model: anthropic.ModelClaudeOpus5_5,
470465})
471466if err != nil {
from line 494
499494 context.TODO(),
500495 anthropic.MessageNewParams{
501496 MaxTokens: 1024,
502 Messages: []anthropic.MessageParam{{
503 Content: []anthropic.ContentBlockParamUnion{{
504 OfText: &anthropic.TextBlockParam{
505 Text: "What is a quaternion?",
506 },
507 }},
508 Role: anthropic.MessageParamRoleUser,
509 }},
497 Messages: []anthropic.MessageParam{
498 anthropic.NewUserMessage(anthropic.NewTextBlock("What is a quaternion?")),
499 },
510500 Model: anthropic.ModelClaudeOpus5_5,
511501 },
512502 option.WithMaxRetries(5),
from line 518
528518 ctx,
529519 anthropic.MessageNewParams{
530520 MaxTokens: 1024,
531 Messages: []anthropic.MessageParam{{
532 Content: []anthropic.ContentBlockParamUnion{{
533 OfText: &anthropic.TextBlockParam{
534 Text: "What is a quaternion?",
535 },
536 }},
537 Role: anthropic.MessageParamRoleUser,
538 }},
521 Messages: []anthropic.MessageParam{
522 anthropic.NewUserMessage(anthropic.NewTextBlock("What is a quaternion?")),
523 },
539524 Model: anthropic.ModelClaudeOpus5_5,
540525 },
541526 // This sets the per-retry timeout
from line 614
629614
630615The request option `option.WithDebugLog(nil)` might be helpful while debugging.
631616
632See the [full list of request options](https://pkg.go.dev/github.com/anthropics/anthropic-sdk-go/option).
617See the [full list of request options](https://pkg.go.dev/github.com/anthropics/anthropic-sdk-go/v2/option).
633618
634619## HTTP client customization
635620
from line 634
649634
650635The Go SDK supports the following platforms:
651636
652* **Agent Platform:** `import "github.com/anthropics/anthropic-sdk-go/vertex"`. Use `vertex.WithGoogleAuth(ctx, region, projectID)` or `vertex.WithCredentials(ctx, region, projectID, creds)`.
653* **Bedrock:** `import "github.com/anthropics/anthropic-sdk-go/bedrock"`. Use `bedrock.NewMantleClient` for the Messages-API Bedrock endpoint (streams over SSE), or `bedrock.WithLoadDefaultConfig(ctx)` / `bedrock.WithConfig(cfg)` (`bedrock-runtime` path). Importing the `bedrock` package globally registers a decoder for `application/vnd.amazon.eventstream` with the SDK's streaming layer (through package `init()`). This applies whether you use the `bedrock-runtime` `WithConfig`/`WithLoadDefaultConfig` path or `NewMantleClient`.
654* **Claude Platform on AWS:** `import anthropicaws "github.com/anthropics/anthropic-sdk-go/aws"`. Use `anthropicaws.NewClient(ctx, cfg)` with an `anthropicaws.ClientConfig` value to construct a client; set `WorkspaceID` on the config or the `ANTHROPIC_AWS_WORKSPACE_ID` environment variable. The `anthropicaws` import alias avoids a name collision with `github.com/aws/aws-sdk-go-v2/aws` when both are imported. Available in beta.
655* **Foundry:** `import "github.com/anthropics/anthropic-sdk-go/foundry"`. Use `foundry.NewClient(cfg)` with a `foundry.ClientConfig` value to construct a client; set `APIKey` (or `AzureADTokenProvider` for Microsoft Entra ID) and `Resource` on the config, or the `ANTHROPIC_FOUNDRY_API_KEY` and `ANTHROPIC_FOUNDRY_RESOURCE` environment variables.
637* **Agent Platform:** `import "github.com/anthropics/anthropic-sdk-go/v2/vertex"`. Use `vertex.WithGoogleAuth(ctx, region, projectID)` or `vertex.WithCredentials(ctx, region, projectID, creds)`.
638* **Bedrock:** `import "github.com/anthropics/anthropic-sdk-go/v2/bedrock"`. Use `bedrock.NewMantleClient` for the Messages-API Bedrock endpoint (streams over SSE), or `bedrock.WithLoadDefaultConfig(ctx)` / `bedrock.WithConfig(cfg)` (`bedrock-runtime` path). Importing the `bedrock` package globally registers a decoder for `application/vnd.amazon.eventstream` with the SDK's streaming layer (through package `init()`). This applies whether you use the `bedrock-runtime` `WithConfig`/`WithLoadDefaultConfig` path or `NewMantleClient`.
639* **Claude Platform on AWS:** `import anthropicaws "github.com/anthropics/anthropic-sdk-go/v2/aws"`. Use `anthropicaws.NewClient(ctx, cfg)` with an `anthropicaws.ClientConfig` value to construct a client; set `WorkspaceID` on the config or the `ANTHROPIC_AWS_WORKSPACE_ID` environment variable. The `anthropicaws` import alias avoids a name collision with `github.com/aws/aws-sdk-go-v2/aws` when both are imported. Available in beta.
640* **Foundry:** `import "github.com/anthropics/anthropic-sdk-go/v2/foundry"`. Use `foundry.NewClient(cfg)` with a `foundry.ClientConfig` value to construct a client; set `APIKey` (or `AzureADTokenProvider` for Microsoft Entra ID) and `Resource` on the config, or the `ANTHROPIC_FOUNDRY_API_KEY` and `ANTHROPIC_FOUNDRY_RESOURCE` environment variables.
656641
657642Use `bedrock.NewMantleClient` for new projects; `bedrock.WithLoadDefaultConfig`/`WithConfig` remain for existing applications using the Bedrock `InvokeModel` API.
658643
from line 654
669654 context.TODO(),
670655 anthropic.MessageNewParams{
671656 MaxTokens: 1024,
672 Messages: []anthropic.MessageParam{{
673 Content: []anthropic.ContentBlockParamUnion{{
674 OfText: &anthropic.TextBlockParam{
675 Text: "What is a quaternion?",
676 },
677 }},
678 Role: anthropic.MessageParamRoleUser,
679 }},
657 Messages: []anthropic.MessageParam{
658 anthropic.NewUserMessage(anthropic.NewTextBlock("What is a quaternion?")),
659 },
680660 Model: anthropic.ModelClaudeOpus5_5,
681661 },
682662 option.WithResponseInto(&response),
from line 730
750730## Additional resources
751731
752732* [GitHub repository](https://github.com/anthropics/anthropic-sdk-go)
753* [Go package documentation](https://pkg.go.dev/github.com/anthropics/anthropic-sdk-go)
733* [Go package documentation](https://pkg.go.dev/github.com/anthropics/anthropic-sdk-go/v2)
754734* [API reference](https://platform.claude.com/docs/en/api/overview)
755735* [Streaming Messages](https://platform.claude.com/docs/en/build-with-claude/streaming)
756736
manage-claude/wif-providers/azure Changed · +4 / -4 lines
from line 326
326326 "net/http"
327327 "os"
328328
329 "github.com/anthropics/anthropic-sdk-go"
330 "github.com/anthropics/anthropic-sdk-go/option"
329 "github.com/anthropics/anthropic-sdk-go/v2"
330 "github.com/anthropics/anthropic-sdk-go/v2/option"
331331 )
332332
333333 // The audience app registration's identifier URI (see Register the token audience).
from line 963
963963 "os"
964964 "strings"
965965
966 "github.com/anthropics/anthropic-sdk-go"
967 "github.com/anthropics/anthropic-sdk-go/option"
966 "github.com/anthropics/anthropic-sdk-go/v2"
967 "github.com/anthropics/anthropic-sdk-go/v2/option"
968968 )
969969
970970 func fetchEntraTokenViaFederation(ctx context.Context) (string, error) {
managed-agents/define-outcomes Changed · +2 / -5 lines
from line 156
156156 "os"
157157 "time"
158158
159 "github.com/anthropics/anthropic-sdk-go"
159 "github.com/anthropics/anthropic-sdk-go/v2"
160160 )
161161
162162 const rubric = `# DCF Model Rubric
from line 426
426426 _, err = client.Beta.Sessions.Events.Send(ctx, session.ID, anthropic.BetaSessionEventSendParams{
427427 Events: []anthropic.BetaManagedAgentsEventParamsUnion{{
428428 OfUserDefineOutcome: &anthropic.BetaManagedAgentsUserDefineOutcomeEventParams{
429 Type: anthropic.BetaManagedAgentsUserDefineOutcomeEventParamsTypeUserDefineOutcome,
430429 Description: "Build a DCF model for Costco in .xlsx",
431430 Rubric: anthropic.BetaManagedAgentsUserDefineOutcomeEventParamsRubricUnion{
432431 OfText: &anthropic.BetaManagedAgentsTextRubricParams{
433 Type: anthropic.BetaManagedAgentsTextRubricParamsTypeText,
434432 Content: rubric,
435433 },
436434 },
437 // or: OfFile: &anthropic.BetaManagedAgentsFileRubricParams{
438 // Type: anthropic.BetaManagedAgentsFileRubricParamsTypeFile, FileID: uploaded.ID},
435 // or: OfFile: &anthropic.BetaManagedAgentsFileRubricParams{FileID: uploaded.ID},
439436 MaxIterations: anthropic.Int(5), // optional; default 3, max 20
440437 },
441438 }},
managed-agents/events-and-streaming Changed · +1 / -16 lines
from line 146
146146 if _, err := client.Beta.Sessions.Events.Send(ctx, session.ID, anthropic.BetaSessionEventSendParams{
147147 Events: []anthropic.BetaManagedAgentsEventParamsUnion{{
148148 OfUserMessage: &anthropic.BetaManagedAgentsUserMessageEventParams{
149 Type: anthropic.BetaManagedAgentsUserMessageEventParamsTypeUserMessage,
150149 Content: []anthropic.BetaManagedAgentsUserMessageEventParamsContentUnion{{
151150 OfText: &anthropic.BetaManagedAgentsTextBlockParam{
152 Type: anthropic.BetaManagedAgentsTextBlockTypeText,
153151 Text: "Summarize the repo README",
154152 },
155153 }},
from line 586
588586 if _, err := client.Beta.Sessions.Events.Send(ctx, session.ID, anthropic.BetaSessionEventSendParams{
589587 Events: []anthropic.BetaManagedAgentsEventParamsUnion{{
590588 OfUserMessage: &anthropic.BetaManagedAgentsUserMessageEventParams{
591 Type: anthropic.BetaManagedAgentsUserMessageEventParamsTypeUserMessage,
592589 Content: []anthropic.BetaManagedAgentsUserMessageEventParamsContentUnion{{
593590 OfText: &anthropic.BetaManagedAgentsTextBlockParam{
594 Type: anthropic.BetaManagedAgentsTextBlockTypeText,
595591 Text: "Analyze the performance of the sort function in utils.py",
596592 },
597593 }},
from line 784
788784 if _, err := client.Beta.Sessions.Events.Send(ctx, session.ID, anthropic.BetaSessionEventSendParams{
789785 Events: []anthropic.BetaManagedAgentsEventParamsUnion{{
790786 OfUserCustomToolResult: &anthropic.BetaManagedAgentsUserCustomToolResultEventParams{
791 Type: anthropic.BetaManagedAgentsUserCustomToolResultEventParamsTypeUserCustomToolResult,
792787 CustomToolUseID: event.ID,
793788 Content: []anthropic.BetaManagedAgentsUserCustomToolResultEventParamsContentUnion{{
794789 OfText: &anthropic.BetaManagedAgentsTextBlockParam{
795 Type: anthropic.BetaManagedAgentsTextBlockTypeText,
796790 Text: result,
797791 },
798792 }},
from line 1005
10111005 if _, err := client.Beta.Sessions.Events.Send(ctx, session.ID, anthropic.BetaSessionEventSendParams{
10121006 Events: []anthropic.BetaManagedAgentsEventParamsUnion{{
10131007 OfUserToolConfirmation: &anthropic.BetaManagedAgentsUserToolConfirmationEventParams{
1014 Type: anthropic.BetaManagedAgentsUserToolConfirmationEventParamsTypeUserToolConfirmation,
10151008 ToolUseID: eventID,
10161009 Result: anthropic.BetaManagedAgentsUserToolConfirmationEventParamsResultAllow,
10171010 },
from line 1195
12021195 if _, err := client.Beta.Sessions.Events.Send(ctx, session.ID, anthropic.BetaSessionEventSendParams{
12031196 Events: []anthropic.BetaManagedAgentsEventParamsUnion{{
12041197 OfUserMessage: &anthropic.BetaManagedAgentsUserMessageEventParams{
1205 Type: anthropic.BetaManagedAgentsUserMessageEventParamsTypeUserMessage,
12061198 Content: []anthropic.BetaManagedAgentsUserMessageEventParamsContentUnion{{
12071199 OfText: &anthropic.BetaManagedAgentsTextBlockParam{
1208 Type: anthropic.BetaManagedAgentsTextBlockTypeText,
12091200 Text: "Now run the tests against the changes you made earlier.",
12101201 },
12111202 }},
from line 1367
13761367 if _, err := client.Beta.Sessions.Events.Send(ctx, session.ID, anthropic.BetaSessionEventSendParams{
13771368 Events: []anthropic.BetaManagedAgentsEventParamsUnion{
13781369 {
1379 OfUserInterrupt: &anthropic.BetaManagedAgentsUserInterruptEventParams{
1380 Type: anthropic.BetaManagedAgentsUserInterruptEventParamsTypeUserInterrupt,
1381 },
1370 OfUserInterrupt: &anthropic.BetaManagedAgentsUserInterruptEventParams{},
13821371 },
13831372 {
13841373 OfUserMessage: &anthropic.BetaManagedAgentsUserMessageEventParams{
1385 Type: anthropic.BetaManagedAgentsUserMessageEventParamsTypeUserMessage,
13861374 Content: []anthropic.BetaManagedAgentsUserMessageEventParamsContentUnion{{
13871375 OfText: &anthropic.BetaManagedAgentsTextBlockParam{
1388 Type: anthropic.BetaManagedAgentsTextBlockTypeText,
13891376 Text: "Instead, focus on fixing the bug in line 42.",
13901377 },
13911378 }},
from line 1701
17141701 if _, err := client.Beta.Sessions.Events.Send(ctx, session.ID, anthropic.BetaSessionEventSendParams{
17151702 Events: []anthropic.BetaManagedAgentsEventParamsUnion{{
17161703 OfSystemMessage: &anthropic.BetaManagedAgentsSystemMessageEventParams{
1717 Type: anthropic.BetaManagedAgentsSystemMessageEventParamsTypeSystemMessage,
17181704 Content: []anthropic.BetaManagedAgentsSystemContentBlockParam{{
1719 Type: anthropic.BetaManagedAgentsSystemContentBlockTypeText,
17201705 Text: "The user's current timezone is America/New_York.",
17211706 }},
17221707 },
managed-agents/github Changed · +1 / -10 lines
from line 142
142142 System: anthropic.String("You are a code review assistant with access to GitHub."),
143143 MCPServers: []anthropic.BetaManagedAgentsURLMCPServerParams{
144144 {
145 Type: anthropic.BetaManagedAgentsURLMCPServerParamsTypeURL,
146145 Name: "github",
147146 URL: "https://api.githubcopilot.com/mcp/",
148147 },
from line 148
149148 },
150149 Tools: []anthropic.BetaAgentNewParamsToolUnion{
151150 {
152 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
153 Type: anthropic.BetaManagedAgentsAgentToolset20260401ParamsTypeAgentToolset20260401,
154 },
151 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{},
155152 },
156153 {
157154 OfMCPToolset: &anthropic.BetaManagedAgentsMCPToolsetParams{
158 Type: anthropic.BetaManagedAgentsMCPToolsetParamsTypeMCPToolset,
159155 MCPServerName: "github",
160156 },
161157 },
from line 314
318314 Resources: []anthropic.BetaSessionNewParamsResourceUnion{
319315 {
320316 OfGitHubRepository: &anthropic.BetaManagedAgentsGitHubRepositoryResourceParams{
321 Type: anthropic.BetaManagedAgentsGitHubRepositoryResourceParamsTypeGitHubRepository,
322317 URL: "https://github.com/org/repo",
323318 MountPath: anthropic.String("/workspace/repo"),
324319 AuthorizationToken: "ghp_your_github_token",
from line 501
506501 resources := []anthropic.BetaSessionNewParamsResourceUnion{
507502 {
508503 OfGitHubRepository: &anthropic.BetaManagedAgentsGitHubRepositoryResourceParams{
509 Type: anthropic.BetaManagedAgentsGitHubRepositoryResourceParamsTypeGitHubRepository,
510504 URL: "https://github.com/org/frontend",
511505 MountPath: anthropic.String("/workspace/frontend"),
512506 AuthorizationToken: "ghp_your_github_token",
from line 508
514508 },
515509 {
516510 OfGitHubRepository: &anthropic.BetaManagedAgentsGitHubRepositoryResourceParams{
517 Type: anthropic.BetaManagedAgentsGitHubRepositoryResourceParamsTypeGitHubRepository,
518511 URL: "https://github.com/org/backend",
519512 MountPath: anthropic.String("/workspace/backend"),
520513 AuthorizationToken: "ghp_your_github_token",
from line 799
806799 Events: []anthropic.BetaManagedAgentsEventParamsUnion{
807800 {
808801 OfUserMessage: &anthropic.BetaManagedAgentsUserMessageEventParams{
809 Type: anthropic.BetaManagedAgentsUserMessageEventParamsTypeUserMessage,
810802 Content: []anthropic.BetaManagedAgentsUserMessageEventParamsContentUnion{
811803 {
812804 OfText: &anthropic.BetaManagedAgentsTextBlockParam{
813 Type: anthropic.BetaManagedAgentsTextBlockTypeText,
814805 Text: "Fix the type error in src/utils.ts, commit it to a new branch, and push it.",
815806 },
816807 },
managed-agents/mcp-connector Changed · +1 / -5 lines
from line 132
132132 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
133133 },
134134 MCPServers: []anthropic.BetaManagedAgentsURLMCPServerParams{{
135 Type: anthropic.BetaManagedAgentsURLMCPServerParamsTypeURL,
136135 Name: "github",
137136 URL: "https://api.githubcopilot.com/mcp/",
138137 }},
139138 Tools: []anthropic.BetaAgentNewParamsToolUnion{
140139 {
141 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
142 Type: anthropic.BetaManagedAgentsAgentToolset20260401ParamsTypeAgentToolset20260401,
143 },
140 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{},
144141 },
145142 {
146143 OfMCPToolset: &anthropic.BetaManagedAgentsMCPToolsetParams{
147 Type: anthropic.BetaManagedAgentsMCPToolsetParamsTypeMCPToolset,
148144 MCPServerName: "github",
149145 },
150146 },
managed-agents/migration Changed · +1 / -12 lines
from line 349
349349 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
350350 },
351351 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
352 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
353 Type: anthropic.BetaManagedAgentsAgentToolset20260401ParamsTypeAgentToolset20260401,
354 },
352 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{},
355353 }},
356354 })
357355 if err != nil {
from line 359
361359 session, err := client.Beta.Sessions.New(ctx, anthropic.BetaSessionNewParams{
362360 Agent: anthropic.BetaSessionNewParamsAgentUnion{
363361 OfBetaManagedAgentsAgents: &anthropic.BetaManagedAgentsAgentParams{
364 Type: anthropic.BetaManagedAgentsAgentParamsTypeAgent,
365362 ID: agent.ID,
366363 Version: anthropic.Int(agent.Version),
367364 },
from line 375
378375 _, err = client.Beta.Sessions.Events.Send(ctx, session.ID, anthropic.BetaSessionEventSendParams{
379376 Events: []anthropic.BetaManagedAgentsEventParamsUnion{{
380377 OfUserMessage: &anthropic.BetaManagedAgentsUserMessageEventParams{
381 Type: anthropic.BetaManagedAgentsUserMessageEventParamsTypeUserMessage,
382378 Content: []anthropic.BetaManagedAgentsUserMessageEventParamsContentUnion{{
383379 OfText: &anthropic.BetaManagedAgentsTextBlockParam{
384 Type: anthropic.BetaManagedAgentsTextBlockTypeText,
385380 Text: task,
386381 },
387382 }},
from line 848
853848 System: anthropic.String("You are a concise weather assistant."),
854849 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
855850 OfCustom: &anthropic.BetaManagedAgentsCustomToolParams{
856 Type: anthropic.BetaManagedAgentsCustomToolParamsTypeCustom,
857851 Name: "get_weather",
858852 Description: "Get the current weather for a city.",
859853 InputSchema: anthropic.BetaManagedAgentsCustomToolInputSchemaParam{
from line 881
887881 session, err := client.Beta.Sessions.New(ctx, anthropic.BetaSessionNewParams{
888882 Agent: anthropic.BetaSessionNewParamsAgentUnion{
889883 OfBetaManagedAgentsAgents: &anthropic.BetaManagedAgentsAgentParams{
890 Type: anthropic.BetaManagedAgentsAgentParamsTypeAgent,
891884 ID: agent.ID,
892885 Version: anthropic.Int(agent.Version),
893886 },
from line 901
908901 _, err = client.Beta.Sessions.Events.Send(ctx, session.ID, anthropic.BetaSessionEventSendParams{
909902 Events: []anthropic.BetaManagedAgentsEventParamsUnion{{
910903 OfUserMessage: &anthropic.BetaManagedAgentsUserMessageEventParams{
911 Type: anthropic.BetaManagedAgentsUserMessageEventParamsTypeUserMessage,
912904 Content: []anthropic.BetaManagedAgentsUserMessageEventParamsContentUnion{{
913905 OfText: &anthropic.BetaManagedAgentsTextBlockParam{
914 Type: anthropic.BetaManagedAgentsTextBlockTypeText,
915906 Text: "What's the weather in Tokyo?",
916907 },
917908 }},
from line 929
938929 if _, err := client.Beta.Sessions.Events.Send(ctx, session.ID, anthropic.BetaSessionEventSendParams{
939930 Events: []anthropic.BetaManagedAgentsEventParamsUnion{{
940931 OfUserCustomToolResult: &anthropic.BetaManagedAgentsUserCustomToolResultEventParams{
941 Type: anthropic.BetaManagedAgentsUserCustomToolResultEventParamsTypeUserCustomToolResult,
942932 CustomToolUseID: toolUse.ID,
943933 Content: []anthropic.BetaManagedAgentsUserCustomToolResultEventParamsContentUnion{{
944934 OfText: &anthropic.BetaManagedAgentsTextBlockParam{
945 Type: anthropic.BetaManagedAgentsTextBlockTypeText,
946935 Text: result,
947936 },
948937 }},
managed-agents/multiagent-orchestration Changed · +4 / -13 lines
from line 251
251251 Model: anthropic.BetaManagedAgentsModelConfigParams{ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5},
252252 System: anthropic.String("You coordinate engineering work. Delegate code review to the reviewer agent and test writing to the test agent."),
253253 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
254 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
255 Type: anthropic.BetaManagedAgentsAgentToolset20260401ParamsTypeAgentToolset20260401,
256 },
254 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{},
257255 }},
258256 Multiagent: anthropic.BetaManagedAgentsMultiagentParamsUnion{
259257 OfMultiagent20261001: &anthropic.BetaManagedAgentsMultiagent20261001Params{
from line 596
598596 Name: "researcher",
599597 Model: anthropic.BetaManagedAgentsModelConfigParams{ID: anthropic.BetaManagedAgentsModelClaudeHaiku5_5},
600598 MCPServers: []anthropic.BetaManagedAgentsURLMCPServerParams{{
601 Type: anthropic.BetaManagedAgentsURLMCPServerParamsTypeURL,
602599 Name: "github",
603600 URL: "https://api.githubcopilot.com/mcp/",
604601 }},
605602 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
606603 OfMCPToolset: &anthropic.BetaManagedAgentsMCPToolsetParams{
607 Type: anthropic.BetaManagedAgentsMCPToolsetParamsTypeMCPToolset,
608604 MCPServerName: "github",
609605 },
610606 }},
from line 613
617613 Name: "lead",
618614 Model: anthropic.BetaManagedAgentsModelConfigParams{ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5},
619615 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
620 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
621 Type: anthropic.BetaManagedAgentsAgentToolset20260401ParamsTypeAgentToolset20260401,
622 },
616 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{},
623617 }},
624618 Multiagent: anthropic.BetaManagedAgentsMultiagentParamsUnion{
625619 OfMultiagent20261001: &anthropic.BetaManagedAgentsMultiagent20261001Params{
from line 621
627621 OfEnabled: &anthropic.BetaManagedAgentsMultiagentSubagentsEnabledParams{
628622 PredefinedAgents: []anthropic.BetaManagedAgentsMultiagentPredefinedAgentParamsUnion{{
629623 OfBetaManagedAgentsAgents: &anthropic.BetaManagedAgentsAgentParams{
630 Type: anthropic.BetaManagedAgentsAgentParamsTypeAgent,
631 ID: researcher.ID,
624 ID: researcher.ID,
632625 },
633626 }},
634627 },
from line 923
930923 Model: anthropic.BetaManagedAgentsModelConfigParams{ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5},
931924 System: anthropic.String("You review contracts. When you're asked to review more than a few contracts, start a workflow run that reads them in parallel and combines the findings. Review one or two contracts yourself, without a run."),
932925 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
933 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
934 Type: anthropic.BetaManagedAgentsAgentToolset20260401ParamsTypeAgentToolset20260401,
935 },
926 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{},
936927 }},
937928 Multiagent: anthropic.BetaManagedAgentsMultiagentParamsUnion{
938929 OfMultiagent20261001: &anthropic.BetaManagedAgentsMultiagent20261001Params{