One read of Claude Developer Platformapi-20261021T163725Z
121 pages moved out of 808 read.
Pages moved
121
significant first
Pages read
808
in this capture
Captured
16:37 UTC
Corpus hash
8d3bd0be75f5
corpus-hash
What this read moved
76-100 of 121, page 4 of 5This capture is too large to show at once. Changes 76-100 of 121 are below, significant first; the rest are on the following screens.
managed-agents/migration Changed · +16 / -58 lines
from line 91
9191 ```
9292
9393 ```csharp C#
94 List<MessageParam> messages = [new() { Role = Role.User, Content = task }];
94 List<MessageParam> messages = [new UserMessageParam { Content = task }];
9595 while (true)
9696 {
9797 var response = await client.Messages.Create(new()
from line 101
101101 Messages = messages,
102102 Tools = tools,
103103 });
104 messages.Add(new()
104 messages.Add(new AssistantMessageParam
105105 {
106 Role = Role.Assistant,
107106 Content = new([.. response.Content.Select(block => new ContentBlockParam(block.Json))]),
108107 });
109108 if (response.StopReason == StopReason.EndTurn)
from line 114
115114 if (block.Value is ToolUseBlock toolUse)
116115 {
117116 var result = ExecuteTool(toolUse.Name, toolUse.Input);
118 messages.Add(new()
117 messages.Add(new UserMessageParam
119118 {
120 Role = Role.User,
121119 Content = new([new ToolResultBlockParam { ToolUseID = toolUse.ID, Content = result }]),
122120 });
123121 }
from line 154
156154
157155 ```java Java
158156 var messages = new ArrayList<MessageParam>();
159 messages.add(MessageParam.builder()
160 .role(MessageParam.Role.USER)
161 .content(task)
162 .build());
157 messages.add(MessageParam.ofUser(task));
163158 while (true) {
164159 var response = client.messages().create(MessageCreateParams.builder()
165160 .model(Model.CLAUDE_OPUS_5_5)
from line 169
174169 for (var block : response.content()) {
175170 block.toolUse().ifPresent(toolUse -> {
176171 var result = executeTool(toolUse.name(), toolUse._input());
177 messages.add(MessageParam.builder()
178 .role(MessageParam.Role.USER)
179 .contentOfBlockParams(List.of(
180 ContentBlockParam.ofToolResult(ToolResultBlockParam.builder()
181 .toolUseId(toolUse.id())
182 .content(result)
183 .build())))
184 .build());
172 messages.add(MessageParam.ofUserOfContentBlockParams(List.of(
173 ContentBlockParam.ofToolResult(ToolResultBlockParam.builder()
174 .toolUseId(toolUse.id())
175 .content(result)
176 .build()))));
185177 });
186178 }
187179 }
from line 307
315307 {
316308 Name = "Task Runner",
317309 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
318 Tools =
319 [
320 new BetaManagedAgentsAgentToolset20260401Params
321 {
322 Type = "agent_toolset_20260401",
323 },
324 ],
310 Tools = [new BetaManagedAgentsAgentToolset20260401Params()],
325311 });
326312
327313 var session = await client.Beta.Sessions.Create(new()
from line 314
328314 {
329315 Agent = new BetaManagedAgentsAgentParams
330316 {
331 Type = "agent",
332317 ID = agent.ID,
333318 Version = agent.Version,
334319 },
from line 328
343328 [
344329 new BetaManagedAgentsUserMessageEventParams
345330 {
346 Type = "user.message",
347 Content = [new BetaManagedAgentsTextBlock { Type = "text", Text = task }],
331 Content = [new BetaManagedAgentsTextBlock { Text = task }],
348332 },
349333 ],
350334 });
from line 408
424408 AgentCreateParams.builder()
425409 .name("Task Runner")
426410 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
427 .addTool(
428 BetaManagedAgentsAgentToolset20260401Params.builder()
429 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
430 .build()
431 )
411 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build())
432412 .build()
433413 );
434414
from line 416
436416 SessionCreateParams.builder()
437417 .agent(
438418 BetaManagedAgentsAgentParams.builder()
439 .type(BetaManagedAgentsAgentParams.Type.AGENT)
440419 .id(agent.id())
441420 .version(agent.version())
442421 .build()
from line 430
451430 EventSendParams.builder()
452431 .addEvent(
453432 BetaManagedAgentsUserMessageEventParams.builder()
454 .type(BetaManagedAgentsUserMessageEventParams.Type.USER_MESSAGE)
455433 .addTextContent(task)
456434 .build()
457435 )
from line 446
468446 name: 'Task Runner',
469447 model: 'claude-opus-5-5',
470448 tools: [
471 BetaManagedAgentsAgentToolset20260401Params::with(
472 type: 'agent_toolset_20260401',
473 ),
449 BetaManagedAgentsAgentToolset20260401Params::with(),
474450 ],
475451 );
476452
477453 $session = $client->beta->sessions->create(
478454 agent: BetaManagedAgentsAgentParams::with(
479 type: 'agent',
480455 id: $agent->id,
481456 version: $agent->version,
482457 ),
from line 763
788763 [
789764 new BetaManagedAgentsCustomToolParams
790765 {
791 Type = "custom",
792766 Name = "get_weather",
793767 Description = "Get the current weather for a city.",
794768 InputSchema = new()
from line 789
815789 {
816790 Agent = new BetaManagedAgentsAgentParams
817791 {
818 Type = "agent",
819792 ID = agent.ID,
820793 Version = agent.Version,
821794 },
from line 805
832805 [
833806 new BetaManagedAgentsUserMessageEventParams
834807 {
835 Type = "user.message",
836 Content = [new BetaManagedAgentsTextBlock { Type = "text", Text = "What's the weather in Tokyo?" }],
808 Content = [new BetaManagedAgentsTextBlock { Text = "What's the weather in Tokyo?" }],
837809 },
838810 ],
839811 });
from line 827
855827 [
856828 new BetaManagedAgentsUserCustomToolResultEventParams
857829 {
858 Type = "user.custom_tool_result",
859830 CustomToolUseID = toolUse.ID,
860 Content =
861 [
862 new BetaManagedAgentsTextBlock
863 {
864 Type = "text",
865 Text = result,
866 },
867 ],
831 Content = [new BetaManagedAgentsTextBlock { Text = result }],
868832 },
869833 ],
870834 });
from line 988
1024988 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
1025989 .system("You are a concise weather assistant.")
1026990 .addTool(BetaManagedAgentsCustomToolParams.builder()
1027 .type(BetaManagedAgentsCustomToolParams.Type.CUSTOM)
1028991 .name("get_weather")
1029992 .description("Get the current weather for a city.")
1030993 .inputSchema(BetaManagedAgentsCustomToolInputSchema.builder()
from line 1009
10461009
10471010 var session = client.beta().sessions().create(SessionCreateParams.builder()
10481011 .agent(BetaManagedAgentsAgentParams.builder()
1049 .type(BetaManagedAgentsAgentParams.Type.AGENT)
10501012 .id(agent.id())
10511013 .version(agent.version())
10521014 .build())
from line 1022
10601022 session.id(),
10611023 EventSendParams.builder()
10621024 .addEvent(BetaManagedAgentsUserMessageEventParams.builder()
1063 .type(BetaManagedAgentsUserMessageEventParams.Type.USER_MESSAGE)
10641025 .addTextContent("What's the weather in Tokyo?")
10651026 .build())
10661027 .build());
from line 1042
10811042 session.id(),
10821043 EventSendParams.builder()
10831044 .addEvent(BetaManagedAgentsUserCustomToolResultEventParams.builder()
1084 .type(BetaManagedAgentsUserCustomToolResultEventParams.Type.USER_CUSTOM_TOOL_RESULT)
10851045 .customToolUseId(toolUse.id())
10861046 .addTextContent(result)
10871047 .build())
from line 1076
11161076 system: 'You are a concise weather assistant.',
11171077 tools: [
11181078 BetaManagedAgentsCustomToolParams::with(
1119 type: 'custom',
11201079 name: 'get_weather',
11211080 description: 'Get the current weather for a city.',
11221081 inputSchema: BetaManagedAgentsCustomToolInputSchema::with(
from line 1095
11361095
11371096 $session = $client->beta->sessions->create(
11381097 agent: BetaManagedAgentsAgentParams::with(
1139 type: 'agent',
11401098 id: $agent->id,
11411099 version: $agent->version,
11421100 ),
managed-agents/multiagent-orchestration Changed · +8 / -58 lines
from line 234
234234 Name = "Engineering Lead",
235235 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
236236 System = "You coordinate engineering work. Delegate code review to the reviewer agent and test writing to the test agent.",
237 Tools =
238 [
239 new BetaManagedAgentsAgentToolset20260401Params
240 {
241 Type = BetaManagedAgentsAgentToolset20260401ParamsType.AgentToolset20260401,
242 },
243 ],
237 Tools = [new BetaManagedAgentsAgentToolset20260401Params()],
244238 Multiagent = new BetaManagedAgentsMultiagent20261001Params
245239 {
246240 Subagents = new BetaManagedAgentsMultiagentSubagentsEnabledParams
from line 279
285279 .name("Engineering Lead")
286280 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
287281 .system("You coordinate engineering work. Delegate code review to the reviewer agent and test writing to the test agent.")
288 .addTool(
289 BetaManagedAgentsAgentToolset20260401Params.builder()
290 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
291 .build()
292 )
282 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build())
293283 .multiagent(BetaManagedAgentsMultiagent20261001Params.builder()
294284 .subagents(BetaManagedAgentsMultiagentSubagentsEnabledParams.builder()
295285 .addPredefinedAgent(BetaManagedAgentsAgentParams.builder()
296 .type(BetaManagedAgentsAgentParams.Type.AGENT)
297286 .id(reviewerAgent.id())
298287 .build())
299288 .addPredefinedAgent(BetaManagedAgentsAgentParams.builder()
300 .type(BetaManagedAgentsAgentParams.Type.AGENT)
301289 .id(testWriterAgent.id())
302290 .build())
303291 .build())
from line 571
583571 [
584572 new()
585573 {
586 Type = BetaManagedAgentsUrlMcpServerParamsType.Url,
587574 Name = "github",
588575 Url = "https://api.githubcopilot.com/mcp/",
589576 },
590577 ],
591 Tools =
592 [
593 new BetaManagedAgentsMcpToolsetParams
594 {
595 Type = BetaManagedAgentsMcpToolsetParamsType.McpToolset,
596 McpServerName = "github",
597 },
598 ],
578 Tools = [new BetaManagedAgentsMcpToolsetParams { McpServerName = "github" }],
599579 });
600580
601581 var leadAgent = await client.Beta.Agents.Create(new()
from line 582
602582 {
603583 Name = "lead",
604584 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
605 Tools =
606 [
607 new BetaManagedAgentsAgentToolset20260401Params
608 {
609 Type = BetaManagedAgentsAgentToolset20260401ParamsType.AgentToolset20260401,
610 },
611 ],
585 Tools = [new BetaManagedAgentsAgentToolset20260401Params()],
612586 Multiagent = new BetaManagedAgentsMultiagent20261001Params
613587 {
614588 Subagents = new BetaManagedAgentsMultiagentSubagentsEnabledParams
615589 {
616 PredefinedAgents =
617 [
618 new BetaManagedAgentsAgentParams
619 {
620 Type = BetaManagedAgentsAgentParamsType.Agent,
621 ID = researchAgent.ID,
622 },
623 ],
590 PredefinedAgents = [new BetaManagedAgentsAgentParams { ID = researchAgent.ID }],
624591 },
625592 },
626593 });
from line 648
681648 .model(BetaManagedAgentsModel.CLAUDE_HAIKU_5_5)
682649 .addMcpServer(BetaManagedAgentsUrlMcpServerParams.builder()
683650 .name("github")
684 .type(BetaManagedAgentsUrlMcpServerParams.Type.URL)
685651 .url("https://api.githubcopilot.com/mcp/")
686652 .build())
687653 .addTool(BetaManagedAgentsMcpToolsetParams.builder()
688 .type(BetaManagedAgentsMcpToolsetParams.Type.MCP_TOOLSET)
689654 .mcpServerName("github")
690655 .build())
691656 .build()
from line 660
695660 AgentCreateParams.builder()
696661 .name("lead")
697662 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
698 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
699 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
700 .build())
663 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build())
701664 .multiagent(BetaManagedAgentsMultiagent20261001Params.builder()
702665 .subagents(BetaManagedAgentsMultiagentSubagentsEnabledParams.builder()
703666 .addPredefinedAgent(BetaManagedAgentsAgentParams.builder()
704 .type(BetaManagedAgentsAgentParams.Type.AGENT)
705667 .id(researcher.id())
706668 .build())
707669 .build())
from line 916
954916 Name = "Contract Reviewer",
955917 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
956918 System = "You review contracts. When you're asked to review more than a few contracts, start a workflow run that reads them in parallel and combines the findings. Review one or two contracts yourself, without a run.",
957 Tools =
958 [
959 new BetaManagedAgentsAgentToolset20260401Params
960 {
961 Type = BetaManagedAgentsAgentToolset20260401ParamsType.AgentToolset20260401,
962 },
963 ],
964 // The configuration class sets the type for you.
919 Tools = [new BetaManagedAgentsAgentToolset20260401Params()],
965920 Multiagent = new BetaManagedAgentsMultiagent20261001Params
966921 {
967922 Workflows = new BetaManagedAgentsMultiagentWorkflowsEnabledParams(),
from line 953
998953 .name("Contract Reviewer")
999954 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
1000955 .system("You review contracts. When you're asked to review more than a few contracts, start a workflow run that reads them in parallel and combines the findings. Review one or two contracts yourself, without a run.")
1001 .addTool(
1002 BetaManagedAgentsAgentToolset20260401Params.builder()
1003 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
1004 .build()
1005 )
1006 // The configuration class sets the type for you.
956 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build())
1007957 .multiagent(BetaManagedAgentsMultiagent20261001Params.builder()
1008958 .workflows(BetaManagedAgentsMultiagentWorkflowsEnabledParams.builder().build())
1009959 .build())
managed-agents/permission-policies Changed · +18 / -74 lines
from line 114
114114 [
115115 new BetaManagedAgentsAgentToolset20260401Params
116116 {
117 Type = BetaManagedAgentsAgentToolset20260401ParamsType.AgentToolset20260401,
118117 DefaultConfig = new()
119118 {
120 PermissionPolicy = new BetaManagedAgentsAlwaysAskPolicy { Type = "always_ask" },
119 PermissionPolicy = new BetaManagedAgentsAlwaysAskPolicy(),
121120 },
122121 },
123122 ],
from line 157
158157 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
159158 .addTool(
160159 BetaManagedAgentsAgentToolset20260401Params.builder()
161 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
162160 .defaultConfig(
163161 BetaManagedAgentsAgentToolsetDefaultConfigParams.builder()
164 .permissionPolicy(
165 BetaManagedAgentsAlwaysAskPolicy.builder()
166 .type(BetaManagedAgentsAlwaysAskPolicy.Type.ALWAYS_ASK)
167 .build()
168 )
162 .permissionPolicy(BetaManagedAgentsAlwaysAskPolicy.builder().build())
169163 .build()
170164 )
171165 .build()
from line 178
184178 model: 'claude-opus-5-5',
185179 tools: [
186180 BetaManagedAgentsAgentToolset20260401Params::with(
187 type: 'agent_toolset_20260401',
188181 defaultConfig: BetaManagedAgentsAgentToolsetDefaultConfigParams::with(
189 permissionPolicy: BetaManagedAgentsAlwaysAskPolicy::with(type: 'always_ask'),
182 permissionPolicy: BetaManagedAgentsAlwaysAskPolicy::with(),
190183 ),
191184 ),
192185 ],
from line 313
320313 [
321314 new()
322315 {
323 Type = BetaManagedAgentsUrlMcpServerParamsType.Url,
324316 Name = "github",
325317 Url = "https://mcp.example.com/github",
326318 },
from line 319
327319 ],
328320 Tools =
329321 [
330 new BetaManagedAgentsAgentToolset20260401Params
331 {
332 Type = BetaManagedAgentsAgentToolset20260401ParamsType.AgentToolset20260401,
333 },
322 new BetaManagedAgentsAgentToolset20260401Params(),
334323 new BetaManagedAgentsMcpToolsetParams
335324 {
336 Type = BetaManagedAgentsMcpToolsetParamsType.McpToolset,
337325 McpServerName = "github",
338326 DefaultConfig = new()
339327 {
340 PermissionPolicy = new BetaManagedAgentsAlwaysAllowPolicy { Type = "always_allow" },
328 PermissionPolicy = new BetaManagedAgentsAlwaysAllowPolicy(),
341329 },
342330 },
343331 ],
from line 379
391379 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
392380 .addMcpServer(
393381 BetaManagedAgentsUrlMcpServerParams.builder()
394 .type(BetaManagedAgentsUrlMcpServerParams.Type.URL)
395382 .name("github")
396383 .url("https://mcp.example.com/github")
397384 .build()
398385 )
386 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build())
399387 .addTool(
400 BetaManagedAgentsAgentToolset20260401Params.builder()
401 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
402 .build()
403 )
404 .addTool(
405388 BetaManagedAgentsMcpToolsetParams.builder()
406 .type(BetaManagedAgentsMcpToolsetParams.Type.MCP_TOOLSET)
407389 .mcpServerName("github")
408390 .defaultConfig(
409391 BetaManagedAgentsMcpToolsetDefaultConfigParams.builder()
410 .permissionPolicy(
411 BetaManagedAgentsAlwaysAllowPolicy.builder()
412 .type(BetaManagedAgentsAlwaysAllowPolicy.Type.ALWAYS_ALLOW)
413 .build()
414 )
392 .permissionPolicy(BetaManagedAgentsAlwaysAllowPolicy.builder().build())
415393 .build()
416394 )
417395 .build()
from line 410
432410 model: 'claude-opus-5-5',
433411 mcpServers: [
434412 BetaManagedAgentsURLMCPServerParams::with(
435 type: 'url',
436413 name: 'github',
437414 url: 'https://mcp.example.com/github',
438415 ),
439416 ],
440417 tools: [
441 BetaManagedAgentsAgentToolset20260401Params::with(
442 type: 'agent_toolset_20260401',
443 ),
418 BetaManagedAgentsAgentToolset20260401Params::with(),
444419 BetaManagedAgentsMCPToolsetParams::with(
445 type: 'mcp_toolset',
446420 mcpServerName: 'github',
447421 defaultConfig: BetaManagedAgentsMCPToolsetDefaultConfigParams::with(
448 permissionPolicy: BetaManagedAgentsAlwaysAllowPolicy::with(type: 'always_allow'),
422 permissionPolicy: BetaManagedAgentsAlwaysAllowPolicy::with(),
449423 ),
450424 ),
451425 ],
from line 544
570544 [
571545 new BetaManagedAgentsAgentToolset20260401Params
572546 {
573 Type = BetaManagedAgentsAgentToolset20260401ParamsType.AgentToolset20260401,
574547 DefaultConfig = new()
575548 {
576 PermissionPolicy = new BetaManagedAgentsAlwaysAllowPolicy { Type = "always_allow" },
549 PermissionPolicy = new BetaManagedAgentsAlwaysAllowPolicy(),
577550 },
578551 Configs =
579552 [
580553 new BetaManagedAgentsBashToolConfigParams
581554 {
582 PermissionPolicy = new BetaManagedAgentsAlwaysAskPolicy { Type = "always_ask" },
555 PermissionPolicy = new BetaManagedAgentsAlwaysAskPolicy(),
583556 },
584557 ],
585558 },
from line 591
618591 var tools = List.of(
619592 AgentCreateParams.Tool.ofAgentToolset20260401(
620593 BetaManagedAgentsAgentToolset20260401Params.builder()
621 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
622594 .defaultConfig(
623595 BetaManagedAgentsAgentToolsetDefaultConfigParams.builder()
624 .permissionPolicy(
625 BetaManagedAgentsAlwaysAllowPolicy.builder()
626 .type(BetaManagedAgentsAlwaysAllowPolicy.Type.ALWAYS_ALLOW)
627 .build()
628 )
596 .permissionPolicy(BetaManagedAgentsAlwaysAllowPolicy.builder().build())
629597 .build()
630598 )
631599 .addConfig(
632600 BetaManagedAgentsBashToolConfigParams.builder()
633 .permissionPolicy(
634 BetaManagedAgentsAlwaysAskPolicy.builder()
635 .type(BetaManagedAgentsAlwaysAskPolicy.Type.ALWAYS_ASK)
636 .build()
637 )
601 .permissionPolicy(BetaManagedAgentsAlwaysAskPolicy.builder().build())
638602 .build()
639603 )
640604 .build()
from line 615
651615
652616 $tools = [
653617 BetaManagedAgentsAgentToolset20260401Params::with(
654 type: 'agent_toolset_20260401',
655618 defaultConfig: BetaManagedAgentsAgentToolsetDefaultConfigParams::with(
656 permissionPolicy: BetaManagedAgentsAlwaysAllowPolicy::with(type: 'always_allow'),
619 permissionPolicy: BetaManagedAgentsAlwaysAllowPolicy::with(),
657620 ),
658621 configs: [
659622 BetaManagedAgentsBashToolConfigParams::with(
660 permissionPolicy: BetaManagedAgentsAlwaysAskPolicy::with(type: 'always_ask'),
623 permissionPolicy: BetaManagedAgentsAlwaysAskPolicy::with(),
661624 ),
662625 ],
663626 ),
from line 789
826789 [
827790 new()
828791 {
829 Type = BetaManagedAgentsUrlMcpServerParamsType.Url,
830792 Name = "github",
831793 Url = "https://mcp.example.com/github",
832794 },
from line 797
835797 [
836798 new BetaManagedAgentsAgentToolset20260401Params
837799 {
838 Type = BetaManagedAgentsAgentToolset20260401ParamsType.AgentToolset20260401,
839800 DefaultConfig = new()
840801 {
841802 PermissionPolicy = new BetaManagedAgentsAutoPolicy(),
from line 805
844805 [
845806 new BetaManagedAgentsBashToolConfigParams
846807 {
847 PermissionPolicy = new BetaManagedAgentsAlwaysAskPolicy { Type = "always_ask" },
808 PermissionPolicy = new BetaManagedAgentsAlwaysAskPolicy(),
848809 },
849810 ],
850811 },
851812 new BetaManagedAgentsMcpToolsetParams
852813 {
853 Type = BetaManagedAgentsMcpToolsetParamsType.McpToolset,
854814 McpServerName = "github",
855815 DefaultConfig = new()
856816 {
from line 880
920880 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
921881 .addMcpServer(
922882 BetaManagedAgentsUrlMcpServerParams.builder()
923 .type(BetaManagedAgentsUrlMcpServerParams.Type.URL)
924883 .name("github")
925884 .url("https://mcp.example.com/github")
926885 .build()
from line 886
927886 )
928887 .addTool(
929888 BetaManagedAgentsAgentToolset20260401Params.builder()
930 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
931889 .defaultConfig(
932890 BetaManagedAgentsAgentToolsetDefaultConfigParams.builder()
933891 .permissionPolicy(BetaManagedAgentsAutoPolicy.builder().build())
from line 893
935893 )
936894 .addConfig(
937895 BetaManagedAgentsBashToolConfigParams.builder()
938 .permissionPolicy(
939 BetaManagedAgentsAlwaysAskPolicy.builder()
940 .type(BetaManagedAgentsAlwaysAskPolicy.Type.ALWAYS_ASK)
941 .build()
942 )
896 .permissionPolicy(BetaManagedAgentsAlwaysAskPolicy.builder().build())
943897 .build()
944898 )
945899 .build()
from line 900
946900 )
947901 .addTool(
948902 BetaManagedAgentsMcpToolsetParams.builder()
949 .type(BetaManagedAgentsMcpToolsetParams.Type.MCP_TOOLSET)
950903 .mcpServerName("github")
951904 .defaultConfig(
952905 BetaManagedAgentsMcpToolsetDefaultConfigParams.builder()
from line 927
974927 model: 'claude-opus-5-5',
975928 mcpServers: [
976929 BetaManagedAgentsURLMCPServerParams::with(
977 type: 'url',
978930 name: 'github',
979931 url: 'https://mcp.example.com/github',
980932 ),
from line 933
981933 ],
982934 tools: [
983935 BetaManagedAgentsAgentToolset20260401Params::with(
984 type: 'agent_toolset_20260401',
985936 defaultConfig: BetaManagedAgentsAgentToolsetDefaultConfigParams::with(
986937 permissionPolicy: BetaManagedAgentsAutoPolicy::with(),
987938 ),
988939 configs: [
989940 BetaManagedAgentsBashToolConfigParams::with(
990 permissionPolicy: BetaManagedAgentsAlwaysAskPolicy::with(type: 'always_ask'),
941 permissionPolicy: BetaManagedAgentsAlwaysAskPolicy::with(),
991942 ),
992943 ],
993944 ),
994945 BetaManagedAgentsMCPToolsetParams::with(
995 type: 'mcp_toolset',
996946 mcpServerName: 'github',
997947 defaultConfig: BetaManagedAgentsMCPToolsetDefaultConfigParams::with(
998948 permissionPolicy: BetaManagedAgentsAutoPolicy::with(),
from line 1171
12211171 [
12221172 new BetaManagedAgentsUserToolConfirmationEventParams
12231173 {
1224 Type = BetaManagedAgentsUserToolConfirmationEventParamsType.UserToolConfirmation,
12251174 ToolUseID = agentToolUseEvent.ID,
12261175 Result = "allow",
12271176 },
from line 1184
12351184 [
12361185 new BetaManagedAgentsUserToolConfirmationEventParams
12371186 {
1238 Type = BetaManagedAgentsUserToolConfirmationEventParamsType.UserToolConfirmation,
12391187 ToolUseID = mcpToolUseEvent.ID,
12401188 Result = "deny",
12411189 DenyMessage = "Don't create issues in the production project. Use the staging project.",
from line 1230
12821230 EventSendParams.builder()
12831231 .addEvent(
12841232 BetaManagedAgentsUserToolConfirmationEventParams.builder()
1285 .type(BetaManagedAgentsUserToolConfirmationEventParams.Type.USER_TOOL_CONFIRMATION)
12861233 .toolUseId(agentToolUseEvent.id())
12871234 .result(BetaManagedAgentsUserToolConfirmationEventParams.Result.ALLOW)
12881235 .build()
from line 1243
12961243 EventSendParams.builder()
12971244 .addEvent(
12981245 BetaManagedAgentsUserToolConfirmationEventParams.builder()
1299 .type(BetaManagedAgentsUserToolConfirmationEventParams.Type.USER_TOOL_CONFIRMATION)
13001246 .toolUseId(mcpToolUseEvent.id())
13011247 .result(BetaManagedAgentsUserToolConfirmationEventParams.Result.DENY)
13021248 .denyMessage("Don't create issues in the production project. Use the staging project.")
from line 1260
13141260 $session->id,
13151261 events: [
13161262 ManagedAgentsUserToolConfirmationEventParams::with(
1317 type: 'user.tool_confirmation',
13181263 toolUseID: $agentToolUseEvent->id,
13191264 result: 'allow',
13201265 ),
from line 1271
13261271 $session->id,
13271272 events: [
13281273 ManagedAgentsUserToolConfirmationEventParams::with(
1329 type: 'user.tool_confirmation',
13301274 toolUseID: $mcpToolUseEvent->id,
13311275 result: 'deny',
13321276 denyMessage: "Don't create issues in the production project. Use the staging project.",
managed-agents/quickstart Changed · +3 / -14 lines
from line 100
100100
101101 <Tab title="Java">
102102 ```groovy Gradle
103 implementation("com.anthropic:anthropic-java:2.75.0")
103 implementation("com.anthropic:anthropic-java:3.0.0")
104104 ```
105105 </Tab>
106106
from line 238
238238 Name = "Coding Assistant",
239239 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
240240 System = "You are a helpful coding assistant. Write clean, well-documented code.",
241 Tools =
242 [
243 new BetaManagedAgentsAgentToolset20260401Params
244 {
245 Type = "agent_toolset_20260401",
246 },
247 ],
241 Tools = [new BetaManagedAgentsAgentToolset20260401Params()],
248242 });
249243
250244 Console.WriteLine($"Agent ID: {agent.ID}, version: {agent.Version}");
from line 305
311305 .name("Coding Assistant")
312306 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
313307 .system("You are a helpful coding assistant. Write clean, well-documented code.")
314 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
315 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
316 .build())
308 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build())
317309 .build());
318310
319311 IO.println("Agent ID: " + agent.id() + ", version: " + agent.version());
from line 726
734726 [
735727 new BetaManagedAgentsUserMessageEventParams
736728 {
737 Type = "user.message",
738729 Content =
739730 [
740731 new BetaManagedAgentsTextBlock
741732 {
742 Type = "text",
743733 Text = "Create a Python script that generates the first 20 Fibonacci numbers and saves them to fibonacci.txt",
744734 },
745735 ],
from line 811
821811 // Send the user message after the stream opens
822812 client.beta().sessions().events().send(session.id(), EventSendParams.builder()
823813 .addEvent(BetaManagedAgentsUserMessageEventParams.builder()
824 .type(BetaManagedAgentsUserMessageEventParams.Type.USER_MESSAGE)
825814 .addTextContent("Create a Python script that generates the first 20 Fibonacci numbers and saves them to fibonacci.txt")
826815 .build())
827816 .build());
managed-agents/scheduled-deployments Changed · +1 / -14 lines
from line 124
124124 [
125125 new BetaManagedAgentsUserMessageEventParams
126126 {
127 Type = BetaManagedAgentsUserMessageEventParamsType.UserMessage,
128 Content =
129 [
130 new BetaManagedAgentsTextBlock
131 {
132 Type = BetaManagedAgentsTextBlockType.Text,
133 Text = "Run the weekly compliance scan.",
134 },
135 ],
127 Content = [new BetaManagedAgentsTextBlock { Text = "Run the weekly compliance scan." }],
136128 },
137129 ],
138130 Schedule = new BetaManagedAgentsScheduleParams
139131 {
140 Type = BetaManagedAgentsScheduleParamsType.Cron,
141132 Expression = "0 20 * * 5",
142133 Timezone = "America/New_York",
143134 },
from line 170
179170 .environmentId(environment.id())
180171 .addInitialEvent(
181172 BetaManagedAgentsUserMessageEventParams.builder()
182 .type(BetaManagedAgentsUserMessageEventParams.Type.USER_MESSAGE)
183173 .addTextContent("Run the weekly compliance scan.")
184174 .build()
185175 )
186176 .schedule(
187177 BetaManagedAgentsScheduleParams.builder()
188 .type(BetaManagedAgentsScheduleParams.Type.CRON)
189178 .expression("0 20 * * 5")
190179 .timezone("America/New_York")
191180 .build()
from line 335
346335 {
347336 Budget = new()
348337 {
349 Type = BetaManagedAgentsBudgetLimitType.Limit,
350338 MaxListCost = new() { Amount = "2000", Currency = BetaCurrency.Usd },
351339 },
352340 });
from line 362
374362 deployment.id(),
375363 DeploymentUpdateParams.builder()
376364 .budget(BetaManagedAgentsBudgetLimit.builder()
377 .type(BetaManagedAgentsBudgetLimit.Type.LIMIT)
378365 .maxListCost(BetaMonetaryAmount.builder()
379366 .amount("2000")
380367 .currency(BetaCurrency.USD)
managed-agents/secure-deployment Changed · +6 / -20 lines
from line 522
522522 [
523523 new BetaManagedAgentsAgentToolset20260401Params
524524 {
525 Type = BetaManagedAgentsAgentToolset20260401ParamsType.AgentToolset20260401,
526525 DefaultConfig = new()
527526 {
528527 Enabled = false,
529 PermissionPolicy = new BetaManagedAgentsAlwaysAskPolicy { Type = "always_ask" },
528 PermissionPolicy = new BetaManagedAgentsAlwaysAskPolicy(),
530529 },
531530 Configs =
532531 [
from line 532
533532 new BetaManagedAgentsReadToolConfigParams
534533 {
535534 Enabled = true,
536 PermissionPolicy = new BetaManagedAgentsAlwaysAllowPolicy { Type = "always_allow" },
535 PermissionPolicy = new BetaManagedAgentsAlwaysAllowPolicy(),
537536 },
538537 new BetaManagedAgentsWriteToolConfigParams
539538 {
from line 549
550549 },
551550 new BetaManagedAgentsCustomToolParams
552551 {
553 Type = "custom",
554552 Name = "lookup_order",
555553 Description = "Look up one order by its ID. Returns the status, the items, and the delivery date.",
556554 InputSchema = new()
from line 629
631629 var tools = List.of(
632630 AgentCreateParams.Tool.ofAgentToolset20260401(
633631 BetaManagedAgentsAgentToolset20260401Params.builder()
634 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
635632 .defaultConfig(
636633 BetaManagedAgentsAgentToolsetDefaultConfigParams.builder()
637634 .enabled(false)
638 .permissionPolicy(
639 BetaManagedAgentsAlwaysAskPolicy.builder()
640 .type(BetaManagedAgentsAlwaysAskPolicy.Type.ALWAYS_ASK)
641 .build()
642 )
635 .permissionPolicy(BetaManagedAgentsAlwaysAskPolicy.builder().build())
643636 .build()
644637 )
645638 .addConfig(
646639 BetaManagedAgentsReadToolConfigParams.builder()
647640 .enabled(true)
648 .permissionPolicy(
649 BetaManagedAgentsAlwaysAllowPolicy.builder()
650 .type(BetaManagedAgentsAlwaysAllowPolicy.Type.ALWAYS_ALLOW)
651 .build()
652 )
641 .permissionPolicy(BetaManagedAgentsAlwaysAllowPolicy.builder().build())
653642 .build()
654643 )
655644 .addConfig(
from line 658
669658 ),
670659 AgentCreateParams.Tool.ofCustom(
671660 BetaManagedAgentsCustomToolParams.builder()
672 .type(BetaManagedAgentsCustomToolParams.Type.CUSTOM)
673661 .name("lookup_order")
674662 .description("Look up one order by its ID. Returns the status, the items, and the delivery date.")
675663 .inputSchema(
from line 691
703691
704692 $tools = [
705693 BetaManagedAgentsAgentToolset20260401Params::with(
706 type: 'agent_toolset_20260401',
707694 defaultConfig: BetaManagedAgentsAgentToolsetDefaultConfigParams::with(
708695 enabled: false,
709 permissionPolicy: BetaManagedAgentsAlwaysAskPolicy::with(type: 'always_ask'),
696 permissionPolicy: BetaManagedAgentsAlwaysAskPolicy::with(),
710697 ),
711698 configs: [
712699 BetaManagedAgentsReadToolConfigParams::with(
713700 enabled: true,
714 permissionPolicy: BetaManagedAgentsAlwaysAllowPolicy::with(type: 'always_allow'),
701 permissionPolicy: BetaManagedAgentsAlwaysAllowPolicy::with(),
715702 ),
716703 BetaManagedAgentsWriteToolConfigParams::with(
717704 enabled: true,
from line 712
725712 ],
726713 ),
727714 BetaManagedAgentsCustomToolParams::with(
728 type: 'custom',
729715 name: 'lookup_order',
730716 description: 'Look up one order by its ID. Returns the status, the items, and the delivery date.',
731717 inputSchema: BetaManagedAgentsCustomToolInputSchema::with(
managed-agents/self-hosted-sandboxes-custom-tools Changed · +2 / -9 lines
from line 315
315315 );
316316 var mcpTools = await mcpClient.ListToolsAsync();
317317
318 List<Tool> tools =
319 [
320 new BetaManagedAgentsAgentToolset20260401Params { Type = "agent_toolset_20260401" },
321 ];
318 List<Tool> tools = [new BetaManagedAgentsAgentToolset20260401Params()];
322319 foreach (var tool in mcpTools)
323320 {
324321 var description = tool.Description;
from line 329
332329 tools.Add(
333330 new BetaManagedAgentsCustomToolParams
334331 {
335 Type = "custom",
336332 Name = tool.Name,
337333 Description = description,
338334 InputSchema = new(
from line 476
480476 }
481477
482478 return BetaManagedAgentsCustomToolParams.builder()
483 .type(BetaManagedAgentsCustomToolParams.Type.CUSTOM)
484479 .name(tool.name())
485480 .description(description)
486481 .inputSchema(JsonValue.from(tool.inputSchema())
from line 500
505500 var params = AgentCreateParams.builder()
506501 .name("Internal tools agent")
507502 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
508 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
509 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
510 .build());
503 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build());
511504 for (var tool : mcpClient.listTools().tools()) {
512505 params.addTool(toCustomTool(tool));
513506 }
managed-agents/session-operations Changed · +5 / -18 lines
from line 101
101101 {
102102 Tools =
103103 [
104 new BetaManagedAgentsAgentToolset20260401Params
105 {
106 Type = BetaManagedAgentsAgentToolset20260401ParamsType.AgentToolset20260401,
107 },
108 new BetaManagedAgentsMcpToolsetParams
109 {
110 Type = BetaManagedAgentsMcpToolsetParamsType.McpToolset,
111 McpServerName = "linear",
112 },
104 new BetaManagedAgentsAgentToolset20260401Params(),
105 new BetaManagedAgentsMcpToolsetParams { McpServerName = "linear" },
113106 ],
114107 McpServers =
115108 [
116109 new()
117110 {
118 Type = BetaManagedAgentsUrlMcpServerParamsType.Url,
119111 Name = "linear",
120112 Url = "https://mcp.linear.app/sse",
121113 },
from line 151
159151 session.id(),
160152 SessionUpdateParams.builder()
161153 .agent(BetaManagedAgentsSessionAgentUpdate.builder()
162 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
163 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
164 .build())
154 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build())
165155 .addTool(BetaManagedAgentsMcpToolsetParams.builder()
166 .type(BetaManagedAgentsMcpToolsetParams.Type.MCP_TOOLSET)
167156 .mcpServerName("linear")
168157 .build())
169158 .addMcpServer(BetaManagedAgentsUrlMcpServerParams.builder()
170 .type(BetaManagedAgentsUrlMcpServerParams.Type.URL)
171159 .name("linear")
172160 .url("https://mcp.linear.app/sse")
173161 .build())
from line 169
181169 $session->id,
182170 agent: BetaManagedAgentsSessionAgentUpdate::with(
183171 tools: [
184 BetaManagedAgentsAgentToolset20260401Params::with(type: 'agent_toolset_20260401'),
185 BetaManagedAgentsMCPToolsetParams::with(mcpServerName: 'linear', type: 'mcp_toolset'),
172 BetaManagedAgentsAgentToolset20260401Params::with(),
173 BetaManagedAgentsMCPToolsetParams::with(mcpServerName: 'linear'),
186174 ],
187175 mcpServers: [
188176 BetaManagedAgentsURLMCPServerParams::with(
189177 name: 'linear',
190 type: 'url',
191178 url: 'https://mcp.linear.app/sse',
192179 ),
193180 ],
managed-agents/session-threads Changed · +2 / -20 lines
from line 142
142142 ```csharp C#
143143 await client.Beta.Sessions.Events.Send(session.ID, new()
144144 {
145 Events =
146 [
147 new BetaManagedAgentsUserInterruptEventParams
148 {
149 Type = BetaManagedAgentsUserInterruptEventParamsType.UserInterrupt,
150 SessionThreadID = thread.ID,
151 },
152 ],
145 Events = [new BetaManagedAgentsUserInterruptEventParams { SessionThreadID = thread.ID }],
153146 });
154147 ```
155148
from line 164
171164 session.id(),
172165 EventSendParams.builder()
173166 .addEvent(BetaManagedAgentsUserInterruptEventParams.builder()
174 .type(BetaManagedAgentsUserInterruptEventParams.Type.USER_INTERRUPT)
175167 .sessionThreadId(thread.id())
176168 .build())
177169 .build());
from line 303
311303 ```csharp C#
312304 await client.Beta.Sessions.Events.Send(session.ID, new()
313305 {
314 Events =
315 [
316 new BetaManagedAgentsUserInterruptEventParams
317 {
318 Type = BetaManagedAgentsUserInterruptEventParamsType.UserInterrupt,
319 SessionThreadID = thread.ID,
320 },
321 ],
306 Events = [new BetaManagedAgentsUserInterruptEventParams { SessionThreadID = thread.ID }],
322307 });
323308 archived = await client.Beta.Sessions.Threads.Archive(thread.ID, new() { SessionID = session.ID });
324309 Console.WriteLine($"{archived.Status} {archived.ArchivedAt}");
from line 335
350335 session.id(),
351336 EventSendParams.builder()
352337 .addEvent(BetaManagedAgentsUserInterruptEventParams.builder()
353 .type(BetaManagedAgentsUserInterruptEventParams.Type.USER_INTERRUPT)
354338 .sessionThreadId(thread.id())
355339 .build())
356340 .build());
from line 712
728712 [
729713 new BetaManagedAgentsUserToolConfirmationEventParams
730714 {
731 Type = BetaManagedAgentsUserToolConfirmationEventParamsType.UserToolConfirmation,
732715 ToolUseID = eventId,
733716 Result = BetaManagedAgentsUserToolConfirmationEventParamsResult.Allow,
734717 },
from line 741
758741 session.id(),
759742 EventSendParams.builder()
760743 .addEvent(BetaManagedAgentsUserToolConfirmationEventParams.builder()
761 .type(BetaManagedAgentsUserToolConfirmationEventParams.Type.USER_TOOL_CONFIRMATION)
762744 .toolUseId(eventId)
763745 .result(BetaManagedAgentsUserToolConfirmationEventParams.Result.ALLOW)
764746 .build())
managed-agents/sessions Changed · +0 / -16 lines
from line 135
135135 {
136136 Agent = new BetaManagedAgentsAgentParams
137137 {
138 Type = BetaManagedAgentsAgentParamsType.Agent,
139138 ID = agent.ID,
140139 Version = 1,
141140 },
from line 161
162161 ```java Java
163162 var pinnedSession = client.beta().sessions().create(SessionCreateParams.builder()
164163 .agent(BetaManagedAgentsAgentParams.builder()
165 .type(BetaManagedAgentsAgentParams.Type.AGENT)
166164 .id(agent.id())
167165 .version(1)
168166 .build())
from line 276
278276 [
279277 new BetaManagedAgentsUserMessageEventParams
280278 {
281 Type = BetaManagedAgentsUserMessageEventParamsType.UserMessage,
282279 Content =
283280 [
284281 new BetaManagedAgentsTextBlock
285282 {
286 Type = BetaManagedAgentsTextBlockType.Text,
287283 Text = "List the files in the working directory.",
288284 },
289285 ],
from line 348
352348 .agent(agent.id())
353349 .environmentId(environment.id())
354350 .addInitialEvent(BetaManagedAgentsUserMessageEventParams.builder()
355 .type(BetaManagedAgentsUserMessageEventParams.Type.USER_MESSAGE)
356351 .addTextContent("List the files in the working directory.")
357352 .build())
358353 .build());
from line 515
520515 {
521516 Agent = new BetaManagedAgentsAgentWithOverridesParams
522517 {
523 Type = BetaManagedAgentsAgentWithOverridesParamsType.AgentWithOverrides,
524518 ID = agent.ID,
525519 Model = new BetaManagedAgentsModelConfigParams
526520 {
from line 555
561555 ```java Java
562556 var overrideSession = client.beta().sessions().create(SessionCreateParams.builder()
563557 .agent(BetaManagedAgentsAgentWithOverridesParams.builder()
564 .type(BetaManagedAgentsAgentWithOverridesParams.Type.AGENT_WITH_OVERRIDES)
565558 .id(agent.id())
566559 .model(BetaManagedAgentsModelConfigParams.builder()
567560 .id(BetaManagedAgentsModel.CLAUDE_SONNET_5_5)
from line 571
578571 ```php PHP
579572 $overrides = BetaManagedAgentsAgentWithOverridesParams::with(
580573 id: $agent->id,
581 type: 'agent_with_overrides',
582574 model: ['id' => 'claude-sonnet-5-5'],
583575 );
584576 // Clear the system prompt for this session. Array access is load-bearing here:
from line 672
680672 {
681673 Agent = new BetaManagedAgentsAgentWithOverridesParams
682674 {
683 Type = BetaManagedAgentsAgentWithOverridesParamsType.AgentWithOverrides,
684675 ID = agent.ID,
685676 // Replaces the agent's `model` in full: restate `id`, add `inference_geo` to pin.
686677 Model = new BetaManagedAgentsModelConfigParams
from line 709
718709 ```java Java
719710 var session = client.beta().sessions().create(SessionCreateParams.builder()
720711 .agent(BetaManagedAgentsAgentWithOverridesParams.builder()
721 .type(BetaManagedAgentsAgentWithOverridesParams.Type.AGENT_WITH_OVERRIDES)
722712 .id(agent.id())
723713 // Replaces the agent's `model` in full: restate `id`, add `inference_geo` to pin.
724714 .model(BetaManagedAgentsModelConfigParams.builder()
from line 725
735725 $session = $client->beta->sessions->create(
736726 agent: BetaManagedAgentsAgentWithOverridesParams::with(
737727 id: $agent->id,
738 type: 'agent_with_overrides',
739728 // Replaces the agent's `model` in full: restate `id`, add `inference_geo` to pin.
740729 model: BetaManagedAgentsModelConfigParams::with(
741730 id: 'claude-opus-5-5',
from line 816
827816 EnvironmentID = environment.ID,
828817 Budget = new()
829818 {
830 Type = BetaManagedAgentsBudgetLimitType.Limit,
831819 MaxListCost = new() { Amount = "125", Currency = BetaCurrency.Usd },
832820 },
833821 });
from line 847
859847 .agent(agent.id())
860848 .environmentId(environment.id())
861849 .budget(BetaManagedAgentsBudgetLimit.builder()
862 .type(BetaManagedAgentsBudgetLimit.Type.LIMIT)
863850 .maxListCost(BetaMonetaryAmount.builder()
864851 .amount("125")
865852 .currency(BetaCurrency.USD)
from line 1037
10501037 [
10511038 new BetaManagedAgentsUserMessageEventParams
10521039 {
1053 Type = BetaManagedAgentsUserMessageEventParamsType.UserMessage,
10541040 Content =
10551041 [
10561042 new BetaManagedAgentsTextBlock
10571043 {
1058 Type = BetaManagedAgentsTextBlockType.Text,
10591044 Text = "List the files in the working directory.",
10601045 },
10611046 ],
from line 1072
10871072 session.id(),
10881073 EventSendParams.builder()
10891074 .addEvent(BetaManagedAgentsUserMessageEventParams.builder()
1090 .type(BetaManagedAgentsUserMessageEventParams.Type.USER_MESSAGE)
10911075 .addTextContent("List the files in the working directory.")
10921076 .build())
10931077 .build());
managed-agents/skills Changed · +2 / -6 lines
from line 304
304304 System = "You are a financial analysis agent.",
305305 Skills =
306306 [
307 new BetaManagedAgentsAnthropicSkillParams { Type = BetaManagedAgentsAnthropicSkillParamsType.Anthropic, SkillID = "xlsx" },
308 new BetaManagedAgentsCustomSkillParams { Type = BetaManagedAgentsCustomSkillParamsType.Custom, SkillID = "skill_01AbCdEfGhIjKlMnOpQrStUv", Version = "latest" },
307 new BetaManagedAgentsAnthropicSkillParams { SkillID = "xlsx" },
308 new BetaManagedAgentsCustomSkillParams { SkillID = "skill_01AbCdEfGhIjKlMnOpQrStUv", Version = "latest" },
309309 ],
310310 });
311311 ```
from line 345
345345 .system("You are a financial analysis agent.")
346346 .addSkill(
347347 BetaManagedAgentsAnthropicSkillParams.builder()
348 .type(BetaManagedAgentsAnthropicSkillParams.Type.ANTHROPIC)
349348 .skillId("xlsx")
350349 .build()
351350 )
352351 .addSkill(
353352 BetaManagedAgentsCustomSkillParams.builder()
354 .type(BetaManagedAgentsCustomSkillParams.Type.CUSTOM)
355353 .skillId("skill_01AbCdEfGhIjKlMnOpQrStUv")
356354 .version("latest")
357355 .build()
from line 500
502500 [
503501 new BetaManagedAgentsGitHubRepositoryResourceParams
504502 {
505 Type = "github_repository",
506503 Url = "https://github.com/org/repo",
507504 MountPath = "/workspace/repo",
508505 AuthorizationToken = "ghp_your_github_token",
from line 533
536533 .agent(agent.id())
537534 .environmentId(environment.id())
538535 .addResource(BetaManagedAgentsGitHubRepositoryResourceParams.builder()
539 .type(BetaManagedAgentsGitHubRepositoryResourceParams.Type.GITHUB_REPOSITORY)
540536 .url("https://github.com/org/repo")
541537 .mountPath("/workspace/repo")
542538 .authorizationToken("ghp_your_github_token")
managed-agents/tools Changed · +3 / -16 lines
from line 119
119119 [
120120 new BetaManagedAgentsAgentToolset20260401Params
121121 {
122 Type = "agent_toolset_20260401",
123122 Configs =
124123 [
125124 new BetaManagedAgentsWebFetchToolConfigParams { Enabled = false },
from line 158
159158 .name("Coding Assistant")
160159 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
161160 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
162 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
163161 .addConfig(BetaManagedAgentsWebFetchToolConfigParams.builder()
164162 .enabled(false)
165163 .build())
from line 174
176174 model: 'claude-opus-5-5',
177175 tools: [
178176 BetaManagedAgentsAgentToolset20260401Params::with(
179 type: 'agent_toolset_20260401',
180177 configs: [
181178 BetaManagedAgentsWebFetchToolConfigParams::with(enabled: false),
182179 ],
from line 360
363360 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
364361 Tools =
365362 [
366 new BetaManagedAgentsAgentToolset20260401Params
367 {
368 Type = "agent_toolset_20260401",
369 },
363 new BetaManagedAgentsAgentToolset20260401Params(),
370364 new BetaManagedAgentsCustomToolParams
371365 {
372 Type = "custom",
373366 Name = "get_weather",
374367 Description = "Get current weather for a location",
375368 InputSchema = new()
from line 420
427420 var agent = client.beta().agents().create(AgentCreateParams.builder()
428421 .name("Weather Agent")
429422 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
430 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
431 .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
432 .build())
423 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build())
433424 .addTool(BetaManagedAgentsCustomToolParams.builder()
434 .type(BetaManagedAgentsCustomToolParams.Type.CUSTOM)
435425 .name("get_weather")
436426 .description("Get current weather for a location")
437427 .inputSchema(BetaManagedAgentsCustomToolInputSchema.builder()
from line 445
455445 name: 'Weather Agent',
456446 model: 'claude-opus-5-5',
457447 tools: [
458 BetaManagedAgentsAgentToolset20260401Params::with(
459 type: 'agent_toolset_20260401',
460 ),
448 BetaManagedAgentsAgentToolset20260401Params::with(),
461449 BetaManagedAgentsCustomToolParams::with(
462 type: 'custom',
463450 name: 'get_weather',
464451 description: 'Get current weather for a location',
465452 inputSchema: BetaManagedAgentsCustomToolInputSchema::with(
managed-agents/vaults Changed · +0 / -16 lines
from line 250
250250 DisplayName = "Alice's Slack",
251251 Auth = new BetaManagedAgentsMcpOAuthCreateParams
252252 {
253 Type = BetaManagedAgentsMcpOAuthCreateParamsType.McpOAuth,
254253 McpServerUrl = "https://mcp.slack.com/mcp",
255254 AccessToken = "xoxp-...",
256255 ExpiresAt = DateTimeOffset.Parse("2099-12-31T23:59:59Z"),
from line 261
262261 RefreshToken = "xoxe-1-...",
263262 TokenEndpointAuth = new BetaManagedAgentsTokenEndpointAuthPostParam
264263 {
265 Type = BetaManagedAgentsTokenEndpointAuthPostParamType.ClientSecretPost,
266264 ClientSecret = "abc123...",
267265 },
268266 },
from line 302
304302 CredentialCreateParams.builder()
305303 .displayName("Alice's Slack")
306304 .auth(BetaManagedAgentsMcpOAuthCreateParams.builder()
307 .type(BetaManagedAgentsMcpOAuthCreateParams.Type.MCP_OAUTH)
308305 .mcpServerUrl("https://mcp.slack.com/mcp")
309306 .accessToken("xoxp-...")
310307 .expiresAt(OffsetDateTime.parse("2099-12-31T23:59:59Z"))
from line 321
324321 vaultID: $vault->id,
325322 displayName: "Alice's Slack",
326323 auth: ManagedAgentsMCPOAuthCreateParams::with(
327 type: 'mcp_oauth',
328324 mcpServerURL: 'https://mcp.slack.com/mcp',
329325 accessToken: 'xoxp-...',
330326 expiresAt: new \DateTimeImmutable('2099-12-31T23:59:59Z'),
from line 330
334330 scope: 'channels:read chat:write',
335331 refreshToken: 'xoxe-1-...',
336332 tokenEndpointAuth: ManagedAgentsTokenEndpointAuthPostParam::with(
337 type: 'client_secret_post',
338333 clientSecret: 'abc123...',
339334 ),
340335 ),
from line 425
430425 DisplayName = "Linear API key",
431426 Auth = new BetaManagedAgentsStaticBearerCreateParams
432427 {
433 Type = BetaManagedAgentsStaticBearerCreateParamsType.StaticBearer,
434428 McpServerUrl = "https://mcp.linear.app/mcp",
435429 Token = "lin_api_your_linear_key",
436430 },
from line 453
459453 CredentialCreateParams.builder()
460454 .displayName("Linear API key")
461455 .auth(BetaManagedAgentsStaticBearerCreateParams.builder()
462 .type(BetaManagedAgentsStaticBearerCreateParams.Type.STATIC_BEARER)
463456 .mcpServerUrl("https://mcp.linear.app/mcp")
464457 .token("lin_api_your_linear_key")
465458 .build())
from line 464
471464 vaultID: $vault->id,
472465 displayName: 'Linear API key',
473466 auth: ManagedAgentsStaticBearerCreateParams::with(
474 type: 'static_bearer',
475467 mcpServerURL: 'https://mcp.linear.app/mcp',
476468 token: 'lin_api_your_linear_key',
477469 ),
from line 583
591583 DisplayName = "Notion API key for sandbox",
592584 Auth = new BetaManagedAgentsEnvironmentVariableCreateParams
593585 {
594 Type = BetaManagedAgentsEnvironmentVariableCreateParamsType.EnvironmentVariable,
595586 SecretName = "NOTION_API_KEY",
596587 SecretValue = "ntn_your-secret-here",
597588 Networking = new BetaManagedAgentsLimitedCredentialNetworkingParams
598589 {
599 Type = BetaManagedAgentsLimitedCredentialNetworkingParamsType.Limited,
600590 AllowedHosts = ["api.notion.com"],
601591 },
602592 InjectionLocation = new() { Header = true },
from line 633
643633 CredentialCreateParams.builder()
644634 .displayName("Notion API key for sandbox")
645635 .auth(BetaManagedAgentsEnvironmentVariableCreateParams.builder()
646 .type(BetaManagedAgentsEnvironmentVariableCreateParams.Type.ENVIRONMENT_VARIABLE)
647636 .secretName("NOTION_API_KEY")
648637 .secretValue("ntn_your-secret-here")
649638 .limitedNetworking(List.of("api.notion.com"))
from line 652
663652 vaultID: $vault->id,
664653 displayName: 'Notion API key for sandbox',
665654 auth: ManagedAgentsEnvironmentVariableCreateParams::with(
666 type: ManagedAgentsEnvironmentVariableCreateParams\Type::ENVIRONMENT_VARIABLE,
667655 secretName: 'NOTION_API_KEY',
668656 secretValue: 'ntn_your-secret-here',
669657 networking: ManagedAgentsLimitedCredentialNetworkingParams::with(
670 type: ManagedAgentsLimitedCredentialNetworkingParams\Type::LIMITED,
671658 allowedHosts: ['api.notion.com'],
672659 ),
673660 injectionLocation: ManagedAgentsInjectionLocationParams::with(header: true),
from line 899
912899 VaultID = vault.ID,
913900 Auth = new BetaManagedAgentsMcpOAuthUpdateParams
914901 {
915 Type = BetaManagedAgentsMcpOAuthUpdateParamsType.McpOAuth,
916902 AccessToken = "xoxp-new-...",
917903 ExpiresAt = DateTimeOffset.Parse("2099-12-31T23:59:59Z"),
918904 Refresh = new() { RefreshToken = "xoxe-1-new-..." },
from line 930
944930 CredentialUpdateParams.builder()
945931 .vaultId(vault.id())
946932 .auth(BetaManagedAgentsMcpOAuthUpdateParams.builder()
947 .type(BetaManagedAgentsMcpOAuthUpdateParams.Type.MCP_OAUTH)
948933 .accessToken("xoxp-new-...")
949934 .expiresAt(OffsetDateTime.parse("2099-12-31T23:59:59Z"))
950935 .refresh(BetaManagedAgentsMcpOAuthRefreshUpdateParams.builder()
from line 944
959944 $credential->id,
960945 vaultID: $vault->id,
961946 auth: ManagedAgentsMCPOAuthUpdateParams::with(
962 type: 'mcp_oauth',
963947 accessToken: 'xoxp-new-...',
964948 expiresAt: new \DateTimeImmutable('2099-12-31T23:59:59Z'),
965949 refresh: ManagedAgentsMCPOAuthRefreshUpdateParams::with(refreshToken: 'xoxe-1-new-...'),
managed-agents/workflow-runs Changed · +1 / -13 lines
from line 342
342342 [
343343 new BetaManagedAgentsUserMessageEventParams
344344 {
345 Type = BetaManagedAgentsUserMessageEventParamsType.UserMessage,
346345 Content =
347346 [
348347 new BetaManagedAgentsTextBlock
349348 {
350 Type = BetaManagedAgentsTextBlockType.Text,
351349 Text = "Which contracts in /contracts have a change-of-control clause?",
352350 },
353351 ],
from line 396
398396 [
399397 new BetaManagedAgentsUserCustomToolResultEventParams
400398 {
401 Type = BetaManagedAgentsUserCustomToolResultEventParamsType.UserCustomToolResult,
402399 CustomToolUseID = toolUse.ID,
403 Content =
404 [
405 new BetaManagedAgentsTextBlock
406 {
407 Type = BetaManagedAgentsTextBlockType.Text,
408 Text = result,
409 },
410 ],
400 Content = [new BetaManagedAgentsTextBlock { Text = result }],
411401 },
412402 ],
413403 });
from line 538
548538 sessionId,
549539 EventSendParams.builder()
550540 .addEvent(BetaManagedAgentsUserMessageEventParams.builder()
551 .type(BetaManagedAgentsUserMessageEventParams.Type.USER_MESSAGE)
552541 .addTextContent("Which contracts in /contracts have a change-of-control clause?")
553542 .build())
554543 .build()
from line 581
592581 sessionId,
593582 EventSendParams.builder()
594583 .addEvent(BetaManagedAgentsUserCustomToolResultEventParams.builder()
595 .type(BetaManagedAgentsUserCustomToolResultEventParams.Type.USER_CUSTOM_TOOL_RESULT)
596584 .customToolUseId(toolUse.id())
597585 .addTextContent(result)
598586 .build())
models/fable-5-1/migration-guide Changed · +15 / -24 lines
from line 182
182182 }),
183183 ],
184184 ToolChoice = new ToolChoiceTool { Name = "record_summary" },
185 Messages = [
186 new() { Role = Role.User, Content = "Summarize: The meeting moved to Thursday." }
187 ]
185 Messages = [new UserMessageParam { Content = "Summarize: The meeting moved to Thursday." }]
188186 };
189187
190188 var message = await client.Messages.Create(parameters);
from line 441
443441 ],
444442 ToolChoice = new ToolChoiceAuto(),
445443 Messages = [
446 new() { Role = Role.User, Content = "Summarize: The meeting moved to Thursday. Call the record_summary tool with your result." }
444 new UserMessageParam { Content = "Summarize: The meeting moved to Thursday. Call the record_summary tool with your result." }
447445 ]
448446 };
449447
from line 744
746744 }),
747745 ],
748746 Messages = [
749 new() { Role = Role.User, Content = "My headphones from order A1234 arrived yesterday." },
750 new() { Role = Role.Assistant, Content = "Thanks for confirming. How can I help with order A1234?" },
751 new() { Role = Role.User, Content = "I opened the box. Can I still return them?" },
747 new UserMessageParam { Content = "My headphones from order A1234 arrived yesterday." },
748 new AssistantMessageParam { Content = "Thanks for confirming. How can I help with order A1234?" },
749 new UserMessageParam { Content = "I opened the box. Can I still return them?" },
752750 // The application requires a help center lookup before any policy
753751 // answer. Appending the requirement as a system message leaves the
754752 // earlier turns unchanged.
755 new()
753 new SystemMessageParam
756754 {
757 Role = Role.System,
758755 Content = "Tool-use requirement for the current turn: the application requires a call to the search_help_center tool in your response to the user's latest message. Begin your response with the search_help_center tool call. Do not reply with text only."
759756 }
760757 ]
from line 832
835832 // The application requires a help center lookup before any policy
836833 // answer. Appending the requirement as a system message leaves the
837834 // earlier turns unchanged.
838 .addMessage(MessageParam.builder()
839 .role(MessageParam.Role.SYSTEM)
840 .content("Tool-use requirement for the current turn: the application requires a call to the search_help_center tool in your response to the user's latest message. Begin your response with the search_help_center tool call. Do not reply with text only.")
841 .build())
835 .addSystemMessage("Tool-use requirement for the current turn: the application requires a call to the search_help_center tool in your response to the user's latest message. Begin your response with the search_help_center tool call. Do not reply with text only.")
842836 .build();
843837
844838 Message response = client.messages().create(params);
from line 1040
10461040 },
10471041 Messages =
10481042 [
1049 new()
1043 new BetaUserMessageParam
10501044 {
1051 Role = Role.User,
10521045 Content = "What is the greatest common divisor of 1071 and 462?",
10531046 },
10541047 ],
from line 1338
13451338 OutputConfig = new() { Effort = Effort.High },
13461339 Messages =
13471340 [
1348 new() { Role = Role.User, Content = "Plan a migration from SQLite to PostgreSQL in three short steps." },
1349 new() { Role = Role.Assistant, Content = "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts." },
1341 new BetaUserMessageParam { Content = "Plan a migration from SQLite to PostgreSQL in three short steps." },
1342 new BetaAssistantMessageParam { Content = "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts." },
13501343 // Effort-only system message: the new level takes effect from the next user turn.
1351 new()
1344 new BetaSystemMessageParam
13521345 {
1353 Role = Role.System,
13541346 Content = new([]),
13551347 OutputConfig = new() { Effort = BetaSystemMessageOutputConfigEffort.Low },
13561348 },
1357 new() { Role = Role.User, Content = "Summarize the plan in one sentence." },
1349 new BetaUserMessageParam { Content = "Summarize the plan in one sentence." },
13581350 ],
13591351 Betas = [AnthropicBeta.MidConversationOutputConfig2026_07_01],
13601352 });
from line 1397
14051397 ```java Java
14061398 import com.anthropic.models.beta.AnthropicBeta;
14071399 import com.anthropic.models.beta.messages.BetaMessage;
1408 import com.anthropic.models.beta.messages.BetaMessageParam;
14091400 import com.anthropic.models.beta.messages.BetaOutputConfig;
14101401 import com.anthropic.models.beta.messages.BetaSystemMessageOutputConfig;
1402 import com.anthropic.models.beta.messages.BetaSystemMessageParam;
14111403 import com.anthropic.models.beta.messages.MessageCreateParams;
14121404 import com.anthropic.models.messages.Model;
14131405
from line 1416
14241416 .addUserMessage("Plan a migration from SQLite to PostgreSQL in three short steps.")
14251417 .addAssistantMessage("1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.")
14261418 // Effort-only system message: the new level takes effect from the next user turn.
1427 .addMessage(BetaMessageParam.builder()
1428 .role(BetaMessageParam.Role.SYSTEM)
1429 .contentOfBetaContentBlockParams(List.of())
1419 .addMessage(BetaSystemMessageParam.builder()
1420 .contentOfBlocks(List.of())
14301421 .outputConfig(BetaSystemMessageOutputConfig.builder()
14311422 .effort(BetaSystemMessageOutputConfig.Effort.LOW)
14321423 .build())
models/fable-5-1/whats-new-fable-5-1 Changed · +7 / -9 lines
from line 182
182182 OutputConfig = new() { Effort = Effort.High },
183183 Messages =
184184 [
185 new() { Role = Role.User, Content = "Plan a migration from SQLite to PostgreSQL in three short steps." },
186 new() { Role = Role.Assistant, Content = "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts." },
185 new BetaUserMessageParam { Content = "Plan a migration from SQLite to PostgreSQL in three short steps." },
186 new BetaAssistantMessageParam { Content = "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts." },
187187 // Effort-only system message: the new level takes effect from the next user turn.
188 new()
188 new BetaSystemMessageParam
189189 {
190 Role = Role.System,
191190 Content = new([]),
192191 OutputConfig = new() { Effort = BetaSystemMessageOutputConfigEffort.Low },
193192 },
194 new() { Role = Role.User, Content = "Summarize the plan in one sentence." },
193 new BetaUserMessageParam { Content = "Summarize the plan in one sentence." },
195194 ],
196195 Betas = [AnthropicBeta.MidConversationOutputConfig2026_07_01],
197196 });
from line 241
242241 ```java Java
243242 import com.anthropic.models.beta.AnthropicBeta;
244243 import com.anthropic.models.beta.messages.BetaMessage;
245 import com.anthropic.models.beta.messages.BetaMessageParam;
246244 import com.anthropic.models.beta.messages.BetaOutputConfig;
247245 import com.anthropic.models.beta.messages.BetaSystemMessageOutputConfig;
246 import com.anthropic.models.beta.messages.BetaSystemMessageParam;
248247 import com.anthropic.models.beta.messages.MessageCreateParams;
249248 import com.anthropic.models.messages.Model;
250249
from line 260
261260 .addUserMessage("Plan a migration from SQLite to PostgreSQL in three short steps.")
262261 .addAssistantMessage("1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.")
263262 // Effort-only system message: the new level takes effect from the next user turn.
264 .addMessage(BetaMessageParam.builder()
265 .role(BetaMessageParam.Role.SYSTEM)
266 .contentOfBetaContentBlockParams(List.of())
263 .addMessage(BetaSystemMessageParam.builder()
264 .contentOfBlocks(List.of())
267265 .outputConfig(BetaSystemMessageOutputConfig.builder()
268266 .effort(BetaSystemMessageOutputConfig.Effort.LOW)
269267 .build())
models/opus-5-5/migration-guide Changed · +9 / -14 lines
from line 115
115115 Model = Model.ClaudeOpus5_5,
116116 MaxTokens = 4096,
117117 Messages = [
118 new() {
119 Role = Role.User,
118 new UserMessageParam {
120119 Content = "Analyze the trade-offs between microservices and monolithic architectures"
121120 }
122121 ],
from line 416
417416 Model = Model.ClaudeOpus5,
418417 MaxTokens = 16000,
419418 Thinking = new ThinkingConfigDisabled(),
420 Messages = [new() { Role = Role.User, Content = "..." }],
419 Messages = [new UserMessageParam { Content = "..." }],
421420 });
422421 ```
423422
from line 513
514513 Model = Model.ClaudeOpus5_5,
515514 MaxTokens = 16000,
516515 OutputConfig = new() { Effort = Effort.Low }, // thinking is always on; effort is the control
517 Messages = [new() { Role = Role.User, Content = "..." }],
516 Messages = [new UserMessageParam { Content = "..." }],
518517 });
519518 ```
520519
from line 651
652651 MaxTokens = 1024,
653652 Tools = [.. tools],
654653 ToolChoice = new ToolChoiceTool { Name = "get_weather" },
655 Messages = [new() { Role = Role.User, Content = "What's the weather in Paris?" }],
654 Messages = [new UserMessageParam { Content = "What's the weather in Paris?" }],
656655 });
657656 ```
658657
from line 803
804803 ToolChoice = new ToolChoiceAuto(),
805804 Messages =
806805 [
807 new()
808 {
809 Role = Role.User,
810 Content = "What's the weather in Paris? Use the get_weather tool.",
811 },
806 new UserMessageParam { Content = "What's the weather in Paris? Use the get_weather tool." },
812807 ],
813808 });
814809 ```
from line 969
974969 DisplayHeightPx = 768,
975970 },
976971 ],
977 Messages = [new() { Role = Role.User, Content = "Open the display settings." }],
972 Messages = [new BetaUserMessageParam { Content = "Open the display settings." }],
978973 });
979974 ```
980975
from line 1090
10951090 MaxTokens = 4096,
10961091 // no beta header; the toolset entry takes no name or display size
10971092 Tools = [new ComputerToolset20260801()],
1098 Messages = [new() { Role = Role.User, Content = "Open the display settings." }],
1093 Messages = [new UserMessageParam { Content = "Open the display settings." }],
10991094 });
11001095 ```
11011096
from line 1279
12841279 Model = Model.ClaudeOpus4_6,
12851280 MaxTokens = 16000,
12861281 Thinking = new ThinkingConfigEnabled(budgetTokens: 10000),
1287 Messages = [new() { Role = Role.User, Content = "..." }]
1282 Messages = [new UserMessageParam { Content = "..." }]
12881283 };
12891284
12901285 var response = await client.Messages.Create(parameters);
from line 1417
14221417 MaxTokens = 16000,
14231418 Thinking = new ThinkingConfigAdaptive(),
14241419 OutputConfig = new OutputConfig { Effort = Effort.High }, // or Max, Xhigh, Medium, Low
1425 Messages = [new() { Role = Role.User, Content = "..." }]
1420 Messages = [new UserMessageParam { Content = "..." }]
14261421 };
14271422
14281423 var response = await client.Messages.Create(parameters);
models/sonnet-5-5/migration-guide Changed · +7 / -9 lines
from line 106
106106 Model = Model.ClaudeSonnet5_5,
107107 MaxTokens = 4096,
108108 Messages = [
109 new() {
110 Role = Role.User,
109 new UserMessageParam {
111110 Content = "Analyze the trade-offs between microservices and monolithic architectures"
112111 }
113112 ],
from line 301
302301 MaxTokens = 16000,
303302 Thinking = new ThinkingConfigDisabled(),
304303 OutputConfig = new() { Effort = Effort.Xhigh },
305 Messages = [new() { Role = Role.User, Content = "..." }],
304 Messages = [new UserMessageParam { Content = "..." }],
306305 });
307306 ```
308307
from line 409
410409 MaxTokens = 16000,
411410 Thinking = new ThinkingConfigBetweenTools(),
412411 OutputConfig = new() { Effort = Effort.High },
413 Messages = [new() { Role = Role.User, Content = "..." }],
412 Messages = [new UserMessageParam { Content = "..." }],
414413 });
415414 ```
416415
from line 609
610609 MaxTokens = 1024,
611610 Tools = [.. tools],
612611 ToolChoice = new ToolChoiceTool { Name = "get_weather" },
613 Messages = [new() { Role = Role.User, Content = "What's the weather in Paris?" }],
612 Messages = [new UserMessageParam { Content = "What's the weather in Paris?" }],
614613 });
615614 ```
616615
from line 761
762761 ToolChoice = new ToolChoiceAuto(),
763762 Messages =
764763 [
765 new()
764 new UserMessageParam
766765 {
767 Role = Role.User,
768766 Content = "What's the weather in Paris? Use the get_weather tool.",
769767 },
770768 ],
from line 974
976974 Model = Model.ClaudeSonnet4_6,
977975 MaxTokens = 16000,
978976 Thinking = new ThinkingConfigEnabled(budgetTokens: 10000),
979 Messages = [new() { Role = Role.User, Content = "..." }]
977 Messages = [new UserMessageParam { Content = "..." }]
980978 };
981979
982980 var response = await client.Messages.Create(parameters);
from line 1112
11141112 MaxTokens = 16000,
11151113 Thinking = new ThinkingConfigAdaptive(),
11161114 OutputConfig = new OutputConfig { Effort = Effort.High }, // or Max, Xhigh, Medium, Low
1117 Messages = [new() { Role = Role.User, Content = "..." }]
1115 Messages = [new UserMessageParam { Content = "..." }]
11181116 };
11191117
11201118 var response = await client.Messages.Create(parameters);
test-and-evaluate/develop-tests Changed · +14 / -15 lines
from line 238
238238 {
239239 Model = Model.ClaudeOpus5_5,
240240 MaxTokens = 1024,
241 Messages = [new() { Role = Role.User, Content = prompt }],
241 Messages = [new UserMessageParam { Content = prompt }],
242242 });
243243 return ContentText(message);
244244 }
from line 664
664664 {
665665 Model = Model.ClaudeOpus5_5,
666666 MaxTokens = 2048,
667 Messages = [new() { Role = Role.User, Content = prompt }],
667 Messages = [new UserMessageParam { Content = prompt }],
668668 });
669669 foreach (var block in message.Content)
670670 {
from line 1180
11801180 {
11811181 Model = Model.ClaudeOpus5_5,
11821182 MaxTokens = 1024,
1183 Messages = [new() { Role = Role.User, Content = prompt }],
1183 Messages = [new UserMessageParam { Content = prompt }],
11841184 });
11851185 return ContentText(message);
11861186 }
from line 1706
17061706 {
17071707 Model = Model.ClaudeOpus5_5,
17081708 MaxTokens = 2048,
1709 Messages = [new() { Role = Role.User, Content = prompt }],
1709 Messages = [new UserMessageParam { Content = prompt }],
17101710 });
17111711 return ContentText(message);
17121712 }
from line 1726
17261726 {
17271727 Model = Model.ClaudeOpus5_5,
17281728 MaxTokens = 1024,
1729 Messages = [new() { Role = Role.User, Content = tonePrompt }],
1729 Messages = [new UserMessageParam { Content = tonePrompt }],
17301730 });
17311731 return int.Parse(ContentText(response).Trim());
17321732 }
from line 2202
22022202 {
22032203 Model = Model.ClaudeOpus5_5,
22042204 MaxTokens = 1024,
2205 Messages = [new() { Role = Role.User, Content = prompt }],
2205 Messages = [new UserMessageParam { Content = prompt }],
22062206 });
22072207 return ContentText(message);
22082208 }
from line 2232
22322232 {
22332233 Model = Model.ClaudeOpus5_5,
22342234 MaxTokens = 1024,
2235 Messages = [new() { Role = Role.User, Content = binaryPrompt }],
2235 Messages = [new UserMessageParam { Content = binaryPrompt }],
22362236 });
22372237 return ContentText(response).Trim().ToLowerInvariant() == "no";
22382238 }
from line 2806
28062806 {
28072807 Model = Model.ClaudeOpus5_5,
28082808 MaxTokens = 1024,
2809 Messages = [.. conversation.Select(turn => new MessageParam
2810 {
2811 Role = turn.Role == "user" ? Role.User : Role.Assistant,
2812 Content = turn.Content,
2813 })],
2809 Messages = [.. conversation.Select<Turn, MessageParam>(turn =>
2810 turn.Role == "user"
2811 ? new UserMessageParam { Content = turn.Content }
2812 : new AssistantMessageParam { Content = turn.Content })],
28142813 });
28152814 return ContentText(message);
28162815 }
from line 2834
28352834 {
28362835 Model = Model.ClaudeOpus5_5,
28372836 MaxTokens = 1024,
2838 Messages = [new() { Role = Role.User, Content = ordinalPrompt }],
2837 Messages = [new UserMessageParam { Content = ordinalPrompt }],
28392838 });
28402839 return int.Parse(ContentText(response).Trim());
28412840 }
from line 3378
33793378 {
33803379 Model = Model.ClaudeOpus5_5,
33813380 MaxTokens = 2048,
3382 Messages = [new() { Role = Role.User, Content = BuildGraderPrompt(output, goldenAnswer) }],
3381 Messages = [new UserMessageParam { Content = BuildGraderPrompt(output, goldenAnswer) }],
33833382 });
33843383 return ContentText(graderResponse).ToLowerInvariant().Contains("<result>correct</result>")
33853384 ? "correct"
from line 3400
34013400 {
34023401 Model = Model.ClaudeOpus5_5,
34033402 MaxTokens = 1024,
3404 Messages = [new() { Role = Role.User, Content = prompt }],
3403 Messages = [new UserMessageParam { Content = prompt }],
34053404 });
34063405 return ContentText(message);
34073406 }
about-claude/models/optimizing-for-cost-and-intelligence Changed · +1 / -1 lines
from line 728
728728 {
729729 Model = Model.ClaudeOpus5_5,
730730 MaxTokens = 1024,
731 Messages = [new() { Role = Role.User, Content = "Hello, Claude" }],
731 Messages = [new UserMessageParam { Content = "Hello, Claude" }],
732732 }
733733 );
734734 var usage = response.Usage;
about-claude/use-case-guides/legal-summarization Changed · +2 / -2 lines
from line 618
618618 Model = model,
619619 MaxTokens = maxTokens,
620620 System = "You are a legal analyst specializing in real estate law, known for highly accurate and detailed summaries of sublease agreements.",
621 Messages = [new() { Role = Role.User, Content = prompt }],
621 Messages = [new UserMessageParam { Content = prompt }],
622622 }
623623 );
624624
from line 1066
10661066 Model = model,
10671067 MaxTokens = maxTokens,
10681068 System = "You are a legal expert that summarizes notes on one document.",
1069 Messages = [new() { Role = Role.User, Content = finalSummaryPrompt }],
1069 Messages = [new UserMessageParam { Content = finalSummaryPrompt }],
10701070 }
10711071 );
10721072
about-claude/use-case-guides/ticket-routing Changed · +2 / -2 lines
from line 802
802802 Model = DefaultModel,
803803 MaxTokens = 2048,
804804 OutputConfig = new OutputConfig { Effort = Effort.Low },
805 Messages = [new() { Role = Role.User, Content = classificationPrompt }],
805 Messages = [new UserMessageParam { Content = classificationPrompt }],
806806 });
807807 var reasoningAndIntent = "";
808808 foreach (var block in message.Content)
from line 1159
11591159 Model = DefaultModel,
11601160 MaxTokens = 2048,
11611161 OutputConfig = new OutputConfig { Effort = Effort.Low },
1162 Messages = [new() { Role = Role.User, Content = classificationPrompt }],
1162 Messages = [new UserMessageParam { Content = classificationPrompt }],
11631163 });
11641164 // Get the usage statistics for the API call for how many input and output tokens were used.
11651165 var usage = message.Usage;
agents-and-tools/mcp-tunnels/overview Changed · +1 / -1 lines
from line 239
239239 MaxTokens = 1000,
240240 Messages = new List<BetaMessageParam>
241241 {
242 new() { Role = Role.User, Content = "Use the hello tool to greet tunnel." }
242 new BetaUserMessageParam { Content = "Use the hello tool to greet tunnel." }
243243 },
244244 McpServers = new List<BetaRequestMcpServerUrlDefinition>
245245 {
agents-and-tools/tool-use/web-search-tool Changed · +2 / -2 lines
from line 150
150150 {
151151 Model = Model.ClaudeOpus5_5,
152152 MaxTokens = 4096,
153 Messages = [new() { Role = Role.User, Content = "Search for the current prices of AAPL and GOOGL, then calculate which has a better P/E ratio." }],
153 Messages = [new UserMessageParam { Content = "Search for the current prices of AAPL and GOOGL, then calculate which has a better P/E ratio." }],
154154 Tools = [new ToolUnion(new WebSearchTool20260318())]
155155 };
156156
from line 317
317317 {
318318 Model = Model.ClaudeOpus5_5,
319319 MaxTokens = 1024,
320 Messages = [new() { Role = Role.User, Content = "What's the weather in NYC?" }],
320 Messages = [new UserMessageParam { Content = "What's the weather in NYC?" }],
321321 Tools = [new ToolUnion(new WebSearchTool20250305() { MaxUses = 5 })]
322322 };
323323
api/beta-headers Changed · +1 / -1 lines
from line 84
8484 {
8585 Model = Model.ClaudeOpus5_5,
8686 MaxTokens = 1024,
87 Messages = [new() { Role = Role.User, Content = "Hello, Claude" }],
87 Messages = [new BetaUserMessageParam { Content = "Hello, Claude" }],
8888 Betas = ["context-management-2025-06-27"],
8989 }
9090 );