One read of Claude Developer Platformapi-20261103T160712Z
8 pages moved out of 846 read.
Pages moved
8
significant first
Pages read
846
in this capture
Captured
16:07 UTC
Corpus hash
a4e594388615
corpus-hash
What this read moved
1-8 of 8cli-sdks-libraries/cli/apply Changed · +10 / -2 lines
from line 23
2323 ---
2424 name: Summarizer
2525 model: claude-opus-5-5
26 tools:
27 - type: agent_toolset_20260401
2826 ---
2927
3028 You are a helpful assistant that writes concise summaries.
from line 115
117115 model: claude-opus-5-5
118116 tools:
119117 - type: agent_toolset_20260401
118 configs:
119 - name: web_search
120 enabled: false
121 - name: web_fetch
122 enabled: false
120123 skills:
121124 - ../skills/pr-summary
122125 ---
from line 219
216219model: claude-opus-5-5
217220tools:
218221 - type: agent_toolset_20260401
222 configs:
223 - name: web_search
224 enabled: false
225 - name: web_fetch
226 enabled: false
219227 - ./tools/*.json # the tools in these files are inserted here
220228skills:
221229 - ../skills/* # every skill under skills/
managed-agents/github Changed · +72 / -10 lines
from line 62
6262 }
6363 ],
6464 "tools": [
65 {"type": "agent_toolset_20260401"},
6665 {
66 "type": "agent_toolset_20260401",
67 "configs": [
68 {"name": "web_search", "enabled": false},
69 {"name": "web_fetch", "enabled": false}
70 ]
71 },
72 {
6773 "type": "mcp_toolset",
6874 "mcp_server_name": "github"
6975 }
from line 93
8793 url: https://api.githubcopilot.com/mcp/
8894 tools:
8995 - type: agent_toolset_20260401
96 configs:
97 - name: web_search
98 enabled: false
99 - name: web_fetch
100 enabled: false
90101 - type: mcp_toolset
91102 mcp_server_name: github
92103 ---
from line 120
109120 },
110121 ],
111122 tools=[
112 {"type": "agent_toolset_20260401"},
113123 {
124 "type": "agent_toolset_20260401",
125 "configs": [
126 {"name": "web_search", "enabled": False},
127 {"name": "web_fetch", "enabled": False},
128 ],
129 },
130 {
114131 "type": "mcp_toolset",
115132 "mcp_server_name": "github",
116133 },
from line 148
131148 }
132149 ],
133150 tools: [
134 { type: "agent_toolset_20260401" },
135151 {
152 type: "agent_toolset_20260401",
153 configs: [
154 { name: "web_search", enabled: false },
155 { name: "web_fetch", enabled: false }
156 ]
157 },
158 {
136159 type: "mcp_toolset",
137160 mcp_server_name: "github"
138161 }
from line 175
152175 ],
153176 Tools =
154177 [
155 new BetaManagedAgentsAgentToolset20260401Params(),
178 new BetaManagedAgentsAgentToolset20260401Params
179 {
180 Configs =
181 [
182 new BetaManagedAgentsWebSearchToolConfigParams { Enabled = false },
183 new BetaManagedAgentsWebFetchToolConfigParams { Enabled = false },
184 ],
185 },
156186 new BetaManagedAgentsMcpToolsetParams { McpServerName = "github" },
157187 ],
158188 });
from line 203
173203 },
174204 Tools: []anthropic.BetaAgentNewParamsToolUnion{
175205 {
176 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{},
206 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
207 Configs: []anthropic.BetaManagedAgentsAgentToolConfigParamsUnion{
208 {OfWebSearch: &anthropic.BetaManagedAgentsWebSearchToolConfigParams{
209 Enabled: anthropic.Bool(false),
210 }},
211 {OfWebFetch: &anthropic.BetaManagedAgentsWebFetchToolConfigParams{
212 Enabled: anthropic.Bool(false),
213 }},
214 },
215 },
177216 },
178217 {
179218 OfMCPToolset: &anthropic.BetaManagedAgentsMCPToolsetParams{
from line 235
196235 .name("github")
197236 .url("https://api.githubcopilot.com/mcp/")
198237 .build())
199 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build())
238 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
239 .addConfig(BetaManagedAgentsWebSearchToolConfigParams.builder()
240 .enabled(false)
241 .build())
242 .addConfig(BetaManagedAgentsWebFetchToolConfigParams.builder()
243 .enabled(false)
244 .build())
245 .build())
200246 .addTool(BetaManagedAgentsMcpToolsetParams.builder()
201247 .mcpServerName("github")
202248 .build())
from line 250
204250 ```
205251
206252 ```php PHP
253 use Anthropic\Beta\Agents\BetaManagedAgentsAgentToolset20260401Params;
254 use Anthropic\Beta\Agents\BetaManagedAgentsModel;
255 use Anthropic\Beta\Agents\BetaManagedAgentsWebFetchToolConfigParams;
256 use Anthropic\Beta\Agents\BetaManagedAgentsWebSearchToolConfigParams;
257
207258 $agent = $client->beta->agents->create(
208259 name: 'Code Reviewer',
209 model: 'claude-opus-5-5',
260 model: BetaManagedAgentsModel::CLAUDE_OPUS_5_5,
210261 system: 'You are a code review assistant with access to GitHub.',
211262 mcpServers: [
212263 [
from line 267
216267 ],
217268 ],
218269 tools: [
219 ['type' => 'agent_toolset_20260401'],
270 BetaManagedAgentsAgentToolset20260401Params::with(
271 configs: [
272 BetaManagedAgentsWebSearchToolConfigParams::with(enabled: false),
273 BetaManagedAgentsWebFetchToolConfigParams::with(enabled: false),
274 ],
275 ),
220276 [
221277 'type' => 'mcp_toolset',
222278 'mcpServerName' => 'github',
from line 284
228284 ```ruby Ruby
229285 agent = client.beta.agents.create(
230286 name: "Code Reviewer",
231 model: "claude-opus-5-5",
287 model: Anthropic::Beta::BetaManagedAgentsModel::CLAUDE_OPUS_5_5,
232288 system_: "You are a code review assistant with access to GitHub.",
233289 mcp_servers: [
234290 {
from line 294
238294 }
239295 ],
240296 tools: [
241 {type: "agent_toolset_20260401"},
297 {
298 type: "agent_toolset_20260401",
299 configs: [
300 {name: "web_search", enabled: false},
301 {name: "web_fetch", enabled: false}
302 ]
303 },
242304 {
243305 type: "mcp_toolset",
244306 mcp_server_name: "github"
managed-agents/multiagent-orchestration Changed · +81 / -8 lines
from line 868
868868
869869Before you change an existing agent’s `multiagent.type`, see [how to move an agent to this type](https://platform.claude.com/docs/en/managed-agents/multiagent-orchestration#move-from-the-coordinator-type).
870870
871This example also disables web search and web fetch, because reviewing contracts doesn’t use the web:
872
871873<CodeGroup defaultLanguage="CLI">
872874 ```bash cURL
873875 curl -fsS https://api.anthropic.com/v1/agents \
from line 881
879881 "name": "Contract Reviewer",
880882 "model": "claude-opus-5-5",
881883 "system": "You review contracts. When you are 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.",
882 "tools": [{"type": "agent_toolset_20260401"}],
884 "tools": [
885 {
886 "type": "agent_toolset_20260401",
887 "configs": [
888 {"name": "web_search", "enabled": false},
889 {"name": "web_fetch", "enabled": false}
890 ]
891 }
892 ],
883893 "multiagent": {"type": "multiagent_20261001", "workflows": {"type": "enabled"}}
884894 }'
885895 ```
from line 906
896906 model: claude-opus-5-5
897907 tools:
898908 - type: agent_toolset_20260401
909 configs:
910 - name: web_search
911 enabled: false
912 - name: web_fetch
913 enabled: false
899914 multiagent:
900915 type: multiagent_20261001
901916 workflows:
from line 927
912927 name="Contract Reviewer",
913928 model="claude-opus-5-5",
914929 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.",
915 tools=[{"type": "agent_toolset_20260401"}],
930 tools=[
931 {
932 "type": "agent_toolset_20260401",
933 "configs": [
934 {"name": "web_search", "enabled": False},
935 {"name": "web_fetch", "enabled": False},
936 ],
937 },
938 ],
916939 multiagent={"type": "multiagent_20261001", "workflows": {"type": "enabled"}},
917940 )
918941 ```
from line 946
923946 model: "claude-opus-5-5",
924947 system:
925948 "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.",
926 tools: [{ type: "agent_toolset_20260401" }],
949 tools: [
950 {
951 type: "agent_toolset_20260401",
952 configs: [
953 { name: "web_search", enabled: false },
954 { name: "web_fetch", enabled: false }
955 ]
956 }
957 ],
927958 multiagent: { type: "multiagent_20261001", workflows: { type: "enabled" } }
928959 });
929960 ```
from line 965
934965 Name = "Contract Reviewer",
935966 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
936967 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.",
937 Tools = [new BetaManagedAgentsAgentToolset20260401Params()],
968 Tools =
969 [
970 new BetaManagedAgentsAgentToolset20260401Params
971 {
972 Configs =
973 [
974 new BetaManagedAgentsWebSearchToolConfigParams { Enabled = false },
975 new BetaManagedAgentsWebFetchToolConfigParams { Enabled = false },
976 ],
977 },
978 ],
938979 Multiagent = new BetaManagedAgentsMultiagent20261001Params
939980 {
940981 Workflows = new BetaManagedAgentsMultiagentWorkflowsEnabledParams(),
from line 989
948989 Model: anthropic.BetaManagedAgentsModelConfigParams{ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5},
949990 System: anthropic.String("You review contracts. When you're asked to review more than a few contracts, start a workflow run that reads them in parallel and combines the findings. Review one or two contracts yourself, without a run."),
950991 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
951 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{},
992 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
993 Configs: []anthropic.BetaManagedAgentsAgentToolConfigParamsUnion{
994 {OfWebSearch: &anthropic.BetaManagedAgentsWebSearchToolConfigParams{
995 Enabled: anthropic.Bool(false),
996 }},
997 {OfWebFetch: &anthropic.BetaManagedAgentsWebFetchToolConfigParams{
998 Enabled: anthropic.Bool(false),
999 }},
1000 },
1001 },
9521002 }},
9531003 Multiagent: anthropic.BetaManagedAgentsMultiagentParamsUnion{
9541004 OfMultiagent20261001: &anthropic.BetaManagedAgentsMultiagent20261001Params{
from line 1019
9691019 .name("Contract Reviewer")
9701020 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
9711021 .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.")
972 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build())
1022 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
1023 .addConfig(BetaManagedAgentsWebSearchToolConfigParams.builder()
1024 .enabled(false)
1025 .build())
1026 .addConfig(BetaManagedAgentsWebFetchToolConfigParams.builder()
1027 .enabled(false)
1028 .build())
1029 .build())
9731030 .multiagent(BetaManagedAgentsMultiagent20261001Params.builder()
9741031 .workflows(BetaManagedAgentsMultiagentWorkflowsEnabledParams.builder().build())
9751032 .build())
from line 1035
9781035 ```
9791036
9801037 ```php PHP
1038 use Anthropic\Beta\Agents\BetaManagedAgentsAgentToolset20260401Params;
1039 use Anthropic\Beta\Agents\BetaManagedAgentsModel;
1040 use Anthropic\Beta\Agents\BetaManagedAgentsWebFetchToolConfigParams;
1041 use Anthropic\Beta\Agents\BetaManagedAgentsWebSearchToolConfigParams;
1042
9811043 $agent = $client->beta->agents->create(
9821044 name: 'Contract Reviewer',
9831045 model: BetaManagedAgentsModel::CLAUDE_OPUS_5_5,
9841046 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.",
9851047 tools: [
986 ['type' => 'agent_toolset_20260401'],
1048 BetaManagedAgentsAgentToolset20260401Params::with(
1049 configs: [
1050 BetaManagedAgentsWebSearchToolConfigParams::with(enabled: false),
1051 BetaManagedAgentsWebFetchToolConfigParams::with(enabled: false),
1052 ],
1053 ),
9871054 ],
9881055 multiagent: ['type' => 'multiagent_20261001', 'workflows' => ['type' => 'enabled']],
9891056 );
from line 1062
9951062 model: Anthropic::Beta::BetaManagedAgentsModel::CLAUDE_OPUS_5_5,
9961063 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.",
9971064 tools: [
998 {type: "agent_toolset_20260401"}
1065 {
1066 type: "agent_toolset_20260401",
1067 configs: [
1068 {name: "web_search", enabled: false},
1069 {name: "web_fetch", enabled: false}
1070 ]
1071 }
9991072 ],
10001073 multiagent: {type: "multiagent_20261001", workflows: {type: "enabled"}}
10011074 )
managed-agents/quickstart Changed · +79 / -10 lines
from line 175
175175 "model": "claude-opus-5-5",
176176 "system": "You are a helpful coding assistant. Write clean, well-documented code.",
177177 "tools": [
178 {"type": "agent_toolset_20260401"}
178 {
179 "type": "agent_toolset_20260401",
180 "configs": [
181 {"name": "web_search", "enabled": false},
182 {"name": "web_fetch", "enabled": false}
183 ]
184 }
179185 ]
180186 }'
181187 ```
from line 201
195201 model: claude-opus-5-5
196202 tools:
197203 - type: agent_toolset_20260401
204 configs:
205 - name: web_search
206 enabled: false
207 - name: web_fetch
208 enabled: false
198209 ---
199210
200211 You are a helpful coding assistant. Write clean, well-documented code.
from line 226
215226 model="claude-opus-5-5",
216227 system="You are a helpful coding assistant. Write clean, well-documented code.",
217228 tools=[
218 {"type": "agent_toolset_20260401"},
229 {
230 "type": "agent_toolset_20260401",
231 "configs": [
232 {"name": "web_search", "enabled": False},
233 {"name": "web_fetch", "enabled": False},
234 ],
235 },
219236 ],
220237 )
221238
from line 252
235252 name: "Coding Assistant",
236253 model: "claude-opus-5-5",
237254 system: "You are a helpful coding assistant. Write clean, well-documented code.",
238 tools: [{ type: "agent_toolset_20260401" }]
255 tools: [
256 {
257 type: "agent_toolset_20260401",
258 configs: [
259 { name: "web_search", enabled: false },
260 { name: "web_fetch", enabled: false }
261 ]
262 }
263 ]
239264 });
240265
241266 console.log(`Agent ID: ${agent.id}, version: ${agent.version}`);
from line 284
259284 Name = "Coding Assistant",
260285 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
261286 System = "You are a helpful coding assistant. Write clean, well-documented code.",
262 Tools = [new BetaManagedAgentsAgentToolset20260401Params()],
287 Tools =
288 [
289 new BetaManagedAgentsAgentToolset20260401Params
290 {
291 Configs =
292 [
293 new BetaManagedAgentsWebSearchToolConfigParams { Enabled = false },
294 new BetaManagedAgentsWebFetchToolConfigParams { Enabled = false },
295 ],
296 },
297 ],
263298 });
264299
265300 Console.WriteLine($"Agent ID: {agent.ID}, version: {agent.Version}");
from line 325
290325 },
291326 System: anthropic.String("You are a helpful coding assistant. Write clean, well-documented code."),
292327 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
293 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{},
328 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
329 Configs: []anthropic.BetaManagedAgentsAgentToolConfigParamsUnion{
330 {OfWebSearch: &anthropic.BetaManagedAgentsWebSearchToolConfigParams{
331 Enabled: anthropic.Bool(false),
332 }},
333 {OfWebFetch: &anthropic.BetaManagedAgentsWebFetchToolConfigParams{
334 Enabled: anthropic.Bool(false),
335 }},
336 },
337 },
294338 }},
295339 })
296340 if err != nil {
from line 353
309353 import com.anthropic.models.beta.agents.AgentCreateParams;
310354 import com.anthropic.models.beta.agents.BetaManagedAgentsAgentToolset20260401Params;
311355 import com.anthropic.models.beta.agents.BetaManagedAgentsModel;
356 import com.anthropic.models.beta.agents.BetaManagedAgentsWebFetchToolConfigParams;
357 import com.anthropic.models.beta.agents.BetaManagedAgentsWebSearchToolConfigParams;
312358 import com.anthropic.models.beta.environments.BetaCloudConfigParams;
313359 import com.anthropic.models.beta.environments.BetaLimitedNetworkParams;
314360 import com.anthropic.models.beta.environments.EnvironmentCreateParams;
from line 370
324370 .name("Coding Assistant")
325371 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
326372 .system("You are a helpful coding assistant. Write clean, well-documented code.")
327 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build())
373 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
374 .addConfig(BetaManagedAgentsWebSearchToolConfigParams.builder()
375 .enabled(false)
376 .build())
377 .addConfig(BetaManagedAgentsWebFetchToolConfigParams.builder()
378 .enabled(false)
379 .build())
380 .build())
328381 .build());
329382
330383 IO.println("Agent ID: " + agent.id() + ", version: " + agent.version());
from line 388
335388
336389 <CodeGroupItem>
337390 ```php PHP
391 use Anthropic\Beta\Agents\BetaManagedAgentsAgentToolset20260401Params;
338392 use Anthropic\Beta\Agents\BetaManagedAgentsModel;
393 use Anthropic\Beta\Agents\BetaManagedAgentsWebFetchToolConfigParams;
394 use Anthropic\Beta\Agents\BetaManagedAgentsWebSearchToolConfigParams;
339395 use Anthropic\Client;
340396
341397 $client = new Client();
from line 401
345401 model: BetaManagedAgentsModel::CLAUDE_OPUS_5_5,
346402 system: 'You are a helpful coding assistant. Write clean, well-documented code.',
347403 tools: [
348 ['type' => 'agent_toolset_20260401'],
404 BetaManagedAgentsAgentToolset20260401Params::with(
405 configs: [
406 BetaManagedAgentsWebSearchToolConfigParams::with(enabled: false),
407 BetaManagedAgentsWebFetchToolConfigParams::with(enabled: false),
408 ],
409 ),
349410 ],
350411 );
351412
from line 426
365426 name: "Coding Assistant",
366427 model: Anthropic::Beta::BetaManagedAgentsModel::CLAUDE_OPUS_5_5,
367428 system_: "You are a helpful coding assistant. Write clean, well-documented code.",
368 tools: [{type: "agent_toolset_20260401"}]
429 tools: [
430 {
431 type: "agent_toolset_20260401",
432 configs: [
433 {name: "web_search", enabled: false},
434 {name: "web_fetch", enabled: false}
435 ]
436 }
437 ]
369438 )
370439
371440 puts "Agent ID: #{agent.id}, version: #{agent.version}"
from line 444
375444 </CodeGroupItem>
376445 </CodeGroup>
377446
378 The `agent_toolset_20260401` tool type enables the full set of pre-built agent tools (bash, file operations, web search, and more). See [Tools](https://platform.claude.com/docs/en/managed-agents/tools) for the complete list and per-tool configuration options.
447 The `agent_toolset_20260401` tool type enables the prebuilt agent tools (bash, file operations, web search, and more). This example disables web search and web fetch because the task in this guide, writing a short Python script, doesn’t use the web. Give an agent [only the tools it needs](https://platform.claude.com/docs/en/managed-agents/secure-deployment#give-the-agent-the-smallest-tool-set). See [Tools](https://platform.claude.com/docs/en/managed-agents/tools) for the complete list and per-tool configuration options.
379448 </Step>
380449
381450 <Step title="Create an environment">
382 An environment defines the sandbox where your agent runs. This one uses `limited` [networking](https://platform.claude.com/docs/en/managed-agents/environments#networking) with package managers allowed, so code running in the sandbox can reach public [package registries and code hosts](https://platform.claude.com/docs/en/managed-agents/environments#package-manager-hosts). Web search and web fetch run outside the sandbox, and this quickstart does not need them. With `limited` networking, the [`allowed_hosts` (java, php: `allowedHosts`; csharp, go: `AllowedHosts`) list](https://platform.claude.com/docs/en/managed-agents/environments#networking) applies to them too. They return no pages or search results in this environment, because it lists no hosts. For your own agent, list the hosts it needs in `allowed_hosts` (java, php: `allowedHosts`; csharp, go: `AllowedHosts`).
451 An environment defines the sandbox where your agent runs. This one uses `limited` [networking](https://platform.claude.com/docs/en/managed-agents/environments#networking) with package managers allowed, so code running in the sandbox can reach public [package registries and code hosts](https://platform.claude.com/docs/en/managed-agents/environments#package-manager-hosts). With `limited` networking, the [`allowed_hosts` (java, php: `allowedHosts`; csharp, go: `AllowedHosts`) list](https://platform.claude.com/docs/en/managed-agents/environments#networking) also applies to web search and web fetch, even though they run outside the sandbox. With no hosts listed, as in this environment, they return no pages or search results. If your own agent uses these tools, add the hosts it needs to that list.
383452
384453 <CodeGroup defaultLanguage="CLI">
385454 <CodeGroupItem>
managed-agents/self-hosted-sandboxes-custom-tools Changed · +66 / -7 lines
from line 274
274274 name="Internal tools agent",
275275 model="claude-opus-5-5",
276276 tools=[
277 {"type": "agent_toolset_20260401"},
277 {
278 "type": "agent_toolset_20260401",
279 "configs": [
280 {"name": "web_search", "enabled": False},
281 {"name": "web_fetch", "enabled": False},
282 ],
283 },
278284 *[to_custom_tool(tool) for tool in listed.tools],
279285 ],
280286 )
from line 309
303309 name: "Internal tools agent",
304310 model: "claude-opus-5-5",
305311 tools: [
306 { type: "agent_toolset_20260401" },
312 {
313 type: "agent_toolset_20260401",
314 configs: [
315 { name: "web_search", enabled: false },
316 { name: "web_fetch", enabled: false }
317 ]
318 },
307319 // The MCP fields map one to one onto a custom tool declaration.
308320 ...tools.map((tool) => ({
309321 type: "custom" as const,
from line 347
335347 );
336348 var mcpTools = await mcpClient.ListToolsAsync();
337349
338 List<Tool> tools = [new BetaManagedAgentsAgentToolset20260401Params()];
350 List<Tool> tools =
351 [
352 new BetaManagedAgentsAgentToolset20260401Params
353 {
354 Configs =
355 [
356 new BetaManagedAgentsWebSearchToolConfigParams { Enabled = false },
357 new BetaManagedAgentsWebFetchToolConfigParams { Enabled = false },
358 ],
359 },
360 ];
339361 foreach (var tool in mcpTools)
340362 {
341363 var description = tool.Description;
from line 471
449471 }
450472
451473 tools := []anthropic.BetaAgentNewParamsToolUnion{
452 {OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{}},
474 {OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{
475 Configs: []anthropic.BetaManagedAgentsAgentToolConfigParamsUnion{
476 {OfWebSearch: &anthropic.BetaManagedAgentsWebSearchToolConfigParams{
477 Enabled: anthropic.Bool(false),
478 }},
479 {OfWebFetch: &anthropic.BetaManagedAgentsWebFetchToolConfigParams{
480 Enabled: anthropic.Bool(false),
481 }},
482 },
483 }},
453484 }
454485 for _, tool := range listed.Tools {
455486 custom, err := toCustomTool(tool)
from line 510
479510 import com.anthropic.models.beta.agents.BetaManagedAgentsCustomToolInputSchema;
480511 import com.anthropic.models.beta.agents.BetaManagedAgentsCustomToolParams;
481512 import com.anthropic.models.beta.agents.BetaManagedAgentsModel;
513 import com.anthropic.models.beta.agents.BetaManagedAgentsWebFetchToolConfigParams;
514 import com.anthropic.models.beta.agents.BetaManagedAgentsWebSearchToolConfigParams;
482515 import io.modelcontextprotocol.client.McpClient;
483516 import io.modelcontextprotocol.client.transport.HttpClientStreamableHttpTransport;
484517 import io.modelcontextprotocol.spec.McpSchema;
from line 550
517550 var params = AgentCreateParams.builder()
518551 .name("Internal tools agent")
519552 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
520 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build());
553 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
554 .addConfig(BetaManagedAgentsWebSearchToolConfigParams.builder()
555 .enabled(false)
556 .build())
557 .addConfig(BetaManagedAgentsWebFetchToolConfigParams.builder()
558 .enabled(false)
559 .build())
560 .build());
521561 for (var tool : mcpClient.listTools().tools()) {
522562 params.addTool(toCustomTool(tool));
523563 }
from line 569
529569 ```
530570
531571 ```php PHP
572 use Anthropic\Beta\Agents\BetaManagedAgentsAgentToolset20260401Params;
532573 use Anthropic\Beta\Agents\BetaManagedAgentsModel;
574 use Anthropic\Beta\Agents\BetaManagedAgentsWebFetchToolConfigParams;
575 use Anthropic\Beta\Agents\BetaManagedAgentsWebSearchToolConfigParams;
533576 use Anthropic\Client as Anthropic;
534577 use Mcp\Client as McpClient;
535578 use Mcp\Client\Transport\HttpTransport;
from line 586
543586 $mcpClient = McpClient::builder()->build();
544587 $mcpClient->connect(new HttpTransport($mcpServerUrl));
545588
546 $tools = [['type' => 'agent_toolset_20260401']];
589 $tools = [
590 BetaManagedAgentsAgentToolset20260401Params::with(
591 configs: [
592 BetaManagedAgentsWebSearchToolConfigParams::with(enabled: false),
593 BetaManagedAgentsWebFetchToolConfigParams::with(enabled: false),
594 ],
595 ),
596 ];
547597 foreach ($mcpClient->listTools()->tools as $tool) {
548598 // The MCP fields map one to one onto a custom tool declaration. The
549599 // schema's keywords pass to the SDK unchanged.
from line 646
596646 agent = client.beta.agents.create(
597647 name: "Internal tools agent",
598648 model: Anthropic::Beta::BetaManagedAgentsModel::CLAUDE_OPUS_5_5,
599 tools: [{type: :agent_toolset_20260401}, *custom_tools]
649 tools: [
650 {
651 type: :agent_toolset_20260401,
652 configs: [
653 {name: :web_search, enabled: false},
654 {name: :web_fetch, enabled: false}
655 ]
656 },
657 *custom_tools
658 ]
600659 )
601660 puts agent.id
602661
managed-agents/tools Changed · +7 / -20 lines
from line 189
189189
190190 ```php PHP
191191 use Anthropic\Beta\Agents\BetaManagedAgentsAgentToolset20260401Params;
192 use Anthropic\Beta\Agents\BetaManagedAgentsModel;
192193 use Anthropic\Beta\Agents\BetaManagedAgentsWebFetchToolConfigParams;
193194
194195 $agent = $client->beta->agents->create(
195196 name: 'Coding Assistant',
196 model: 'claude-opus-5-5',
197 model: BetaManagedAgentsModel::CLAUDE_OPUS_5_5,
197198 tools: [
198199 BetaManagedAgentsAgentToolset20260401Params::with(
199200 configs: [
from line 208
207208 ```ruby Ruby
208209 agent = client.beta.agents.create(
209210 name: "Coding Assistant",
210 model: "claude-opus-5-5",
211 model: Anthropic::Beta::BetaManagedAgentsModel::CLAUDE_OPUS_5_5,
211212 tools: [
212213 {
213214 type: :agent_toolset_20260401,
from line 269
268269
269270Claude does not run a custom tool itself. It emits a structured request, your code runs the operation, and you return the result to the session.
270271
271The following example creates an agent with the built-in toolset and one custom tool, `get_weather`:
272The following example creates an agent with one custom tool, `get_weather`, and no built-in tools:
272273
273274<CodeGroup defaultLanguage="CLI">
274275 ```bash cURL
from line 283
282283 "model": "claude-opus-5-5",
283284 "tools": [
284285 {
285 "type": "agent_toolset_20260401"
286 },
287 {
288286 "type": "custom",
289287 "name": "get_weather",
290288 "description": "Get current weather for a location",
from line 309
311309 name: Weather Agent
312310 model: claude-opus-5-5
313311 tools:
314 - type: agent_toolset_20260401
315312 - type: custom
316313 name: get_weather
317314 description: Get current weather for a location
from line 331
334331 model="claude-opus-5-5",
335332 tools=[
336333 {
337 "type": "agent_toolset_20260401",
338 },
339 {
340334 "type": "custom",
341335 "name": "get_weather",
342336 "description": "Get current weather for a location",
from line 351
357351 name: "Weather Agent",
358352 model: "claude-opus-5-5",
359353 tools: [
360 { type: "agent_toolset_20260401" },
361354 {
362355 type: "custom",
363356 name: "get_weather",
from line 375
382375 Model = BetaManagedAgentsModel.ClaudeOpus5_5,
383376 Tools =
384377 [
385 new BetaManagedAgentsAgentToolset20260401Params(),
386378 new BetaManagedAgentsCustomToolParams
387379 {
388380 Name = "get_weather",
from line 401
409401 ID: anthropic.BetaManagedAgentsModelClaudeOpus5_5,
410402 },
411403 Tools: []anthropic.BetaAgentNewParamsToolUnion{{
412 OfAgentToolset20260401: &anthropic.BetaManagedAgentsAgentToolset20260401Params{},
413 }, {
414404 OfCustom: &anthropic.BetaManagedAgentsCustomToolParams{
415405 Name: "get_weather",
416406 Description: "Get current weather for a location",
from line 428
438428 var agent = client.beta().agents().create(AgentCreateParams.builder()
439429 .name("Weather Agent")
440430 .model(BetaManagedAgentsModel.CLAUDE_OPUS_5_5)
441 .addTool(BetaManagedAgentsAgentToolset20260401Params.builder().build())
442431 .addTool(BetaManagedAgentsCustomToolParams.builder()
443432 .name("get_weather")
444433 .description("Get current weather for a location")
from line 444
455444 ```
456445
457446 ```php PHP
458 use Anthropic\Beta\Agents\BetaManagedAgentsAgentToolset20260401Params;
459447 use Anthropic\Beta\Agents\BetaManagedAgentsCustomToolInputSchema;
460448 use Anthropic\Beta\Agents\BetaManagedAgentsCustomToolParams;
449 use Anthropic\Beta\Agents\BetaManagedAgentsModel;
461450
462451 $agent = $client->beta->agents->create(
463452 name: 'Weather Agent',
464 model: 'claude-opus-5-5',
453 model: BetaManagedAgentsModel::CLAUDE_OPUS_5_5,
465454 tools: [
466 BetaManagedAgentsAgentToolset20260401Params::with(),
467455 BetaManagedAgentsCustomToolParams::with(
468456 name: 'get_weather',
469457 description: 'Get current weather for a location',
from line 467
479467 ```ruby Ruby
480468 agent = client.beta.agents.create(
481469 name: "Weather Agent",
482 model: "claude-opus-5-5",
470 model: Anthropic::Beta::BetaManagedAgentsModel::CLAUDE_OPUS_5_5,
483471 tools: [
484 {type: :agent_toolset_20260401},
485472 {
486473 type: :custom,
487474 name: "get_weather",
build-with-claude/claude-models-on-google-cloud/google-managed Changed · +1 / -1 lines
from line 469
469469
470470* [Structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs)
471471
472[Features overview](https://platform.claude.com/docs/en/build-with-claude/overview) lists every feature and whether Claude Models on Google Cloud (Google managed) supports it.
472[Features overview](https://platform.claude.com/docs/en/build-with-claude/overview) lists every feature. Each feature’s page shows whether Claude Models on Google Cloud (Google managed) supports it.
473473
474474### Features not supported
475475
manage-claude/user-profiles Changed · +1 / -1 lines
from line 10
1010
1111You register each end customer once with `POST /v1/user_profiles` and store the `uprof_` ID it returns. Then you send that ID in the `anthropic-user-profile-id` header on every request you make on that end customer’s behalf.
1212
13Profiles aren’t billable and don’t affect pricing.
13On their own, profiles don’t change billing or pricing.
1414
1515## Decide who gets a profile
1616