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 capture · api

One read of Claude Developer Platform

147 pages moved out of 634 read.

api-20260922T163722Z

Pages moved 147 significant first
Pages read 634 in this capture
Captured 16:37 UTC
Corpus hash 4b35df8b3fd5 corpus-hash

What this read moved

76–100 of 147

This capture is too large to show at once. Changes 76-100 of 147 are below, significant first; the rest are on the following screens.

manage-claude/authentication Changed · +10 / -10 lines

from line 57
5757 -H "anthropic-version: 2023-06-01" \
5858 -H "content-type: application/json" \
5959 -d '{
60 "model": "claude-opus-5",
60 "model": "claude-opus-5-5",
6161 "max_tokens": 1024,
6262 "messages": [{"role": "user", "content": "Hello, Claude"}]
6363 }'
from line 141
141141 -H "anthropic-workspace-id: wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" \
142142 -H "content-type: application/json" \
143143 -d '{
144 "model": "claude-opus-5",
144 "model": "claude-opus-5-5",
145145 "max_tokens": 1024,
146146 "messages": [{"role": "user", "content": "Hello, Claude"}]
147147 }'
from line 152
152152 # Omit --workspace-id for a single-workspace key.
153153 ant messages create \
154154 --workspace-id wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ \
155 --model claude-opus-5 \
155 --model claude-opus-5-5 \
156156 --max-tokens 1024 \
157157 --message '{role: user, content: "Hello, Claude"}'
158158 ```
from line 163
163163 # Required on every request for a multi-workspace key.
164164 # Omit extra_headers for a single-workspace key.
165165 message = client.messages.create(
166 model="claude-opus-5",
166 model="claude-opus-5-5",
167167 max_tokens=1024,
168168 messages=[{"role": "user", "content": "Hello, Claude"}],
169169 extra_headers={"anthropic-workspace-id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"},
from line 183
183183 // Omit the second argument for a single-workspace key.
184184 const message = await client.messages.create(
185185 {
186 model: "claude-opus-5",
186 model: "claude-opus-5-5",
187187 max_tokens: 1024,
188188 messages: [{ role: "user", content: "Hello, Claude" }]
189189 },
from line 202
202202 
203203 MessageCreateParams parameters = new()
204204 {
205 Model = Model.ClaudeOpus5,
205 Model = Model.ClaudeOpus5_5,
206206 MaxTokens = 1024,
207207 Messages = [new() { Role = Role.User, Content = "Hello, Claude" }],
208208 };
from line 238
238238 // Required on every request for a multi-workspace key.
239239 // Omit the option for a single-workspace key.
240240 message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
241 Model: anthropic.ModelClaudeOpus5,
241 Model: anthropic.ModelClaudeOpus5_5,
242242 MaxTokens: 1024,
243243 Messages: []anthropic.MessageParam{
244244 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),
from line 261
261261 // Required on every request for a multi-workspace key.
262262 // Omit putAdditionalHeader for a single-workspace key.
263263 Message message = client.messages().create(MessageCreateParams.builder()
264 .model(Model.CLAUDE_OPUS_5)
264 .model(Model.CLAUDE_OPUS_5_5)
265265 .maxTokens(1024)
266266 .addUserMessage("Hello, Claude")
267267 .putAdditionalHeader("anthropic-workspace-id", "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ")
from line 282
282282 // Required on every request for a multi-workspace key.
283283 // Omit requestOptions for a single-workspace key.
284284 $message = $client->messages->create(
285 model: Model::CLAUDE_OPUS_5,
285 model: Model::CLAUDE_OPUS_5_5,
286286 maxTokens: 1024,
287287 messages: [['role' => 'user', 'content' => 'Hello, Claude']],
288288 requestOptions: [
from line 299
299299 # Required on every request for a multi-workspace key.
300300 # Omit request_options for a single-workspace key.
301301 message = client.messages.create(
302 model: Anthropic::Model::CLAUDE_OPUS_5,
302 model: Anthropic::Model::CLAUDE_OPUS_5_5,
303303 max_tokens: 1024,
304304 messages: [{role: "user", content: "Hello, Claude"}],
305305 request_options: {extra_headers: {"anthropic-workspace-id" => "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"}}

manage-claude/cmek-aws-kms Changed · +4 / -4 lines

from line 128
128128 </Note>
129129 
130130 <Note>
131 **Finding your compartment ID:** Each workspace has a compartment ID that scopes its CMEK data. Find it in the Claude Console under **Workspace > Security**, under **Encryption key** (the **Compartment ID** field), or read the `compartment_id` field returned by the [Get Workspace](https://platform.claude.com/docs/en/api/admin-api/workspaces/get-workspace) endpoint. Substitute that value for `<compartment-uuid>` in the preceding key policy.
131 **Finding your compartment ID:** Each workspace has a compartment ID that scopes its CMEK data. To find it in the Claude Console, go to [Manage > Security](https://platform.claude.com/settings/workspaces/default/security-compliance) and select the workspace in the workspace picker at the top of the sidebar. The ID is under **Encryption key**, in the **Compartment ID** field. You can also read the `compartment_id` field returned by the [Get Workspace](https://platform.claude.com/docs/en/api/admin-api/workspaces/get-workspace) endpoint. Substitute that value for `<compartment-uuid>` in the preceding key policy.
132132 
133133 Key validation always sends the all-zeros compartment UUID (`00000000-0000-0000-0000-000000000000`) as the encryption context, because validation runs before the key is attached to any workspace. Live traffic sends the compartment ID of each attached workspace.
134134 
from line 151
151151 </Step>
152152 
153153 <Step title="Attach the key to a workspace">
154 Open **Settings > Workspaces**, choose the workspace, and open its **Security** tab. Under **Encryption key**, select the key, click **Save**, and confirm. Attaching a key can't be undone. For a workspace that already receives requests, the key can take [up to a day to take effect](https://platform.claude.com/docs/en/manage-claude/cmek#how-it-works).
154 In the Claude Console, go to [Manage > Security](https://platform.claude.com/settings/workspaces/default/security-compliance) and select the workspace in the workspace picker at the top of the sidebar. Under **Encryption key**, select the key, click **Save**, and confirm. Attaching a key can't be undone. For a workspace that already receives requests, the key can take [up to a day to take effect](https://platform.claude.com/docs/en/manage-claude/cmek#how-it-works).
155155 </Step>
156156 </Steps>
157157 </Tab>
from line 574
574574 
575575The key policy has three statements: your account's root admin statement; a statement that lets the Claude Platform on AWS service principal encrypt, decrypt, and generate data keys; and a separate statement for `kms:DescribeKey`. Both service-principal statements carry a recommended `aws:SourceArn` condition: the service calls your key on behalf of a specific workspace and passes that [workspace's ARN](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions#service-details) as the source ARN, so the pattern shown limits the grant to workspaces in your own AWS account. `DescribeKey` is granted separately because it has no `EncryptionContext` parameter, so an `EncryptionContext` condition on that action would always deny.
576576 
577If you plan to use the optional `EncryptionContext` condition shown here, create the workspace first (without a key) and copy its compartment ID from the Claude Console under **Workspace > Security**, under **Encryption key** (the **Compartment ID** field), or from the `compartment_id` field returned by the [Get Workspace](https://platform.claude.com/docs/en/api/admin-api/workspaces/get-workspace) endpoint. Substitute it for `<compartment-uuid>`. Otherwise, delete the `StringEquals` entry from that statement's `Condition` block and keep the `ArnLike` entry.
577If you plan to use the optional `EncryptionContext` condition shown here, create the workspace first (without a key), copy its compartment ID, and substitute it for `<compartment-uuid>`. To find the ID in the Claude Console, go to [Manage > Security](https://platform.claude.com/settings/workspaces/default/security-compliance) and select the workspace in the workspace picker at the top of the sidebar. The ID is under **Encryption key**, in the **Compartment ID** field. You can also read it from the `compartment_id` field returned by the [Get Workspace](https://platform.claude.com/docs/en/api/admin-api/workspaces/get-workspace) endpoint. If you don't plan to use the condition, delete the `StringEquals` entry from that statement's `Condition` block and keep the `ArnLike` entry.
578578 
579579```bash
580580export YOUR_ACCOUNT=$(aws sts get-caller-identity --query Account --output text)
from line 640
640640 </Step>
641641 
642642 <Step title="Attach the key to a workspace">
643 Attach the key to a new workspace before you send any requests to that workspace. For a workspace that already receives requests, the key can take [up to a day to take effect](https://platform.claude.com/docs/en/manage-claude/cmek#how-it-works). In the Claude Console, open the workspace and, under **Security**, select the key in **Encryption key**, save, and confirm. You can also select a key when you create a workspace in the Claude Console, but only if your key policy does not yet name specific workspaces (no `EncryptionContext` condition, and the account-wide `aws:SourceArn` pattern rather than individual workspace ARNs), because the workspace's ID and compartment ID are assigned at creation. Once attached, a workspace's key can't be changed.
643 Attach the key to a new workspace before you send any requests to that workspace. For a workspace that already receives requests, the key can take [up to a day to take effect](https://platform.claude.com/docs/en/manage-claude/cmek#how-it-works). In the Claude Console, go to [Manage > Security](https://platform.claude.com/settings/workspaces/default/security-compliance) and select the workspace in the workspace picker at the top of the sidebar. Under **Encryption key**, select the key, click **Save**, and confirm. You can also select a key when you create a workspace in the Claude Console, but only if your key policy does not yet name specific workspaces (no `EncryptionContext` condition, and the account-wide `aws:SourceArn` pattern rather than individual workspace ARNs), because the workspace's ID and compartment ID are assigned at creation. Once attached, a workspace's key can't be changed.
644644 
645645 This is when the key is validated: the attach call checks your principal's access to the key and performs an encrypt/decrypt round against it with the workspace's compartment ID as the encryption context, so a problem with either the key policy or your principal's permissions surfaces as an error on that call. If the attach fails with a KMS access error, check the following:
646646 

manage-claude/data-residency Changed · +9 / -9 lines

from line 35
3535 -H "anthropic-version: 2023-06-01" \
3636 -H "content-type: application/json" \
3737 -d '{
38 "model": "claude-opus-5",
38 "model": "claude-opus-5-5",
3939 "max_tokens": 1024,
4040 "inference_geo": "us",
4141 "messages": [{
from line 47
4747 
4848 ```bash CLI
4949 ant messages create \
50 --model claude-opus-5 \
50 --model claude-opus-5-5 \
5151 --max-tokens 1024 \
5252 --inference-geo us \
5353 --message '{role: user, content: "Summarize the key points of this document."}' \
from line 58
5858 client = anthropic.Anthropic()
5959 
6060 response = client.messages.create(
61 model="claude-opus-5",
61 model="claude-opus-5-5",
6262 max_tokens=1024,
6363 inference_geo="us",
6464 messages=[
from line 77
7777 const client = new Anthropic();
7878 
7979 const response = await client.messages.create({
80 model: "claude-opus-5",
80 model: "claude-opus-5-5",
8181 max_tokens: 1024,
8282 inference_geo: "us",
8383 messages: [
from line 102
102102 var response = await client.Messages.Create(
103103 new MessageCreateParams
104104 {
105 Model = Model.ClaudeOpus5,
105 Model = Model.ClaudeOpus5_5,
106106 MaxTokens = 1024,
107107 InferenceGeo = "us",
108108 Messages =
from line 128
128128 client := anthropic.NewClient()
129129 
130130 message, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
131 Model: anthropic.ModelClaudeOpus5,
131 Model: anthropic.ModelClaudeOpus5_5,
132132 MaxTokens: 1024,
133133 InferenceGeo: anthropic.String("us"),
134134 Messages: []anthropic.MessageParam{
from line 153
153153 
154154 Message response = client.messages().create(
155155 MessageCreateParams.builder()
156 .model(Model.CLAUDE_OPUS_5)
156 .model(Model.CLAUDE_OPUS_5_5)
157157 .maxTokens(1024L)
158158 .inferenceGeo("us")
159159 .addUserMessage("Summarize the key points of this document.")
from line 170
170170 $client = new Client();
171171 
172172 $response = $client->messages->create(
173 model: 'claude-opus-5',
173 model: 'claude-opus-5-5',
174174 maxTokens: 1024,
175175 inferenceGeo: 'us',
176176 messages: [
from line 191
191191 client = Anthropic::Client.new
192192 
193193 response = client.messages.create(
194 model: "claude-opus-5",
194 model: "claude-opus-5-5",
195195 max_tokens: 1024,
196196 inference_geo: "us",
197197 messages: [

manage-claude/wif-providers/aws Changed · +18 / -18 lines

from line 131
131131 -H "anthropic-version: 2023-06-01" \
132132 -H "content-type: application/json" \
133133 -d '{
134 "model": "claude-opus-5",
134 "model": "claude-opus-5-5",
135135 "max_tokens": 1024,
136136 "messages": [{"role": "user", "content": "Hello from AWS"}]
137137 }' | jq -r '.content[] | select(.type == "text") | .text'
from line 166
166166 )
167167 
168168 message = client.messages.create(
169 model="claude-opus-5",
169 model="claude-opus-5-5",
170170 max_tokens=1024,
171171 messages=[{"role": "user", "content": "Hello from AWS"}],
172172 )
from line 204
204204 });
205205 
206206 const message = await client.messages.create({
207 model: "claude-opus-5",
207 model: "claude-opus-5-5",
208208 max_tokens: 1024,
209209 messages: [{ role: "user", content: "Hello from AWS" }]
210210 });
from line 245
245245 )
246246 
247247 message, err := client.Messages.New(ctx, anthropic.MessageNewParams{
248 Model: anthropic.ModelClaudeOpus5,
248 Model: anthropic.ModelClaudeOpus5_5,
249249 MaxTokens: 1024,
250250 Messages: []anthropic.MessageParam{
251251 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello from AWS")),
from line 282
282282 .build();
283283 
284284 var message = client.messages().create(MessageCreateParams.builder()
285 .model(Model.CLAUDE_OPUS_5)
285 .model(Model.CLAUDE_OPUS_5_5)
286286 .maxTokens(1024)
287287 .addUserMessage("Hello from AWS")
288288 .build());
from line 309
309309 
310310 var message = await client.Messages.Create(new()
311311 {
312 Model = Model.ClaudeOpus5,
312 Model = Model.ClaudeOpus5_5,
313313 MaxTokens = 1024,
314314 Messages = [new() { Role = Role.User, Content = "Hello from AWS" }],
315315 });
from line 351
351351 # ANTHROPIC_FEDERATION_RULE_ID, ANTHROPIC_ORGANIZATION_ID, and
352352 # ANTHROPIC_SERVICE_ACCOUNT_ID, and ANTHROPIC_WORKSPACE_ID are read from the environment
353353 ant messages create \
354 --model claude-opus-5 \
354 --model claude-opus-5-5 \
355355 --max-tokens 1024 \
356356 --message '{role: user, content: "Hello from AWS"}'
357357 ```
from line 375
375375 ));
376376 
377377 $message = $client->messages->create(
378 model: 'claude-opus-5',
378 model: 'claude-opus-5-5',
379379 maxTokens: 1024,
380380 messages: [['role' => 'user', 'content' => 'Hello from AWS']],
381381 );
from line 405
405405 )
406406 
407407 message = client.messages.create(
408 model: "claude-opus-5",
408 model: "claude-opus-5-5",
409409 max_tokens: 1024,
410410 messages: [{role: "user", content: "Hello from AWS"}]
411411 )
from line 596
596596 -H "anthropic-version: 2023-06-01" \
597597 -H "content-type: application/json" \
598598 -d '{
599 "model": "claude-opus-5",
599 "model": "claude-opus-5-5",
600600 "max_tokens": 1024,
601601 "messages": [{"role": "user", "content": "Hello from EKS"}]
602602 }' | jq -r '.content[] | select(.type == "text") | .text'
from line 621
621621 )
622622 
623623 message = client.messages.create(
624 model="claude-opus-5",
624 model="claude-opus-5-5",
625625 max_tokens=1024,
626626 messages=[{"role": "user", "content": "Hello from EKS"}],
627627 )
from line 646
646646 });
647647 
648648 const message = await client.messages.create({
649 model: "claude-opus-5",
649 model: "claude-opus-5-5",
650650 max_tokens: 1024,
651651 messages: [{ role: "user", content: "Hello from EKS" }]
652652 });
from line 678
678678 )
679679 
680680 message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
681 Model: anthropic.ModelClaudeOpus5,
681 Model: anthropic.ModelClaudeOpus5_5,
682682 MaxTokens: 1024,
683683 Messages: []anthropic.MessageParam{
684684 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello from EKS")),
from line 699
699699 AnthropicClient client = AnthropicOkHttpClient.fromEnv();
700700 
701701 var message = client.messages().create(MessageCreateParams.builder()
702 .model(Model.CLAUDE_OPUS_5)
702 .model(Model.CLAUDE_OPUS_5_5)
703703 .maxTokens(1024)
704704 .addUserMessage("Hello from EKS")
705705 .build());
from line 715
715715 
716716 var message = await client.Messages.Create(new()
717717 {
718 Model = Model.ClaudeOpus5,
718 Model = Model.ClaudeOpus5_5,
719719 MaxTokens = 1024,
720720 Messages = [new() { Role = Role.User, Content = "Hello from EKS" }],
721721 });
from line 732
732732 # Reads ANTHROPIC_FEDERATION_RULE_ID, ANTHROPIC_ORGANIZATION_ID,
733733 # ANTHROPIC_SERVICE_ACCOUNT_ID, ANTHROPIC_WORKSPACE_ID, and ANTHROPIC_IDENTITY_TOKEN_FILE
734734 ant messages create \
735 --model claude-opus-5 \
735 --model claude-opus-5-5 \
736736 --max-tokens 1024 \
737737 --message '{role: user, content: "Hello from EKS"}'
738738 ```
from line 745
745745 $client = new Client();
746746 
747747 $message = $client->messages->create(
748 model: 'claude-opus-5',
748 model: 'claude-opus-5-5',
749749 maxTokens: 1024,
750750 messages: [['role' => 'user', 'content' => 'Hello from EKS']],
751751 );
from line 761
761761 client = Anthropic::Client.new
762762 
763763 message = client.messages.create(
764 model: "claude-opus-5",
764 model: "claude-opus-5-5",
765765 max_tokens: 1024,
766766 messages: [{role: "user", content: "Hello from EKS"}]
767767 )

manage-claude/wif-providers/azure Changed · +18 / -18 lines

from line 190
190190 -H "anthropic-version: 2023-06-01" \
191191 -H "content-type: application/json" \
192192 -d '{
193 "model": "claude-opus-5",
193 "model": "claude-opus-5-5",
194194 "max_tokens": 1024,
195195 "messages": [{"role": "user", "content": "Hello from Azure"}]
196196 }' | jq -r '.content[] | select(.type == "text") | .text'
from line 242
242242 )
243243 
244244 message = client.messages.create(
245 model="claude-opus-5",
245 model="claude-opus-5-5",
246246 max_tokens=1024,
247247 messages=[{"role": "user", "content": "Hello from Azure"}],
248248 )
from line 285
285285 });
286286 
287287 const message = await client.messages.create({
288 model: "claude-opus-5",
288 model: "claude-opus-5-5",
289289 max_tokens: 1024,
290290 messages: [{ role: "user", content: "Hello from Azure" }]
291291 });
from line 355
355355 )
356356 
357357 message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
358 Model: anthropic.ModelClaudeOpus5,
358 Model: anthropic.ModelClaudeOpus5_5,
359359 MaxTokens: 1024,
360360 Messages: []anthropic.MessageParam{
361361 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello from Azure")),
from line 408
408408 .build();
409409 
410410 var message = client.messages().create(MessageCreateParams.builder()
411 .model(Model.CLAUDE_OPUS_5)
411 .model(Model.CLAUDE_OPUS_5_5)
412412 .maxTokens(1024)
413413 .addUserMessage("Hello from Azure")
414414 .build());
from line 432
432432 
433433 var message = await client.Messages.Create(new()
434434 {
435 Model = Model.ClaudeOpus5,
435 Model = Model.ClaudeOpus5_5,
436436 MaxTokens = 1024,
437437 Messages = [new() { Role = Role.User, Content = "Hello from Azure" }],
438438 });
from line 514
514514 $client = new Client(credentials: $credentials);
515515 
516516 $message = $client->messages->create(
517 model: 'claude-opus-5',
517 model: 'claude-opus-5-5',
518518 maxTokens: 1024,
519519 messages: [['role' => 'user', 'content' => 'Hello from Azure']],
520520 );
from line 555
555555 client = Anthropic::Client.new(credentials: credentials)
556556 
557557 message = client.messages.create(
558 model: "claude-opus-5",
558 model: "claude-opus-5-5",
559559 max_tokens: 1024,
560560 messages: [{role: "user", content: "Hello from Azure"}]
561561 )
from line 578
578578 # ANTHROPIC_FEDERATION_RULE_ID, ANTHROPIC_ORGANIZATION_ID,
579579 # ANTHROPIC_SERVICE_ACCOUNT_ID, and ANTHROPIC_WORKSPACE_ID are read from the environment.
580580 ant messages create \
581 --model claude-opus-5 \
581 --model claude-opus-5-5 \
582582 --max-tokens 1024 \
583583 --message '{role: user, content: "Hello from Azure"}'
584584 ```
from line 802
802802 -H "anthropic-version: 2023-06-01" \
803803 -H "content-type: application/json" \
804804 -d '{
805 "model": "claude-opus-5",
805 "model": "claude-opus-5-5",
806806 "max_tokens": 1024,
807807 "messages": [{"role": "user", "content": "Hello from Azure"}]
808808 }' | jq -r '.content[] | select(.type == "text") | .text'
from line 845
845845 )
846846 
847847 message = client.messages.create(
848 model="claude-opus-5",
848 model="claude-opus-5-5",
849849 max_tokens=1024,
850850 messages=[{"role": "user", "content": "Hello from Azure"}],
851851 )
from line 890
890890 });
891891 
892892 const message = await client.messages.create({
893 model: "claude-opus-5",
893 model: "claude-opus-5-5",
894894 max_tokens: 1024,
895895 messages: [{ role: "user", content: "Hello from Azure" }]
896896 });
from line 959
959959 }),
960960 )
961961 message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
962 Model: anthropic.ModelClaudeOpus5,
962 Model: anthropic.ModelClaudeOpus5_5,
963963 MaxTokens: 1024,
964964 Messages: []anthropic.MessageParam{
965965 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello from Azure")),
from line 1011
10111011 .build();
10121012 
10131013 var message = client.messages().create(MessageCreateParams.builder()
1014 .model(Model.CLAUDE_OPUS_5)
1014 .model(Model.CLAUDE_OPUS_5_5)
10151015 .maxTokens(1024)
10161016 .addUserMessage("Hello from Azure")
10171017 .build());
from line 1035
10351035 
10361036 var message = await client.Messages.Create(new()
10371037 {
1038 Model = Model.ClaudeOpus5,
1038 Model = Model.ClaudeOpus5_5,
10391039 MaxTokens = 1024,
10401040 Messages = [new() { Role = Role.User, Content = "Hello from Azure" }],
10411041 });
from line 1107
11071107 );
11081108 
11091109 $message = $client->messages->create(
1110 model: 'claude-opus-5',
1110 model: 'claude-opus-5-5',
11111111 maxTokens: 1024,
11121112 messages: [['role' => 'user', 'content' => 'Hello from Azure']],
11131113 );
from line 1145
11451145 )
11461146 
11471147 message = client.messages.create(
1148 model: "claude-opus-5",
1148 model: "claude-opus-5-5",
11491149 max_tokens: 1024,
11501150 messages: [{role: "user", content: "Hello from Azure"}]
11511151 )
from line 1170
11701170 # ANTHROPIC_ORGANIZATION_ID, ANTHROPIC_SERVICE_ACCOUNT_ID, and ANTHROPIC_WORKSPACE_ID are read
11711171 # from the environment.
11721172 ant messages create \
1173 --model claude-opus-5 \
1173 --model claude-opus-5-5 \
11741174 --max-tokens 1024 \
11751175 --message '{role: user, content: "Hello from Azure"}'
11761176 ```

manage-claude/wif-providers/gcp Changed · +9 / -9 lines

from line 156
156156 -H "anthropic-version: 2023-06-01" \
157157 -H "content-type: application/json" \
158158 -d '{
159 "model": "claude-opus-5",
159 "model": "claude-opus-5-5",
160160 "max_tokens": 1024,
161161 "messages": [{"role": "user", "content": "Hello from Cloud Run"}]
162162 }' | jq -r '.content[] | select(.type == "text") | .text'
from line 188
188188 )
189189 
190190 message = client.messages.create(
191 model="claude-opus-5",
191 model="claude-opus-5-5",
192192 max_tokens=1024,
193193 messages=[{"role": "user", "content": "Hello from Cloud Run"}],
194194 )
from line 222
222222 });
223223 
224224 const message = await client.messages.create({
225 model: "claude-opus-5",
225 model: "claude-opus-5-5",
226226 max_tokens: 1024,
227227 messages: [{ role: "user", content: "Hello from Cloud Run" }]
228228 });
from line 258
258258 )
259259 
260260 message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
261 Model: anthropic.ModelClaudeOpus5,
261 Model: anthropic.ModelClaudeOpus5_5,
262262 MaxTokens: 1024,
263263 Messages: []anthropic.MessageParam{
264264 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello from Cloud Run")),
from line 299
299299 .build();
300300 
301301 var message = client.messages().create(MessageCreateParams.builder()
302 .model(Model.CLAUDE_OPUS_5)
302 .model(Model.CLAUDE_OPUS_5_5)
303303 .maxTokens(1024)
304304 .addUserMessage("Hello from Cloud Run")
305305 .build());
from line 323
323323 
324324 var message = await client.Messages.Create(new()
325325 {
326 Model = Model.ClaudeOpus5,
326 Model = Model.ClaudeOpus5_5,
327327 MaxTokens = 1024,
328328 Messages = [new() { Role = Role.User, Content = "Hello from Cloud Run" }],
329329 });
from line 363
363363 # ANTHROPIC_FEDERATION_RULE_ID, ANTHROPIC_ORGANIZATION_ID, and
364364 # ANTHROPIC_SERVICE_ACCOUNT_ID, and ANTHROPIC_WORKSPACE_ID are read from the environment.
365365 ant messages create \
366 --model claude-opus-5 \
366 --model claude-opus-5-5 \
367367 --max-tokens 1024 \
368368 --message '{role: user, content: "Hello from Cloud Run"}'
369369 ```
from line 388
388388 $client = new Client(credentials: $credentials);
389389 
390390 $message = $client->messages->create(
391 model: 'claude-opus-5',
391 model: 'claude-opus-5-5',
392392 maxTokens: 1024,
393393 messages: [['role' => 'user', 'content' => 'Hello from Cloud Run']],
394394 );
from line 412
412412 client = Anthropic::Client.new(credentials: credentials)
413413 
414414 message = client.messages.create(
415 model: "claude-opus-5",
415 model: "claude-opus-5-5",
416416 max_tokens: 1024,
417417 messages: [{role: "user", content: "Hello from Cloud Run"}]
418418 )

manage-claude/wif-providers/github-actions Changed · +9 / -9 lines

from line 166
166166 -H "anthropic-version: 2023-06-01" \
167167 -H "content-type: application/json" \
168168 -d '{
169 "model": "claude-opus-5",
169 "model": "claude-opus-5-5",
170170 "max_tokens": 1024,
171171 "messages": [{"role": "user", "content": "Hello, Claude"}]
172172 }' | jq -r '.content[] | select(.type == "text") | .text'
from line 181
181181 client = anthropic.Anthropic()
182182 
183183 message = client.messages.create(
184 model="claude-opus-5",
184 model="claude-opus-5-5",
185185 max_tokens=1024,
186186 messages=[{"role": "user", "content": "Hello, Claude"}],
187187 )
from line 197
197197 const client = new Anthropic();
198198 
199199 const message = await client.messages.create({
200 model: "claude-opus-5",
200 model: "claude-opus-5-5",
201201 max_tokens: 1024,
202202 messages: [{ role: "user", content: "Hello, Claude" }]
203203 });
from line 215
215215 client := anthropic.NewClient()
216216 
217217 message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
218 Model: anthropic.ModelClaudeOpus5,
218 Model: anthropic.ModelClaudeOpus5_5,
219219 MaxTokens: 1024,
220220 Messages: []anthropic.MessageParam{
221221 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),
from line 236
236236 AnthropicClient client = AnthropicOkHttpClient.fromEnv();
237237 
238238 var message = client.messages().create(MessageCreateParams.builder()
239 .model(Model.CLAUDE_OPUS_5)
239 .model(Model.CLAUDE_OPUS_5_5)
240240 .maxTokens(1024)
241241 .addUserMessage("Hello, Claude")
242242 .build());
from line 252
252252 
253253 var message = await client.Messages.Create(new()
254254 {
255 Model = Model.ClaudeOpus5,
255 Model = Model.ClaudeOpus5_5,
256256 MaxTokens = 1024,
257257 Messages = [new() { Role = Role.User, Content = "Hello, Claude" }],
258258 });
from line 270
270270 # ANTHROPIC_SERVICE_ACCOUNT_ID, ANTHROPIC_WORKSPACE_ID, and ANTHROPIC_IDENTITY_TOKEN_FILE
271271 # from the job environment.
272272 ant messages create \
273 --model claude-opus-5 \
273 --model claude-opus-5-5 \
274274 --max-tokens 1024 \
275275 --message '{role: user, content: "Hello, Claude"}'
276276 ```
from line 284
284284 $client = new Client();
285285 
286286 $message = $client->messages->create(
287 model: 'claude-opus-5',
287 model: 'claude-opus-5-5',
288288 maxTokens: 1024,
289289 messages: [['role' => 'user', 'content' => 'Hello, Claude']],
290290 );
from line 301
301301 client = Anthropic::Client.new
302302 
303303 message = client.messages.create(
304 model: "claude-opus-5",
304 model: "claude-opus-5-5",
305305 max_tokens: 1024,
306306 messages: [{role: "user", content: "Hello, Claude"}]
307307 )

manage-claude/wif-providers/kubernetes Changed · +9 / -9 lines

from line 149
149149 -H "anthropic-version: 2023-06-01" \
150150 -H "content-type: application/json" \
151151 -d '{
152 "model": "claude-opus-5",
152 "model": "claude-opus-5-5",
153153 "max_tokens": 1024,
154154 "messages": [{"role": "user", "content": "Hello, Claude"}]
155155 }' | jq -r '.content[] | select(.type == "text") | .text'
from line 164
164164 client = anthropic.Anthropic()
165165 
166166 message = client.messages.create(
167 model="claude-opus-5",
167 model="claude-opus-5-5",
168168 max_tokens=1024,
169169 messages=[{"role": "user", "content": "Hello, Claude"}],
170170 )
from line 180
180180 const client = new Anthropic();
181181 
182182 const message = await client.messages.create({
183 model: "claude-opus-5",
183 model: "claude-opus-5-5",
184184 max_tokens: 1024,
185185 messages: [{ role: "user", content: "Hello, Claude" }]
186186 });
from line 198
198198 client := anthropic.NewClient()
199199 
200200 message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
201 Model: anthropic.ModelClaudeOpus5,
201 Model: anthropic.ModelClaudeOpus5_5,
202202 MaxTokens: 1024,
203203 Messages: []anthropic.MessageParam{
204204 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),
from line 219
219219 AnthropicClient client = AnthropicOkHttpClient.fromEnv();
220220 
221221 var message = client.messages().create(MessageCreateParams.builder()
222 .model(Model.CLAUDE_OPUS_5)
222 .model(Model.CLAUDE_OPUS_5_5)
223223 .maxTokens(1024)
224224 .addUserMessage("Hello, Claude")
225225 .build());
from line 235
235235 
236236 var message = await client.Messages.Create(new()
237237 {
238 Model = Model.ClaudeOpus5,
238 Model = Model.ClaudeOpus5_5,
239239 MaxTokens = 1024,
240240 Messages = [new() { Role = Role.User, Content = "Hello, Claude" }],
241241 });
from line 252
252252 # Reads ANTHROPIC_FEDERATION_RULE_ID, ANTHROPIC_ORGANIZATION_ID,
253253 # ANTHROPIC_SERVICE_ACCOUNT_ID, ANTHROPIC_WORKSPACE_ID, and ANTHROPIC_IDENTITY_TOKEN_FILE
254254 ant messages create \
255 --model claude-opus-5 \
255 --model claude-opus-5-5 \
256256 --max-tokens 1024 \
257257 --message '{role: user, content: "Hello, Claude"}'
258258 ```
from line 265
265265 $client = new Client();
266266 
267267 $message = $client->messages->create(
268 model: 'claude-opus-5',
268 model: 'claude-opus-5-5',
269269 maxTokens: 1024,
270270 messages: [['role' => 'user', 'content' => 'Hello, Claude']],
271271 );
from line 281
281281 client = Anthropic::Client.new
282282 
283283 message = client.messages.create(
284 model: "claude-opus-5",
284 model: "claude-opus-5-5",
285285 max_tokens: 1024,
286286 messages: [{role: "user", content: "Hello, Claude"}]
287287 )

manage-claude/wif-providers/okta Changed · +9 / -9 lines

from line 106
106106 -H "authorization: Bearer $ACCESS_TOKEN" \
107107 -H "anthropic-version: 2023-06-01" \
108108 -H "content-type: application/json" \
109 -d '{"model": "claude-opus-5", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello, Claude"}]}' \
109 -d '{"model": "claude-opus-5-5", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello, Claude"}]}' \
110110 | jq -r '.content[] | select(.type == "text") | .text'
111111 ```
112112 
from line 143
143143 )
144144 
145145 message = client.messages.create(
146 model="claude-opus-5",
146 model="claude-opus-5-5",
147147 max_tokens=1024,
148148 messages=[{"role": "user", "content": "Hello, Claude"}],
149149 )
from line 183
183183 });
184184 
185185 const message = await client.messages.create({
186 model: "claude-opus-5",
186 model: "claude-opus-5-5",
187187 max_tokens: 1024,
188188 messages: [{ role: "user", content: "Hello, Claude" }]
189189 });
from line 248
248248 }),
249249 )
250250 message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
251 Model: anthropic.ModelClaudeOpus5,
251 Model: anthropic.ModelClaudeOpus5_5,
252252 MaxTokens: 1024,
253253 Messages: []anthropic.MessageParam{
254254 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),
from line 298
298298 .build();
299299 
300300 var message = client.messages().create(MessageCreateParams.builder()
301 .model(Model.CLAUDE_OPUS_5)
301 .model(Model.CLAUDE_OPUS_5_5)
302302 .maxTokens(1024)
303303 .addUserMessage("Hello, Claude")
304304 .build());
from line 322
322322 
323323 var message = await client.Messages.Create(new()
324324 {
325 Model = Model.ClaudeOpus5,
325 Model = Model.ClaudeOpus5_5,
326326 MaxTokens = 1024,
327327 Messages = [new() { Role = Role.User, Content = "Hello, Claude" }],
328328 });
from line 373
373373 # ANTHROPIC_ORGANIZATION_ID, ANTHROPIC_SERVICE_ACCOUNT_ID, ANTHROPIC_WORKSPACE_ID, and
374374 # ANTHROPIC_IDENTITY_TOKEN_FILE and performs the exchange.
375375 ant messages create \
376 --model claude-opus-5 \
376 --model claude-opus-5-5 \
377377 --max-tokens 1024 \
378378 --message '{role: user, content: "Hello, Claude"}'
379379 ```
from line 411
411411 );
412412 
413413 $message = $client->messages->create(
414 model: 'claude-opus-5',
414 model: 'claude-opus-5-5',
415415 maxTokens: 1024,
416416 messages: [['role' => 'user', 'content' => 'Hello, Claude']],
417417 );
from line 447
447447 )
448448 
449449 message = client.messages.create(
450 model: "claude-opus-5",
450 model: "claude-opus-5-5",
451451 max_tokens: 1024,
452452 messages: [{role: "user", content: "Hello, Claude"}]
453453 )

manage-claude/wif-providers/spiffe Changed · +11 / -11 lines

from line 194
194194 -H "anthropic-version: 2023-06-01" \
195195 -H "content-type: application/json" \
196196 -d '{
197 "model": "claude-opus-5",
197 "model": "claude-opus-5-5",
198198 "max_tokens": 1024,
199199 "messages": [{"role": "user", "content": "Hello, Claude"}]
200200 }' | jq -r '.content[] | select(.type == "text") | .text'
from line 205
205205 # ANTHROPIC_IDENTITY_TOKEN_FILE, plus ANTHROPIC_FEDERATION_RULE_ID,
206206 # ANTHROPIC_ORGANIZATION_ID, ANTHROPIC_SERVICE_ACCOUNT_ID, and ANTHROPIC_WORKSPACE_ID.
207207 ant messages create \
208 --model claude-opus-5 \
208 --model claude-opus-5-5 \
209209 --max-tokens 1024 \
210210 --message '{role: user, content: "Hello, Claude"}'
211211 ```
from line 219
219219 client = anthropic.Anthropic()
220220 
221221 message = client.messages.create(
222 model="claude-opus-5",
222 model="claude-opus-5-5",
223223 max_tokens=1024,
224224 messages=[{"role": "user", "content": "Hello, Claude"}],
225225 )
from line 235
235235 const client = new Anthropic();
236236 
237237 const message = await client.messages.create({
238 model: "claude-opus-5",
238 model: "claude-opus-5-5",
239239 max_tokens: 1024,
240240 messages: [{ role: "user", content: "Hello, Claude" }]
241241 });
from line 254
254254 
255255 var message = await client.Messages.Create(new()
256256 {
257 Model = Model.ClaudeOpus5,
257 Model = Model.ClaudeOpus5_5,
258258 MaxTokens = 1024,
259259 Messages = [new() { Role = Role.User, Content = "Hello, Claude" }],
260260 });
from line 274
274274 client := anthropic.NewClient()
275275 
276276 message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
277 Model: anthropic.ModelClaudeOpus5,
277 Model: anthropic.ModelClaudeOpus5_5,
278278 MaxTokens: 1024,
279279 Messages: []anthropic.MessageParam{
280280 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),
from line 298
298298 AnthropicClient client = AnthropicOkHttpClient.fromEnv();
299299 
300300 var message = client.messages().create(MessageCreateParams.builder()
301 .model(Model.CLAUDE_OPUS_5)
301 .model(Model.CLAUDE_OPUS_5_5)
302302 .maxTokens(1024)
303303 .addUserMessage("Hello, Claude")
304304 .build());
from line 315
315315 $client = new Client();
316316 
317317 $message = $client->messages->create(
318 model: 'claude-opus-5',
318 model: 'claude-opus-5-5',
319319 maxTokens: 1024,
320320 messages: [['role' => 'user', 'content' => 'Hello, Claude']],
321321 );
from line 332
332332 client = Anthropic::Client.new
333333 
334334 message = client.messages.create(
335 model: "claude-opus-5",
335 model: "claude-opus-5-5",
336336 max_tokens: 1024,
337337 messages: [{role: "user", content: "Hello, Claude"}]
338338 )
from line 373
373373 )
374374 
375375 message = client.messages.create(
376 model="claude-opus-5",
376 model="claude-opus-5-5",
377377 max_tokens=1024,
378378 messages=[{"role": "user", "content": "Hello, Claude"}],
379379 )
from line 419
419419 )
420420 
421421 message, err := client.Messages.New(ctx, anthropic.MessageNewParams{
422 Model: anthropic.ModelClaudeOpus5,
422 Model: anthropic.ModelClaudeOpus5_5,
423423 MaxTokens: 1024,
424424 Messages: []anthropic.MessageParam{
425425 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),

manage-claude/workload-identity-federation Changed · +8 / -8 lines

from line 119
119119 -H "content-type: application/json" \
120120 -d @- <<'JSON' | jq -r '.content[] | select(.type == "text") | .text'
121121 {
122 "model": "claude-opus-5",
122 "model": "claude-opus-5-5",
123123 "max_tokens": 1024,
124124 "messages": [{"role": "user", "content": "Hello, Claude"}]
125125 }
from line 142
142142 )
143143 
144144 message = client.messages.create(
145 model="claude-opus-5",
145 model="claude-opus-5-5",
146146 max_tokens=1024,
147147 messages=[{"role": "user", "content": "Hello, Claude"}],
148148 )
from line 167
167167 });
168168 
169169 const message = await client.messages.create({
170 model: "claude-opus-5",
170 model: "claude-opus-5-5",
171171 max_tokens: 1024,
172172 messages: [{ role: "user", content: "Hello, Claude" }]
173173 });
from line 192
192192 )
193193 
194194 message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
195 Model: anthropic.ModelClaudeOpus5,
195 Model: anthropic.ModelClaudeOpus5_5,
196196 MaxTokens: 1024,
197197 Messages: []anthropic.MessageParam{
198198 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),
from line 239
239239 .build();
240240 
241241 var message = client.messages().create(MessageCreateParams.builder()
242 .model(Model.CLAUDE_OPUS_5)
242 .model(Model.CLAUDE_OPUS_5_5)
243243 .maxTokens(1024)
244244 .addUserMessage("Hello, Claude")
245245 .build());
from line 264
264264 
265265 var message = await client.Messages.Create(new()
266266 {
267 Model = Model.ClaudeOpus5,
267 Model = Model.ClaudeOpus5_5,
268268 MaxTokens = 1024,
269269 Messages = [new() { Role = Role.User, Content = "Hello, Claude" }],
270270 });
from line 297
297297 ));
298298 
299299 $message = $client->messages->create(
300 model: 'claude-opus-5',
300 model: 'claude-opus-5-5',
301301 maxTokens: 1024,
302302 messages: [['role' => 'user', 'content' => 'Hello, Claude']],
303303 );
from line 320
320320 )
321321 
322322 message = client.messages.create(
323 model: "claude-opus-5",
323 model: "claude-opus-5-5",
324324 max_tokens: 1024,
325325 messages: [{role: "user", content: "Hello, Claude"}]
326326 )

manage-claude/workspaces Changed · +9 / -9 lines

from line 865
865865 -H "anthropic-version: 2023-06-01" \
866866 -H "content-type: application/json" \
867867 -d '{
868 "model": "claude-opus-5",
868 "model": "claude-opus-5-5",
869869 "max_tokens": 1024,
870870 "messages": [{"role": "user", "content": "Hello, Claude"}]
871871 }' | grep -i '^anthropic-workspace-id'
from line 875
875875 # --debug prints the HTTP response, including the Anthropic-Workspace-Id
876876 # header, to stderr; > /dev/null hides the JSON body on stdout
877877 ant --debug messages create \
878 --model claude-opus-5 \
878 --model claude-opus-5-5 \
879879 --max-tokens 1024 \
880880 --message '{role: user, content: "Hello, Claude"}' > /dev/null
881881 ```
from line 884
884884 client = anthropic.Anthropic()
885885 
886886 response = client.messages.with_raw_response.create(
887 model="claude-opus-5",
887 model="claude-opus-5-5",
888888 max_tokens=1024,
889889 messages=[{"role": "user", "content": "Hello, Claude"}],
890890 )
from line 897
897897 
898898 const { response } = await client.messages
899899 .create({
900 model: "claude-opus-5",
900 model: "claude-opus-5-5",
901901 max_tokens: 1024,
902902 messages: [{ role: "user", content: "Hello, Claude" }]
903903 })
from line 910
910910 
911911 using var response = await client.WithRawResponse.Messages.Create(new()
912912 {
913 Model = Model.ClaudeOpus5,
913 Model = Model.ClaudeOpus5_5,
914914 MaxTokens = 1024,
915915 Messages = [new() { Role = Role.User, Content = "Hello, Claude" }]
916916 });
from line 925
925925 _, err := client.Messages.New(
926926 context.Background(),
927927 anthropic.MessageNewParams{
928 Model: anthropic.ModelClaudeOpus5,
928 Model: anthropic.ModelClaudeOpus5_5,
929929 MaxTokens: 1024,
930930 Messages: []anthropic.MessageParam{
931931 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),
from line 953
953953 
954954 HttpResponseFor<Message> response = client.messages().withRawResponse().create(
955955 MessageCreateParams.builder()
956 .model(Model.CLAUDE_OPUS_5)
956 .model(Model.CLAUDE_OPUS_5_5)
957957 .maxTokens(1024)
958958 .addUserMessage("Hello, Claude")
959959 .build()
from line 968
968968 $client = new Client();
969969 
970970 $response = $client->messages->raw->create([
971 'model' => Model::CLAUDE_OPUS_5,
971 'model' => Model::CLAUDE_OPUS_5_5,
972972 'maxTokens' => 1024,
973973 'messages' => [['role' => 'user', 'content' => 'Hello, Claude']],
974974 ]);
from line 989
989989 end
990990 
991991 client.messages.create(
992 model: Anthropic::Model::CLAUDE_OPUS_5,
992 model: Anthropic::Model::CLAUDE_OPUS_5_5,
993993 max_tokens: 1024,
994994 messages: [{ role: "user", content: "Hello, Claude" }],
995995 request_options: { middleware: [read_workspace_id] }

managed-agents/agent-setup Changed · +21 / -21 lines

from line 45
4545 -H "content-type: application/json" \
4646 -d '{
4747 "name": "Coding Assistant",
48 "model": "claude-opus-5",
48 "model": "claude-opus-5-5",
4949 "system": "You are a helpful coding agent.",
5050 "tools": [{"type": "agent_toolset_20260401"}]
5151 }')
from line 63
6363 ```markdown
6464 ---
6565 name: Coding Assistant
66 model: claude-opus-5
66 model: claude-opus-5-5
6767 tools:
6868 - type: agent_toolset_20260401
6969 ---
from line 76
7676 ```python Python
7777 agent = client.beta.agents.create(
7878 name="Coding Assistant",
79 model="claude-opus-5",
79 model="claude-opus-5-5",
8080 system="You are a helpful coding agent.",
8181 tools=[
8282 {"type": "agent_toolset_20260401"},
from line 87
8787 ```typescript TypeScript
8888 const agent = await client.beta.agents.create({
8989 name: "Coding Assistant",
90 model: "claude-opus-5",
90 model: "claude-opus-5-5",
9191 system: "You are a helpful coding agent.",
9292 tools: [{ type: "agent_toolset_20260401" }],
9393 });
from line 97
9797 var agent = await client.Beta.Agents.Create(new()
9898 {
9999 Name = "Coding Assistant",
100 Model = BetaManagedAgentsModel.ClaudeOpus5,
100 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
101101 System = "You are a helpful coding agent.",
102102 Tools =
103103 [
from line 113
113113 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
114114 Name: "Coding Assistant",
115115 Model: anthropic.BetaManagedAgentsModelConfigParams{
116 ID: anthropic.BetaManagedAgentsModelClaudeOpus5,
116 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
117117 },
118118 System: anthropic.String("You are a helpful coding agent."),
119119 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
from line 131
131131 var agent = client.beta().agents().create(
132132 AgentCreateParams.builder()
133133 .name("Coding Assistant")
134 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
134 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
135135 .system("You are a helpful coding agent.")
136136 .addTool(
137137 BetaManagedAgentsAgentToolset20260401Params.builder()
from line 145
145145 ```php PHP
146146 $agent = $client->beta->agents->create(
147147 name: 'Coding Assistant',
148 model: 'claude-opus-5',
148 model: 'claude-opus-5-5',
149149 system: 'You are a helpful coding agent.',
150150 tools: [
151151 BetaManagedAgentsAgentToolset20260401Params::with(
from line 158
158158 ```ruby Ruby
159159 agent = client.beta.agents.create(
160160 name: "Coding Assistant",
161 model: "claude-opus-5",
161 model: "claude-opus-5-5",
162162 system_: "You are a helpful coding agent.",
163163 tools: [{type: "agent_toolset_20260401"}]
164164 )
from line 177
177177 "type": "agent",
178178 "name": "Coding Assistant",
179179 "model": {
180 "id": "claude-opus-5",
180 "id": "claude-opus-5-5",
181181 "effort": { "type": "high" },
182182 "speed": "standard"
183183 },
from line 205
205205The `default_config` on the toolset shows its default [permission policy](https://platform.claude.com/docs/en/managed-agents/permission-policies), `always_allow`, which applies unless you configure one.
206206 
207207<Tip>
208 To use Claude Opus 5 or Claude Opus 4.8 with [fast mode](https://platform.claude.com/docs/en/build-with-claude/fast-mode), pass `model` as an object, for example: `{"id": "claude-opus-5", "speed": "fast"}`. See the fast mode page's [supported models](https://platform.claude.com/docs/en/build-with-claude/fast-mode#supported-models).
208 To use Claude Opus 5.5, Claude Opus 5, or Claude Opus 4.8 with [fast mode](https://platform.claude.com/docs/en/build-with-claude/fast-mode), pass `model` as an object, for example: `{"id": "claude-opus-5", "speed": "fast"}`. See the fast mode page's [supported models](https://platform.claude.com/docs/en/build-with-claude/fast-mode#supported-models).
209209</Tip>
210210 
211211<Tip>
from line 227
227227 -H "content-type: application/json" \
228228 -d '{
229229 "name": "Geo-pinned assistant",
230 "model": {"id": "claude-opus-5", "inference_geo": "us"},
230 "model": {"id": "claude-opus-5-5", "inference_geo": "us"},
231231 "system": "You are a helpful assistant."
232232 }')
233233 
from line 244
244244 ---
245245 name: Geo-pinned assistant
246246 model:
247 id: claude-opus-5
247 id: claude-opus-5-5
248248 inference_geo: us
249249 ---
250250 
from line 257
257257 agent = client.beta.agents.create(
258258 name="Geo-pinned assistant",
259259 model={
260 "id": "claude-opus-5",
260 "id": "claude-opus-5-5",
261261 "inference_geo": "us",
262262 },
263263 system="You are a helpful assistant.",
from line 269
269269 ```typescript TypeScript
270270 const agent = await client.beta.agents.create({
271271 name: "Geo-pinned assistant",
272 model: { id: "claude-opus-5", inference_geo: "us" },
272 model: { id: "claude-opus-5-5", inference_geo: "us" },
273273 system: "You are a helpful assistant.",
274274 });
275275 
from line 282
282282 Name = "Geo-pinned assistant",
283283 Model = new BetaManagedAgentsModelConfigParams
284284 {
285 ID = BetaManagedAgentsModel.ClaudeOpus5,
285 ID = BetaManagedAgentsModel.ClaudeOpus5_5,
286286 InferenceGeo = "us",
287287 },
288288 System = "You are a helpful assistant.",
from line 295
295295 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
296296 Name: "Geo-pinned assistant",
297297 Model: anthropic.BetaManagedAgentsModelConfigParams{
298 ID: anthropic.BetaManagedAgentsModelClaudeOpus5,
298 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
299299 InferenceGeo: anthropic.String("us"),
300300 },
301301 System: anthropic.String("You are a helpful assistant."),
from line 313
313313 .name("Geo-pinned assistant")
314314 .model(
315315 BetaManagedAgentsModelConfigParams.builder()
316 .id(BetaManagedAgentsModel.CLAUDE_OPUS_5)
316 .id(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
317317 .inferenceGeo("us")
318318 .build()
319319 )
from line 328
328328 $agent = $client->beta->agents->create(
329329 name: 'Geo-pinned assistant',
330330 model: BetaManagedAgentsModelConfigParams::with(
331 id: 'claude-opus-5',
331 id: 'claude-opus-5-5',
332332 inferenceGeo: 'us',
333333 ),
334334 system: 'You are a helpful assistant.',
from line 340
340340 ```ruby Ruby
341341 agent = client.beta.agents.create(
342342 name: "Geo-pinned assistant",
343 model: {id: "claude-opus-5", inference_geo: "us"},
343 model: {id: "claude-opus-5-5", inference_geo: "us"},
344344 system_: "You are a helpful assistant."
345345 )
346346 
from line 385
385385 ```markdown
386386 ---
387387 name: Coding Assistant
388 model: claude-opus-5
388 model: claude-opus-5-5
389389 tools:
390390 - type: agent_toolset_20260401
391391 ---

managed-agents/github Changed · +9 / -9 lines

from line 28
2828 --data @- <<JSON | jq -r '.id'
2929 {
3030 "name": "Code Reviewer",
31 "model": "claude-opus-5",
31 "model": "claude-opus-5-5",
3232 "system": "You are a code review assistant with access to GitHub.",
3333 "mcp_servers": [
3434 {
from line 58
5858 ```markdown
5959 ---
6060 name: Code Reviewer
61 model: claude-opus-5
61 model: claude-opus-5-5
6262 mcp_servers:
6363 - type: url
6464 name: github
from line 77
7777 ```python Python
7878 agent = client.beta.agents.create(
7979 name="Code Reviewer",
80 model="claude-opus-5",
80 model="claude-opus-5-5",
8181 system="You are a code review assistant with access to GitHub.",
8282 mcp_servers=[
8383 {
from line 99
9999 ```typescript TypeScript
100100 const agent = await client.beta.agents.create({
101101 name: "Code Reviewer",
102 model: "claude-opus-5",
102 model: "claude-opus-5-5",
103103 system: "You are a code review assistant with access to GitHub.",
104104 mcp_servers: [
105105 {
from line 122
122122 var agent = await client.Beta.Agents.Create(new()
123123 {
124124 Name = "Code Reviewer",
125 Model = BetaManagedAgentsModel.ClaudeOpus5,
125 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
126126 System = "You are a code review assistant with access to GitHub.",
127127 McpServers =
128128 [
from line 147
147147 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
148148 Name: "Code Reviewer",
149149 Model: anthropic.BetaManagedAgentsModelConfigParams{
150 ID: anthropic.BetaManagedAgentsModelClaudeOpus5,
150 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
151151 },
152152 System: anthropic.String("You are a code review assistant with access to GitHub."),
153153 MCPServers: []anthropic.BetaManagedAgentsURLMCPServerParams{
from line 179
179179 ```java Java
180180 var agent = client.beta().agents().create(AgentCreateParams.builder()
181181 .name("Code Reviewer")
182 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
182 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
183183 .system("You are a code review assistant with access to GitHub.")
184184 .addMcpServer(BetaManagedAgentsUrlMcpServerParams.builder()
185185 .type(BetaManagedAgentsUrlMcpServerParams.Type.URL)
from line 199
199199 ```php PHP
200200 $agent = $client->beta->agents->create(
201201 name: 'Code Reviewer',
202 model: 'claude-opus-5',
202 model: 'claude-opus-5-5',
203203 system: 'You are a code review assistant with access to GitHub.',
204204 mcpServers: [
205205 [
from line 221
221221 ```ruby Ruby
222222 agent = client.beta.agents.create(
223223 name: "Code Reviewer",
224 model: "claude-opus-5",
224 model: "claude-opus-5-5",
225225 system_: "You are a code review assistant with access to GitHub.",
226226 mcp_servers: [
227227 {

managed-agents/mcp-connector Changed · +9 / -9 lines

from line 35
3535 -d @- <<'EOF'
3636 {
3737 "name": "GitHub Assistant",
38 "model": "claude-opus-5",
38 "model": "claude-opus-5-5",
3939 "mcp_servers": [
4040 {
4141 "type": "url",
from line 62
6262 ```markdown
6363 ---
6464 name: GitHub Assistant
65 model: claude-opus-5
65 model: claude-opus-5-5
6666 mcp_servers:
6767 - type: url
6868 name: github
from line 79
7979 ```python Python
8080 agent = client.beta.agents.create(
8181 name="GitHub Assistant",
82 model="claude-opus-5",
82 model="claude-opus-5-5",
8383 mcp_servers=[
8484 {
8585 "type": "url",
from line 97
9797 ```typescript TypeScript
9898 const agent = await client.beta.agents.create({
9999 name: "GitHub Assistant",
100 model: "claude-opus-5",
100 model: "claude-opus-5-5",
101101 mcp_servers: [
102102 {
103103 type: "url",
from line 116
116116 var agent = await client.Beta.Agents.Create(new()
117117 {
118118 Name = "GitHub Assistant",
119 Model = BetaManagedAgentsModel.ClaudeOpus5,
119 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
120120 McpServers =
121121 [
122122 new() { Type = "url", Name = "github", Url = "https://api.githubcopilot.com/mcp/" },
from line 136
136136 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
137137 Name: "GitHub Assistant",
138138 Model: anthropic.BetaManagedAgentsModelConfigParams{
139 ID: anthropic.BetaManagedAgentsModelClaudeOpus5,
139 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
140140 },
141141 MCPServers: []anthropic.BetaManagedAgentsURLMCPServerParams{{
142142 Type: anthropic.BetaManagedAgentsURLMCPServerParamsTypeURL,
from line 166
166166 var agent = client.beta().agents().create(
167167 AgentCreateParams.builder()
168168 .name("GitHub Assistant")
169 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
169 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
170170 .addMcpServer(
171171 BetaManagedAgentsUrlMcpServerParams.builder()
172172 .type(BetaManagedAgentsUrlMcpServerParams.Type.URL)
from line 192
192192 ```php PHP
193193 $agent = $client->beta->agents->create(
194194 name: 'GitHub Assistant',
195 model: 'claude-opus-5',
195 model: 'claude-opus-5-5',
196196 mcpServers: [
197197 BetaManagedAgentsURLMCPServerParams::with(
198198 type: 'url',
from line 215
215215 ```ruby Ruby
216216 agent = client.beta.agents.create(
217217 name: "GitHub Assistant",
218 model: "claude-opus-5",
218 model: "claude-opus-5-5",
219219 mcp_servers: [
220220 {
221221 type: "url",

managed-agents/migration Changed · +34 / -34 lines

from line 34
3434 messages = [{"role": "user", "content": task}]
3535 while True:
3636 response = client.messages.create(
37 model="claude-opus-5",
37 model="claude-opus-5-5",
3838 max_tokens=1024,
3939 messages=messages,
4040 tools=tools,
from line 63
6363 const messages: Anthropic.MessageParam[] = [{ role: "user", content: task }];
6464 while (true) {
6565 const response = await client.messages.create({
66 model: "claude-opus-5",
66 model: "claude-opus-5-5",
6767 max_tokens: 1024,
6868 messages,
6969 tools
from line 96
9696 {
9797 var response = await client.Messages.Create(new()
9898 {
99 Model = Model.ClaudeOpus5,
99 Model = Model.ClaudeOpus5_5,
100100 MaxTokens = 1024,
101101 Messages = messages,
102102 Tools = tools,
from line 131
131131 }
132132 for {
133133 response, err := client.Messages.New(ctx, anthropic.MessageNewParams{
134 Model: anthropic.ModelClaudeOpus5,
134 Model: anthropic.ModelClaudeOpus5_5,
135135 MaxTokens: 1024,
136136 Messages: messages,
137137 Tools: tools,
from line 162
162162 .build());
163163 while (true) {
164164 var response = client.messages().create(MessageCreateParams.builder()
165 .model(Model.CLAUDE_OPUS_5)
165 .model(Model.CLAUDE_OPUS_5_5)
166166 .maxTokens(1024)
167167 .messages(messages)
168168 .tools(tools)
from line 191
191191 $messages = [['role' => 'user', 'content' => $task]];
192192 while (true) {
193193 $response = $client->messages->create(
194 model: 'claude-opus-5',
194 model: 'claude-opus-5-5',
195195 maxTokens: 1024,
196196 messages: $messages,
197197 tools: $tools,
from line 222
222222 messages = [{ role: "user", content: task }]
223223 loop do
224224 response = client.messages.create(
225 model: "claude-opus-5",
225 model: "claude-opus-5-5",
226226 max_tokens: 1024,
227227 messages: messages,
228228 tools: tools
from line 258
258258 -H "anthropic-beta: managed-agents-2026-04-01" \
259259 --json '{
260260 "name": "Task Runner",
261 "model": "claude-opus-5",
261 "model": "claude-opus-5-5",
262262 "tools": [{"type": "agent_toolset_20260401"}]
263263 }'
264264 )
from line 330
330330 ```markdown
331331 ---
332332 name: Task Runner
333 model: claude-opus-5
333 model: claude-opus-5-5
334334 tools:
335335 - type: agent_toolset_20260401
336336 ---
from line 341
341341 ```python Python
342342 agent = client.beta.agents.create(
343343 name="Task Runner",
344 model="claude-opus-5",
344 model="claude-opus-5-5",
345345 tools=[{"type": "agent_toolset_20260401"}],
346346 )
347347 
from line 363
363363 ```typescript TypeScript
364364 const agent = await client.beta.agents.create({
365365 name: "Task Runner",
366 model: "claude-opus-5",
366 model: "claude-opus-5-5",
367367 tools: [{ type: "agent_toolset_20260401" }]
368368 });
369369 
from line 394
394394 var agent = await client.Beta.Agents.Create(new()
395395 {
396396 Name = "Task Runner",
397 Model = BetaManagedAgentsModel.ClaudeOpus5,
397 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
398398 Tools =
399399 [
400400 new BetaManagedAgentsAgentToolset20260401Params
from line 442
442442 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
443443 Name: "Task Runner",
444444 Model: anthropic.BetaManagedAgentsModelConfigParams{
445 ID: anthropic.BetaManagedAgentsModelClaudeOpus5,
445 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
446446 },
447447 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
448448 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
from line 503
503503 var agent = client.beta().agents().create(
504504 AgentCreateParams.builder()
505505 .name("Task Runner")
506 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
506 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
507507 .addTool(
508508 BetaManagedAgentsAgentToolset20260401Params.builder()
509509 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
from line 546
546546 ```php PHP
547547 $agent = $client->beta->agents->create(
548548 name: 'Task Runner',
549 model: 'claude-opus-5',
549 model: 'claude-opus-5-5',
550550 tools: [
551551 BetaManagedAgentsAgentToolset20260401Params::with(
552552 type: 'agent_toolset_20260401',
from line 585
585585 ```ruby Ruby
586586 agent = client.beta.agents.create(
587587 name: "Task Runner",
588 model: "claude-opus-5",
588 model: "claude-opus-5-5",
589589 tools: [{type: "agent_toolset_20260401"}]
590590 )
591591 
from line 649
649649 
650650 
651651 options = ClaudeAgentOptions(
652 model="claude-opus-5",
652 model="claude-opus-5-5",
653653 system_prompt="You are a concise weather assistant.",
654654 mcp_servers={
655655 "weather": create_sdk_mcp_server("weather", "1.0", tools=[get_weather])
from line 678
678678 for await (const message of query({
679679 prompt: "What's the weather in Tokyo?",
680680 options: {
681 model: "claude-opus-5",
681 model: "claude-opus-5-5",
682682 systemPrompt: "You are a concise weather assistant.",
683683 mcpServers: {
684684 weather: createSdkMcpServer({ name: "weather", version: "1.0", tools: [getWeather] })
from line 700
700700 
701701 agent = client.beta.agents.create(
702702 name="weather-agent",
703 model="claude-opus-5",
703 model="claude-opus-5-5",
704704 system="You are a concise weather assistant.",
705705 tools=[
706706 {
from line 772
772772 
773773 const agent = await client.beta.agents.create({
774774 name: "weather-agent",
775 model: "claude-opus-5",
775 model: "claude-opus-5-5",
776776 system: "You are a concise weather assistant.",
777777 tools: [
778778 {
from line 856
856856 var agent = await client.Beta.Agents.Create(new()
857857 {
858858 Name = "weather-agent",
859 Model = BetaManagedAgentsModel.ClaudeOpus5,
859 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
860860 System = "You are a concise weather assistant.",
861861 Tools =
862862 [
from line 958
958958 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
959959 Name: "weather-agent",
960960 Model: anthropic.BetaManagedAgentsModelConfigParams{
961 ID: anthropic.BetaManagedAgentsModelClaudeOpus5,
961 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
962962 },
963963 System: anthropic.String("You are a concise weather assistant."),
964964 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
from line 1093
10931093 
10941094 var agent = client.beta().agents().create(AgentCreateParams.builder()
10951095 .name("weather-agent")
1096 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
1096 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
10971097 .system("You are a concise weather assistant.")
10981098 .addTool(BetaManagedAgentsCustomToolParams.builder()
10991099 .type(BetaManagedAgentsCustomToolParams.Type.CUSTOM)
from line 1182
11821182 
11831183 $agent = $client->beta->agents->create(
11841184 name: 'weather-agent',
1185 model: 'claude-opus-5',
1185 model: 'claude-opus-5-5',
11861186 system: 'You are a concise weather assistant.',
11871187 tools: [
11881188 BetaManagedAgentsCustomToolParams::with(
from line 1266
12661266 
12671267 agent = client.beta.agents.create(
12681268 name: "weather-agent",
1269 model: "claude-opus-5",
1269 model: "claude-opus-5-5",
12701270 system_: "You are a concise weather assistant.",
12711271 tools: [
12721272 {
from line 1358
13581358 -H "x-api-key: $ANTHROPIC_API_KEY" \
13591359 -H "anthropic-version: 2023-06-01" \
13601360 -H "anthropic-beta: managed-agents-2026-04-01" \
1361 --json "$(jq -n --argjson version "$AGENT_VERSION" '{version: $version, model: "claude-opus-5"}')"
1361 --json "$(jq -n --argjson version "$AGENT_VERSION" '{version: $version, model: "claude-opus-5-5"}')"
13621362 ```
13631363 
13641364 <MultiFileExample language="cli" label="CLI">
from line 1370
13701370 ```markdown
13711371 ---
13721372 name: Task Runner
1373 model: claude-opus-5
1373 model: claude-opus-5-5
13741374 tools:
13751375 - type: agent_toolset_20260401
13761376 ---
from line 1384
13841384 client.beta.agents.update(
13851385 agent.id,
13861386 version=agent.version,
1387 model="claude-opus-5",
1387 model="claude-opus-5-5",
13881388 )
13891389 ```
13901390 
from line 1391
13911391 ```typescript TypeScript
13921392 await client.beta.agents.update(agent.id, {
13931393 version: agent.version,
1394 model: "claude-opus-5"
1394 model: "claude-opus-5-5"
13951395 });
13961396 ```
13971397 
from line 1399
13991399 await client.Beta.Agents.Update(agent.ID, new()
14001400 {
14011401 Version = agent.Version,
1402 Model = BetaManagedAgentsModel.ClaudeOpus5,
1402 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
14031403 });
14041404 ```
14051405 
from line 1407
14071407 _, err = client.Beta.Agents.Update(ctx, agent.ID, anthropic.BetaAgentUpdateParams{
14081408 Version: agent.Version,
14091409 Model: anthropic.BetaManagedAgentsModelConfigParams{
1410 ID: anthropic.BetaManagedAgentsModelClaudeOpus5,
1410 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
14111411 },
14121412 })
14131413 if err != nil {
from line 1420
14201420 agent.id(),
14211421 AgentUpdateParams.builder()
14221422 .version(agent.version())
1423 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
1423 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
14241424 .build()
14251425 );
14261426 ```
from line 1429
14291429 $client->beta->agents->update(
14301430 $agent->id,
14311431 version: $agent->version,
1432 model: 'claude-opus-5',
1432 model: 'claude-opus-5-5',
14331433 );
14341434 ```
14351435 
from line 1437
14371437 client.beta.agents.update(
14381438 agent.id,
14391439 version: agent.version,
1440 model: "claude-opus-5"
1440 model: "claude-opus-5-5"
14411441 )
14421442 ```
14431443</CodeGroup>

managed-agents/multiagent-orchestration Changed · +19 / -19 lines

from line 46
4646 -d @- <<EOF
4747 {
4848 "name": "Engineering Lead",
49 "model": "claude-opus-5",
49 "model": "claude-opus-5-5",
5050 "system": "You coordinate engineering work. Delegate code review to the reviewer agent and test writing to the test agent.",
5151 "tools": [
5252 {
from line 74
7474 ```markdown
7575 ---
7676 name: Engineering Lead
77 model: claude-opus-5
77 model: claude-opus-5-5
7878 tools:
7979 - type: agent_toolset_20260401
8080 multiagent:
from line 114
114114 ```python Python
115115 coordinator = client.beta.agents.create(
116116 name="Engineering Lead",
117 model="claude-opus-5",
117 model="claude-opus-5-5",
118118 system="You coordinate engineering work. Delegate code review to the reviewer agent and test writing to the test agent.",
119119 tools=[
120120 {"type": "agent_toolset_20260401"},
from line 132
132132 ```typescript TypeScript
133133 const coordinator = await client.beta.agents.create({
134134 name: "Engineering Lead",
135 model: "claude-opus-5",
135 model: "claude-opus-5-5",
136136 system:
137137 "You coordinate engineering work. Delegate code review to the reviewer agent and test writing to the test agent.",
138138 tools: [{ type: "agent_toolset_20260401" }],
from line 150
150150 var coordinator = await client.Beta.Agents.Create(new()
151151 {
152152 Name = "Engineering Lead",
153 Model = BetaManagedAgentsModel.ClaudeOpus5,
153 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
154154 System = "You coordinate engineering work. Delegate code review to the reviewer agent and test writing to the test agent.",
155155 Tools =
156156 [
from line 170
170170 ```go Go
171171 coordinator, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
172172 Name: "Engineering Lead",
173 Model: anthropic.BetaManagedAgentsModelConfigParams{ID: anthropic.BetaManagedAgentsModelClaudeOpus5},
173 Model: anthropic.BetaManagedAgentsModelConfigParams{ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5},
174174 System: anthropic.String("You coordinate engineering work. Delegate code review to the reviewer agent and test writing to the test agent."),
175175 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
176176 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
from line 194
194194 var coordinator = client.beta().agents().create(
195195 AgentCreateParams.builder()
196196 .name("Engineering Lead")
197 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
197 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
198198 .system("You coordinate engineering work. Delegate code review to the reviewer agent and test writing to the test agent.")
199199 .addTool(
200200 BetaManagedAgentsAgentToolset20260401Params.builder()
from line 219
219219 ```php PHP
220220 $coordinator = $client->beta->agents->create(
221221 name: 'Engineering Lead',
222 model: 'claude-opus-5',
222 model: 'claude-opus-5-5',
223223 system: 'You coordinate engineering work. Delegate code review to the reviewer agent and test writing to the test agent.',
224224 tools: [
225225 ['type' => 'agent_toolset_20260401'],
from line 237
237237 ```ruby Ruby
238238 coordinator = client.beta.agents.create(
239239 name: "Engineering Lead",
240 model: "claude-opus-5",
240 model: "claude-opus-5-5",
241241 system: "You coordinate engineering work. Delegate code review to the reviewer agent and test writing to the test agent.",
242242 tools: [
243243 {type: "agent_toolset_20260401"}
from line 285
285285 "multiagent": {
286286 "type": "coordinator",
287287 "agents": [
288 {"type": "advisor", "model": "claude-opus-5"}
288 {"type": "advisor", "model": "claude-opus-5-5"}
289289 ]
290290 }
291291 }'
from line 434
434434 coordinator_id=$(curl --fail-with-body -sS "$BASE/v1/agents" "${H[@]}" --data @- <<EOF | jq -er '.id'
435435 {
436436 "name": "coordinator",
437 "model": "claude-opus-5",
437 "model": "claude-opus-5-5",
438438 "tools": [{"type": "agent_toolset_20260401"}],
439439 "multiagent": {
440440 "type": "coordinator",
from line 454
454454 ```markdown
455455 ---
456456 name: coordinator
457 model: claude-opus-5
457 model: claude-opus-5-5
458458 tools:
459459 - type: agent_toolset_20260401
460460 multiagent:
from line 494
494494 
495495 coordinator = client.beta.agents.create(
496496 name="coordinator",
497 model="claude-opus-5",
497 model="claude-opus-5-5",
498498 tools=[{"type": "agent_toolset_20260401"}],
499499 multiagent={
500500 "type": "coordinator",
from line 515
515515 
516516 const coordinator = await client.beta.agents.create({
517517 name: "coordinator",
518 model: "claude-opus-5",
518 model: "claude-opus-5-5",
519519 tools: [{ type: "agent_toolset_20260401" }],
520520 multiagent: {
521521 type: "coordinator",
from line 551
551551 var coordinator = await client.Beta.Agents.Create(new()
552552 {
553553 Name = "coordinator",
554 Model = BetaManagedAgentsModel.ClaudeOpus5,
554 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
555555 Tools =
556556 [
557557 new BetaManagedAgentsAgentToolset20260401Params
from line 596
596596 
597597 coordinator, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
598598 Name: "coordinator",
599 Model: anthropic.BetaManagedAgentsModelConfigParams{ID: anthropic.BetaManagedAgentsModelClaudeOpus5},
599 Model: anthropic.BetaManagedAgentsModelConfigParams{ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5},
600600 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
601601 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
602602 Type: anthropic.BetaManagedAgentsAgentToolset20260401ParamsTypeAgentToolset20260401,
from line 637
637637 var coordinator = client.beta().agents().create(
638638 AgentCreateParams.builder()
639639 .name("coordinator")
640 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
640 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
641641 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
642642 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
643643 .build())
from line 666
666666 
667667 $coordinator = $client->beta->agents->create(
668668 name: 'coordinator',
669 model: 'claude-opus-5',
669 model: 'claude-opus-5-5',
670670 tools: [
671671 ['type' => 'agent_toolset_20260401'],
672672 ],
from line 693
693693 
694694 coordinator = client.beta.agents.create(
695695 name: "coordinator",
696 model: "claude-opus-5",
696 model: "claude-opus-5-5",
697697 tools: [
698698 {type: "agent_toolset_20260401"}
699699 ],

managed-agents/permission-policies Changed · +28 / -28 lines

from line 41
4141 -H "content-type: application/json" \
4242 -d '{
4343 "name": "Coding Assistant",
44 "model": "claude-opus-5",
44 "model": "claude-opus-5-5",
4545 "tools": [
4646 {
4747 "type": "agent_toolset_20260401",
from line 62
6262 ```markdown
6363 ---
6464 name: Coding Assistant
65 model: claude-opus-5
65 model: claude-opus-5-5
6666 tools:
6767 - type: agent_toolset_20260401
6868 default_config:
from line 76
7676 ```python Python
7777 agent = client.beta.agents.create(
7878 name="Coding Assistant",
79 model="claude-opus-5",
79 model="claude-opus-5-5",
8080 tools=[
8181 {
8282 "type": "agent_toolset_20260401",
from line 91
9191 ```typescript TypeScript
9292 const agent = await client.beta.agents.create({
9393 name: "Coding Assistant",
94 model: "claude-opus-5",
94 model: "claude-opus-5-5",
9595 tools: [
9696 {
9797 type: "agent_toolset_20260401",
from line 109
109109 var agent = await client.Beta.Agents.Create(new()
110110 {
111111 Name = "Coding Assistant",
112 Model = BetaManagedAgentsModel.ClaudeOpus5,
112 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
113113 Tools =
114114 [
115115 new BetaManagedAgentsAgentToolset20260401Params
from line 128
128128 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
129129 Name: "Coding Assistant",
130130 Model: anthropic.BetaManagedAgentsModelConfigParams{
131 ID: "claude-opus-5",
131 ID: "claude-opus-5-5",
132132 },
133133 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
134134 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
from line 155
155155 var agent = client.beta().agents().create(
156156 AgentCreateParams.builder()
157157 .name("Coding Assistant")
158 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
158 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
159159 .addTool(
160160 BetaManagedAgentsAgentToolset20260401Params.builder()
161161 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
from line 181
181181 
182182 $agent = $client->beta->agents->create(
183183 name: 'Coding Assistant',
184 model: 'claude-opus-5',
184 model: 'claude-opus-5-5',
185185 tools: [
186186 BetaManagedAgentsAgentToolset20260401Params::with(
187187 type: 'agent_toolset_20260401',
from line 196
196196 ```ruby Ruby
197197 agent = client.beta.agents.create(
198198 name: "Coding Assistant",
199 model: "claude-opus-5",
199 model: "claude-opus-5-5",
200200 tools: [
201201 {
202202 type: "agent_toolset_20260401",
from line 228
228228 -H "content-type: application/json" \
229229 -d '{
230230 "name": "Dev Assistant",
231 "model": "claude-opus-5",
231 "model": "claude-opus-5-5",
232232 "mcp_servers": [
233233 {"type": "url", "name": "github", "url": "https://mcp.example.com/github"}
234234 ],
from line 254
254254 ```markdown
255255 ---
256256 name: Dev Assistant
257 model: claude-opus-5
257 model: claude-opus-5-5
258258 mcp_servers:
259259 - type: url
260260 name: github
from line 274
274274 ```python Python
275275 agent = client.beta.agents.create(
276276 name="Dev Assistant",
277 model="claude-opus-5",
277 model="claude-opus-5-5",
278278 mcp_servers=[
279279 {"type": "url", "name": "github", "url": "https://mcp.example.com/github"},
280280 ],
from line 294
294294 ```typescript TypeScript
295295 const agent = await client.beta.agents.create({
296296 name: "Dev Assistant",
297 model: "claude-opus-5",
297 model: "claude-opus-5-5",
298298 mcp_servers: [{ type: "url", name: "github", url: "https://mcp.example.com/github" }],
299299 tools: [
300300 { type: "agent_toolset_20260401" },
from line 315
315315 var agent = await client.Beta.Agents.Create(new()
316316 {
317317 Name = "Dev Assistant",
318 Model = BetaManagedAgentsModel.ClaudeOpus5,
318 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
319319 McpServers =
320320 [
321321 new()
from line 348
348348 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
349349 Name: "Dev Assistant",
350350 Model: anthropic.BetaManagedAgentsModelConfigParams{
351 ID: "claude-opus-5",
351 ID: "claude-opus-5-5",
352352 },
353353 MCPServers: []anthropic.BetaManagedAgentsURLMCPServerParams{{
354354 Type: anthropic.BetaManagedAgentsURLMCPServerParamsTypeURL,
from line 388
388388 var agent = client.beta().agents().create(
389389 AgentCreateParams.builder()
390390 .name("Dev Assistant")
391 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
391 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
392392 .addMcpServer(
393393 BetaManagedAgentsUrlMcpServerParams.builder()
394394 .type(BetaManagedAgentsUrlMcpServerParams.Type.URL)
from line 429
429429 
430430 $agent = $client->beta->agents->create(
431431 name: 'Dev Assistant',
432 model: 'claude-opus-5',
432 model: 'claude-opus-5-5',
433433 mcpServers: [
434434 BetaManagedAgentsURLMCPServerParams::with(
435435 type: 'url',
from line 455
455455 ```ruby Ruby
456456 agent = client.beta.agents.create(
457457 name: "Dev Assistant",
458 model: "claude-opus-5",
458 model: "claude-opus-5-5",
459459 mcp_servers: [
460460 {type: "url", name: "github", url: "https://mcp.example.com/github"}
461461 ],
from line 504
504504 ```markdown
505505 ---
506506 name: Coding Assistant
507 model: claude-opus-5
507 model: claude-opus-5-5
508508 tools:
509509 - type: agent_toolset_20260401
510510 default_config:
from line 696
696696 -H "content-type: application/json" \
697697 -d '{
698698 "name": "Ops Agent",
699 "model": "claude-opus-5",
699 "model": "claude-opus-5-5",
700700 "mcp_servers": [
701701 {"type": "url", "name": "github", "url": "https://mcp.example.com/github"}
702702 ],
from line 730
730730 ```markdown
731731 ---
732732 name: Ops Agent
733 model: claude-opus-5
733 model: claude-opus-5-5
734734 mcp_servers:
735735 - type: url
736736 name: github
from line 757
757757 ```python Python
758758 agent = client.beta.agents.create(
759759 name="Ops Agent",
760 model="claude-opus-5",
760 model="claude-opus-5-5",
761761 mcp_servers=[
762762 {"type": "url", "name": "github", "url": "https://mcp.example.com/github"},
763763 ],
from line 785
785785 ```typescript TypeScript
786786 const agent = await client.beta.agents.create({
787787 name: "Ops Agent",
788 model: "claude-opus-5",
788 model: "claude-opus-5-5",
789789 mcp_servers: [{ type: "url", name: "github", url: "https://mcp.example.com/github" }],
790790 tools: [
791791 {
from line 812
812812 var agent = await client.Beta.Agents.Create(new()
813813 {
814814 Name = "Ops Agent",
815 Model = BetaManagedAgentsModel.ClaudeOpus5,
815 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
816816 McpServers =
817817 [
818818 new()
from line 856
856856 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
857857 Name: "Ops Agent",
858858 Model: anthropic.BetaManagedAgentsModelConfigParams{
859 ID: "claude-opus-5",
859 ID: "claude-opus-5-5",
860860 },
861861 MCPServers: []anthropic.BetaManagedAgentsURLMCPServerParams{{
862862 Type: anthropic.BetaManagedAgentsURLMCPServerParamsTypeURL,
from line 908
908908 var agent = client.beta().agents().create(
909909 AgentCreateParams.builder()
910910 .name("Ops Agent")
911 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
911 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
912912 .addMcpServer(
913913 BetaManagedAgentsUrlMcpServerParams.builder()
914914 .type(BetaManagedAgentsUrlMcpServerParams.Type.URL)
from line 962
962962 
963963 $agent = $client->beta->agents->create(
964964 name: 'Ops Agent',
965 model: 'claude-opus-5',
965 model: 'claude-opus-5-5',
966966 mcpServers: [
967967 BetaManagedAgentsURLMCPServerParams::with(
968968 type: 'url',
from line 996
996996 ```ruby Ruby
997997 agent = client.beta.agents.create(
998998 name: "Ops Agent",
999 model: "claude-opus-5",
999 model: "claude-opus-5-5",
10001000 mcp_servers: [
10011001 {type: "url", name: "github", url: "https://mcp.example.com/github"}
10021002 ],

managed-agents/quickstart Changed · +12 / -11 lines

from line 43
4343 For Linux environments, download the release binary directly.
4444 
4545 ```bash
46 VERSION=1.33.0
46 VERSION=1.35.0
4747 OS=$(uname -s | tr '[:upper:]' '[:lower:]')
4848 case $(uname -m) in
4949 x86_64) ARCH=amd64 ;;
from line 94
9494 
9595 <Tab title="Java">
9696 ```groovy Gradle
97 implementation("com.anthropic:anthropic-java:2.63.0")
97 implementation("com.anthropic:anthropic-java:2.65.0")
9898 ```
9999 </Tab>
100100 
from line 148
148148 -d @- <<'EOF'
149149 {
150150 "name": "Coding Assistant",
151 "model": "claude-opus-5",
151 "model": "claude-opus-5-5",
152152 "system": "You are a helpful coding assistant. Write clean, well-documented code.",
153153 "tools": [
154154 {"type": "agent_toolset_20260401"}
from line 172
172172 ```markdown
173173 ---
174174 name: Coding Assistant
175 model: claude-opus-5
175 model: claude-opus-5-5
176176 tools:
177177 - type: agent_toolset_20260401
178178 ---
from line 193
193193 
194194 agent = client.beta.agents.create(
195195 name="Coding Assistant",
196 model="claude-opus-5",
196 model="claude-opus-5-5",
197197 system="You are a helpful coding assistant. Write clean, well-documented code.",
198198 tools=[
199199 {"type": "agent_toolset_20260401"},
from line 210
210210 
211211 const agent = await client.beta.agents.create({
212212 name: "Coding Assistant",
213 model: "claude-opus-5",
213 model: "claude-opus-5-5",
214214 system: "You are a helpful coding assistant. Write clean, well-documented code.",
215215 tools: [
216216 { type: "agent_toolset_20260401" },
from line 232
232232 var agent = await client.Beta.Agents.Create(new()
233233 {
234234 Name = "Coding Assistant",
235 Model = BetaManagedAgentsModel.ClaudeOpus5,
235 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
236236 System = "You are a helpful coding assistant. Write clean, well-documented code.",
237237 Tools =
238238 [
from line 263
263263 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
264264 Name: "Coding Assistant",
265265 Model: anthropic.BetaManagedAgentsModelConfigParams{
266 ID: anthropic.BetaManagedAgentsModelClaudeOpus5,
266 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
267267 },
268268 System: anthropic.String("You are a helpful coding assistant. Write clean, well-documented code."),
269269 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
from line 297
297297 
298298 var agent = client.beta().agents().create(AgentCreateParams.builder()
299299 .name("Coding Assistant")
300 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
300 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
301301 .system("You are a helpful coding assistant. Write clean, well-documented code.")
302302 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
303303 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
from line 314
314314 
315315 $agent = $client->beta->agents->create(
316316 name: 'Coding Assistant',
317 model: 'claude-opus-5',
317 model: 'claude-opus-5-5',
318318 system: 'You are a helpful coding assistant. Write clean, well-documented code.',
319319 tools: [
320320 ['type' => 'agent_toolset_20260401'],
from line 331
331331 
332332 agent = client.beta.agents.create(
333333 name: "Coding Assistant",
334 model: "claude-opus-5",
334 model: "claude-opus-5-5",
335335 system_: "You are a helpful coding assistant. Write clean, well-documented code.",
336336 tools: [{type: "agent_toolset_20260401"}]
337337 )
from line 381
381381 
382382 <File filename="environment.yaml">
383383 ```yaml
384 # yaml-language-server: $schema=https://platform.claude.com/schemas/ant/beta/environment.json
384385 name: quickstart-env
385386 config:
386387 type: cloud

managed-agents/reference Changed · +3 / -3 lines

from line 76
7676 </Tab>
7777 
7878 <Tab title="System events">
79 | Type | Description |
80 | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
81 | `system.message` | Append privileged system-level context that applies to the accompanying turn and all subsequent turns. Supported on Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5, and Claude Opus 4.8. On an unsupported primary model the event is rejected with `model_does_not_support_mid_conversation_system`. |
79 | Type | Description |
80 | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
81 | `system.message` | Append privileged system-level context that applies to the accompanying turn and all subsequent turns. Supported on Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, Claude Opus 5, and Claude Opus 4.8. On an unsupported primary model the event is rejected with `model_does_not_support_mid_conversation_system`. |
8282 </Tab>
8383 
8484 <Tab title="Event deltas">

managed-agents/self-hosted-sandboxes Changed · +6 / -5 lines

from line 96
9696 
9797 <File filename="environment.yaml">
9898 ```yaml
99 # yaml-language-server: $schema=https://platform.claude.com/schemas/ant/beta/environment.json
99100 name: self-hosted
100101 config:
101102 type: self_hosted
from line 221
220221 For Linux environments, download the release binary directly.
221222 
222223 ```bash
223 VERSION=1.33.0
224 VERSION=1.35.0
224225 OS=$(uname -s | tr '[:upper:]' '[:lower:]')
225226 case $(uname -m) in
226227 x86_64) ARCH=amd64 ;;
from line 259
258259 
259260 ```text
260261 FROM your-base-image
261 ARG ANT_VERSION=1.33.0
262 ARG ANT_VERSION=1.35.0
262263 ARG TARGETARCH
263264 RUN ARCH=$([ "$TARGETARCH" = "arm64" ] && echo arm64 || echo amd64) && \
264265 curl -fsSL "https://github.com/anthropics/anthropic-cli/releases/download/v${ANT_VERSION}/ant_${ANT_VERSION}_linux_${ARCH}.tar.gz" \
from line 1604
16031604 listed = await mcp_session.list_tools()
16041605 agent = await client.beta.agents.create(
16051606 name="Internal tools agent",
1606 model="claude-opus-5",
1607 model="claude-opus-5-5",
16071608 tools=[
16081609 {"type": "agent_toolset_20260401"},
16091610 *[to_custom_tool(tool) for tool in listed.tools],
from line 1633
16321633 
16331634 const agent = await client.beta.agents.create({
16341635 name: "Internal tools agent",
1635 model: "claude-opus-5",
1636 model: "claude-opus-5-5",
16361637 tools: [
16371638 { type: "agent_toolset_20260401" },
16381639 // The MCP fields map one to one onto a custom tool declaration.
from line 1752
17511752 
17521753 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
17531754 Name: "Internal tools agent",
1754 Model: anthropic.BetaManagedAgentsModelConfigParams{ID: anthropic.BetaManagedAgentsModelClaudeOpus5},
1755 Model: anthropic.BetaManagedAgentsModelConfigParams{ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5},
17551756 Tools: tools,
17561757 })
17571758 if err != nil {

managed-agents/sessions Changed · +9 / -9 lines

from line 659
659659 "agent": {
660660 "type": "agent_with_overrides",
661661 "id": "$AGENT_ID",
662 "model": {"id": "claude-opus-5", "inference_geo": "us"}
662 "model": {"id": "claude-opus-5-5", "inference_geo": "us"}
663663 },
664664 "environment_id": "$ENVIRONMENT_ID"
665665 }
from line 675
675675 type: agent_with_overrides
676676 id: $AGENT_ID
677677 model:
678 id: claude-opus-5
678 id: claude-opus-5-5
679679 inference_geo: us
680680 environment_id: $ENVIRONMENT_ID
681681 YAML
from line 689
689689 "type": "agent_with_overrides",
690690 "id": agent.id,
691691 # Replaces the agent's `model` in full: restate `id`, add `inference_geo` to pin.
692 "model": {"id": "claude-opus-5", "inference_geo": "us"},
692 "model": {"id": "claude-opus-5-5", "inference_geo": "us"},
693693 },
694694 environment_id=environment.id,
695695 )
from line 702
702702 type: "agent_with_overrides",
703703 id: agent.id,
704704 // Replaces the agent's `model` in full: restate `id`, add `inference_geo` to pin.
705 model: { id: "claude-opus-5", inference_geo: "us" }
705 model: { id: "claude-opus-5-5", inference_geo: "us" }
706706 },
707707 environment_id: environment.id
708708 });
from line 719
719719 // Replaces the agent's `model` in full: restate `id`, add `inference_geo` to pin.
720720 Model = new BetaManagedAgentsModelConfigParams
721721 {
722 ID = BetaManagedAgentsModel.ClaudeOpus5,
722 ID = BetaManagedAgentsModel.ClaudeOpus5_5,
723723 InferenceGeo = "us",
724724 },
725725 },
from line 736
736736 ID: agent.ID,
737737 // Replaces the agent's `model` in full: restate `id`, add `inference_geo` to pin.
738738 Model: anthropic.BetaManagedAgentsModelConfigParams{
739 ID: anthropic.BetaManagedAgentsModelClaudeOpus5,
739 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
740740 InferenceGeo: anthropic.String("us"),
741741 },
742742 },
from line 756
756756 .id(agent.id())
757757 // Replaces the agent's `model` in full: restate `id`, add `inference_geo` to pin.
758758 .model(BetaManagedAgentsModelConfigParams.builder()
759 .id(BetaManagedAgentsModel.CLAUDE_OPUS_5)
759 .id(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
760760 .inferenceGeo("us")
761761 .build())
762762 .build())
from line 772
772772 type: 'agent_with_overrides',
773773 // Replaces the agent's `model` in full: restate `id`, add `inference_geo` to pin.
774774 model: BetaManagedAgentsModelConfigParams::with(
775 id: 'claude-opus-5',
775 id: 'claude-opus-5-5',
776776 inferenceGeo: 'us',
777777 ),
778778 ),
from line 787
787787 type: :agent_with_overrides,
788788 id: agent.id,
789789 # Replaces the agent's `model` in full: restate `id`, add `inference_geo` to pin.
790 model: {id: "claude-opus-5", inference_geo: "us"}
790 model: {id: "claude-opus-5-5", inference_geo: "us"}
791791 },
792792 environment_id: environment.id
793793 )

managed-agents/skills Changed · +9 / -9 lines

from line 227
227227 --json @- <<'EOF'
228228 {
229229 "name": "Financial Analyst",
230 "model": "claude-opus-5",
230 "model": "claude-opus-5-5",
231231 "system": "You are a financial analysis agent.",
232232 "skills": [
233233 {"type": "anthropic", "skill_id": "xlsx"},
from line 247
247247 ```markdown
248248 ---
249249 name: Financial Analyst
250 model: claude-opus-5
250 model: claude-opus-5-5
251251 skills:
252252 - type: anthropic
253253 skill_id: xlsx
from line 264
264264 ```python Python
265265 agent = client.beta.agents.create(
266266 name="Financial Analyst",
267 model="claude-opus-5",
267 model="claude-opus-5-5",
268268 system="You are a financial analysis agent.",
269269 skills=[
270270 {
from line 283
283283 ```typescript TypeScript
284284 const agent = await client.beta.agents.create({
285285 name: "Financial Analyst",
286 model: "claude-opus-5",
286 model: "claude-opus-5-5",
287287 system: "You are a financial analysis agent.",
288288 skills: [
289289 {
from line 305
305305 var agent = await client.Beta.Agents.Create(new()
306306 {
307307 Name = "Financial Analyst",
308 Model = BetaManagedAgentsModel.ClaudeOpus5,
308 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
309309 System = "You are a financial analysis agent.",
310310 Skills =
311311 [
from line 319
319319 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
320320 Name: "Financial Analyst",
321321 Model: anthropic.BetaManagedAgentsModelConfigParams{
322 ID: anthropic.BetaManagedAgentsModelClaudeOpus5,
322 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
323323 },
324324 System: anthropic.String("You are a financial analysis agent."),
325325 Skills: []anthropic.BetaManagedAgentsSkillParamsUnion{
from line 346
346346 var agent = client.beta().agents().create(
347347 AgentCreateParams.builder()
348348 .name("Financial Analyst")
349 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
349 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
350350 .system("You are a financial analysis agent.")
351351 .addSkill(
352352 BetaManagedAgentsAnthropicSkillParams.builder()
from line 368
368368 ```php PHP
369369 $agent = $client->beta->agents->create(
370370 name: 'Financial Analyst',
371 model: 'claude-opus-5',
371 model: 'claude-opus-5-5',
372372 system: 'You are a financial analysis agent.',
373373 skills: [
374374 ['type' => 'anthropic', 'skillID' => 'xlsx'],
from line 380
380380 ```ruby Ruby
381381 agent = client.beta.agents.create(
382382 name: "Financial Analyst",
383 model: "claude-opus-5",
383 model: "claude-opus-5-5",
384384 system_: "You are a financial analysis agent.",
385385 skills: [
386386 {type: "anthropic", skill_id: "xlsx"},

managed-agents/tools Changed · +27 / -27 lines

from line 47
4747 -d @- <<'EOF'
4848 {
4949 "name": "Coding Assistant",
50 "model": "claude-opus-5",
50 "model": "claude-opus-5-5",
5151 "tools": [
5252 {
5353 "type": "agent_toolset_20260401",
from line 70
7070 ```markdown
7171 ---
7272 name: Coding Assistant
73 model: claude-opus-5
73 model: claude-opus-5-5
7474 tools:
7575 - type: agent_toolset_20260401
7676 configs:
from line 84
8484 ```python Python
8585 agent = client.beta.agents.create(
8686 name="Coding Assistant",
87 model="claude-opus-5",
87 model="claude-opus-5-5",
8888 tools=[
8989 {
9090 "type": "agent_toolset_20260401",
from line 99
9999 ```typescript TypeScript
100100 const agent = await client.beta.agents.create({
101101 name: "Coding Assistant",
102 model: "claude-opus-5",
102 model: "claude-opus-5-5",
103103 tools: [
104104 {
105105 type: "agent_toolset_20260401",
from line 115
115115 var agent = await client.Beta.Agents.Create(new()
116116 {
117117 Name = "Coding Assistant",
118 Model = new("claude-opus-5"),
118 Model = new("claude-opus-5-5"),
119119 Tools =
120120 [
121121 new BetaManagedAgentsAgentToolset20260401Params
from line 134
134134 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
135135 Name: "Coding Assistant",
136136 Model: anthropic.BetaManagedAgentsModelConfigParams{
137 ID: "claude-opus-5",
137 ID: "claude-opus-5-5",
138138 },
139139 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
140140 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
from line 158
158158 
159159 var agent = client.beta().agents().create(AgentCreateParams.builder()
160160 .name("Coding Assistant")
161 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
161 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
162162 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
163163 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
164164 .addConfig(BetaManagedAgentsWebFetchToolConfigParams.builder()
from line 174
174174 
175175 $agent = $client->beta->agents->create(
176176 name: 'Coding Assistant',
177 model: 'claude-opus-5',
177 model: 'claude-opus-5-5',
178178 tools: [
179179 BetaManagedAgentsAgentToolset20260401Params::with(
180180 type: 'agent_toolset_20260401',
from line 189
189189 ```ruby Ruby
190190 agent = client.beta.agents.create(
191191 name: "Coding Assistant",
192 model: "claude-opus-5",
192 model: "claude-opus-5-5",
193193 tools: [
194194 {
195195 type: :agent_toolset_20260401,
from line 278
278278 -d @- <<'EOF'
279279 {
280280 "name": "Research Agent",
281 "model": "claude-opus-5",
281 "model": "claude-opus-5-5",
282282 "tools": [
283283 {
284284 "type": "agent_toolset_20260401",
from line 317
317317 ```markdown
318318 ---
319319 name: Research Agent
320 model: claude-opus-5
320 model: claude-opus-5-5
321321 tools:
322322 - type: agent_toolset_20260401
323323 configs:
from line 342
342342 
343343 agent = client.beta.agents.create(
344344 name="Research Agent",
345 model="claude-opus-5",
345 model="claude-opus-5-5",
346346 tools=[
347347 {
348348 "type": "agent_toolset_20260401",
from line 376
376376 
377377 const agent = await client.beta.agents.create({
378378 name: "Research Agent",
379 model: "claude-opus-5",
379 model: "claude-opus-5-5",
380380 tools: [
381381 {
382382 type: "agent_toolset_20260401",
from line 415
415415 var agent = await client.Beta.Agents.Create(new()
416416 {
417417 Name = "Research Agent",
418 Model = BetaManagedAgentsModel.ClaudeOpus5,
418 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
419419 Tools =
420420 [
421421 new BetaManagedAgentsAgentToolset20260401Params
from line 459
459459 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
460460 Name: "Research Agent",
461461 Model: anthropic.BetaManagedAgentsModelConfigParams{
462 ID: anthropic.BetaManagedAgentsModelClaudeOpus5,
462 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
463463 },
464464 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
465465 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
from line 513
513513 
514514 var agent = client.beta().agents().create(AgentCreateParams.builder()
515515 .name("Research Agent")
516 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
516 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
517517 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
518518 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
519519 .addConfig(BetaManagedAgentsWebSearchToolConfigParams.builder()
from line 551
551551 
552552 $agent = $client->beta->agents->create(
553553 name: 'Research Agent',
554 model: 'claude-opus-5',
554 model: 'claude-opus-5-5',
555555 tools: [
556556 BetaManagedAgentsAgentToolset20260401Params::with(
557557 type: 'agent_toolset_20260401',
from line 584
584584 
585585 agent = client.beta.agents.create(
586586 name: "Research Agent",
587 model: "claude-opus-5",
587 model: "claude-opus-5-5",
588588 tools: [
589589 {
590590 type: :agent_toolset_20260401,
from line 691
691691 -d @- <<'EOF'
692692 {
693693 "name": "Weather Agent",
694 "model": "claude-opus-5",
694 "model": "claude-opus-5-5",
695695 "tools": [
696696 {
697697 "type": "agent_toolset_20260401"
from line 723
723723 ```markdown
724724 ---
725725 name: Weather Agent
726 model: claude-opus-5
726 model: claude-opus-5-5
727727 tools:
728728 - type: agent_toolset_20260401
729729 - type: custom
from line 745
745745 ```python Python
746746 agent = client.beta.agents.create(
747747 name="Weather Agent",
748 model="claude-opus-5",
748 model="claude-opus-5-5",
749749 tools=[
750750 {
751751 "type": "agent_toolset_20260401",
from line 769
769769 ```typescript TypeScript
770770 const agent = await client.beta.agents.create({
771771 name: "Weather Agent",
772 model: "claude-opus-5",
772 model: "claude-opus-5-5",
773773 tools: [
774774 { type: "agent_toolset_20260401" },
775775 {
from line 793
793793 var agent = await client.Beta.Agents.Create(new()
794794 {
795795 Name = "Weather Agent",
796 Model = new("claude-opus-5"),
796 Model = new("claude-opus-5-5"),
797797 Tools =
798798 [
799799 new BetaManagedAgentsAgentToolset20260401Params
from line 824
824824 agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
825825 Name: "Weather Agent",
826826 Model: anthropic.BetaManagedAgentsModelConfigParams{
827 ID: "claude-opus-5",
827 ID: "claude-opus-5-5",
828828 },
829829 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
830830 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
from line 859
859859 
860860 var agent = client.beta().agents().create(AgentCreateParams.builder()
861861 .name("Weather Agent")
862 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5)
862 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
863863 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
864864 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
865865 .build())
from line 886
886886 
887887 $agent = $client->beta->agents->create(
888888 name: 'Weather Agent',
889 model: 'claude-opus-5',
889 model: 'claude-opus-5-5',
890890 tools: [
891891 BetaManagedAgentsAgentToolset20260401Params::with(
892892 type: 'agent_toolset_20260401',
from line 907
907907 ```ruby Ruby
908908 agent = client.beta.agents.create(
909909 name: "Weather Agent",
910 model: "claude-opus-5",
910 model: "claude-opus-5-5",
911911 tools: [
912912 {type: :agent_toolset_20260401},
913913 {

models/fable-5-1/migration-guide Changed · +3 / -3 lines

from line 954
954954 messages.5.content.0: Invalid `signature` in `thinking` block. The block is bound to a different conversation. Remove the block, or set `thinking.block_binding.prefix_mismatch_behavior` to "drop_block". That setting requires the `thinking-binding-controls-2026-08-01` value in the `anthropic-beta` header.
955955 ```
956956 
957 The API enforces the check for new accounts created on or after August 31, 2026. For accounts created earlier, the API records the mismatch but doesn't act on it unless the request sets `thinking.block_binding.prefix_mismatch_behavior`, which opts into enforcement. On those accounts, if you send the `thinking-binding-controls-2026-08-01` beta header and leave that field unset, the response lists each block that failed the check in `input_transformations` as a `thinking_mismatch_allowed` entry. Anthropic plans to enforce the check for every account on future models, so make your application compatible now: the same patterns keep the prompt cache warm, and you can test against the check from any account by sending `prefix_mismatch_behavior`. If you ship a tool or framework that people run with their own API key, test that way before launch: your key is probably on an older account, and your users on new ones hit the check before you do. To see whether your own account is enforced by default, send a request that edits history without the beta header: a 400 that names the header means it is.
957 The API enforces the check for new accounts created on or after August 31, 2026. For accounts created earlier, the API records the mismatch but doesn't act on it unless the request sets `thinking.block_binding.prefix_mismatch_behavior`, which opts into enforcement. On those accounts, if you send the `thinking-binding-controls-2026-08-01` beta header and leave that field unset, the response lists each block that failed the check in `input_transformations` as a `thinking_mismatch_allowed` entry. Make your application compatible with the check regardless of your account's age: the same patterns keep the prompt cache warm, and you can test against the check from any account by sending `prefix_mismatch_behavior`. If you ship a tool or framework that people run with their own API key, test that way before launch: your key is probably on an older account, and your users on new ones hit the check before you do. To see whether your own account is enforced by default, send a request that edits history without the beta header: a 400 that names the header means it is.
958958 
959959 The error is permanent for that request body: an automatic retry loop won't clear it. To continue without the invalidated reasoning instead of failing, strip the `thinking` blocks from the history and retry once, or send the `thinking-binding-controls-2026-08-01` [beta header](https://platform.claude.com/docs/en/api/beta-headers) and set `prefix_mismatch_behavior` to `"drop_block"` (the default is `"error"`). With `"drop_block"`, the API drops the mismatched block and every thinking block after it in the conversation, and reports each with `reason: "prefix_binding_mismatch"` in the response's `input_transformations` array:
960960 
from line 1222
12221222 
12231223 * Editing, reordering, or removing earlier turns. This includes deleting old tool results, snipping turns out of the middle of the transcript, and client-side compaction that keeps recent turns and their thinking blocks verbatim behind a summary (including background compaction that swaps its summary in a few turns later). Instead, use server-side [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction) or [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) ([tool result clearing](https://platform.claude.com/docs/en/build-with-claude/context-editing#tool-result-clearing) for old tool results), or one of the client-side compaction shapes in [Trim context on the server](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-trim-context).
12241224 * Injecting content you don't persist, for example a per-turn reminder appended after the `tool_result` blocks and removed on the next request. Instead, send the reminder as a [turn-scoped system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#turn-scoped-system-messages) and leave it in the history.
1225 * Rebuilding the top-level `system` prompt or the `tools` array between requests in the same conversation, for example to update the current date or to add or remove a tool. Instead, append a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) that carries the new instruction ("The current date is 2026-09-14.") or `tool_addition` and `tool_removal` blocks.
1225 * Rebuilding the top-level `system` prompt or the `tools` array between requests in the same conversation, for example to update the current date or to add or remove a tool. Instead, append a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) that carries the new instruction ("The current date is 2026-09-14.") or `tool_addition` and `tool_removal` blocks. A tool that wasn't declared in `tools` at the start can be [defined inside the `tool_addition` block](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#define-tools-in-a-message-beta) (beta header `inline-tools-2026-09-15`).
12261226 * An image or document URL that serves different bytes on a later request. The check covers the bytes, not the URL string, so a rotating signed URL for the same file is fine. For content you reference across turns, upload it once with the [Files API](https://platform.claude.com/docs/en/build-with-claude/files) and send the `file_id`, or send base64.
12271227 
12281228 Each replacement also keeps earlier turns byte-identical and preserves the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) hits that editing the history, `system` prompt, or `tools` array would lose.
from line 1535
15351535 
15361536 The value applies to the following user turn and every later turn until another `role: "system"` message changes it. Only the named levels are accepted (`low`, `medium`, `high`, `xhigh`, `max`), and the `mid-conversation-output-config-2026-07-01` beta header is required. See [Per-message effort](https://platform.claude.com/docs/en/build-with-claude/effort#change-effort-mid-conversation-beta).
15371537 
15382. **Change instructions and tools with mid-conversation system messages:** To change instructions or tools partway through a session, append a [`role: "system"` message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages), with `tool_addition` and `tool_removal` blocks for tool changes (beta header `mid-conversation-tool-changes-2026-07-01`, with the full tool set declared in `tools` at session start). This preserves prompt cache hits on earlier turns and keeps the conversation history append-only. The same message replaces forced `tool_choice` when a specific tool must run on the current turn (see [Breaking changes](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-breaking-changes)). For a reminder that applies to one turn only, send it as a separate text-only `role: "system"` message with `clear_at: "next_user_message"` ([turn-scoped system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#turn-scoped-system-messages), beta header `mid-conversation-system-clear-at-2026-08-21`) and leave it in the history: it stops rendering after the next user message and costs no tokens once cleared. A message that carries `tool_addition` or `tool_removal` blocks can't be turn-scoped.
15382. **Change instructions and tools with mid-conversation system messages:** To change instructions or tools partway through a session, append a [`role: "system"` message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages), with `tool_addition` and `tool_removal` blocks for tool changes (beta header `mid-conversation-tool-changes-2026-07-01`, with the full tool set declared in `tools` at session start). With the `inline-tools-2026-09-15` beta header instead, a `tool_addition` block can [carry the tool's full definition](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#define-tools-in-a-message-beta), so a tool that is unknown at session start doesn't need to be in `tools`. This preserves prompt cache hits on earlier turns and keeps the conversation history append-only. The same message replaces forced `tool_choice` when a specific tool must run on the current turn (see [Breaking changes](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-breaking-changes)). For a reminder that applies to one turn only, send it as a separate text-only `role: "system"` message with `clear_at: "next_user_message"` ([turn-scoped system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#turn-scoped-system-messages), beta header `mid-conversation-system-clear-at-2026-08-21`) and leave it in the history: it stops rendering after the next user message and costs no tokens once cleared. A message that carries `tool_addition` or `tool_removal` blocks can't be turn-scoped.
15391539 
154015403. **Use `fallbacks: "default"` for refusals:** Keep handling `stop_reason: "refusal"` and reading `stop_details.category` before response content. To re-run refused requests on another model automatically, set `fallbacks: "default"` (beta, `server-side-fallback-2026-07-01` header). `"default"` retries a declined request on the model Anthropic recommends for that category. The permitted fallback targets for Claude Fable 5.1 are Claude Opus 4.8 (`claude-opus-4-8`) and Claude Opus 5 (`claude-opus-5`). An explicit `fallbacks` list may name either. The fallback model doesn't receive Claude Fable 5.1's thinking blocks. If you build the retry yourself, [fallback credit](https://platform.claude.com/docs/en/build-with-claude/fallback-credit) applies on the same terms as Claude Fable 5. See [Refusals and fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback).
15411541