VOOZH about

URL: https://platform.claude.com/docs/en/managed-agents/tools

⇱ Tools - Claude API Docs


Tools
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Claude Managed Agents provides a set of built-in tools that Claude can use autonomously within a session. You control which tools are available by specifying them in the agent configuration.

Custom, user-defined tools are also supported. Your application executes these tools separately and sends the tool results back to Claude; Claude can use the results to continue the task at hand.

All Managed Agents API requests require the managed-agents-2026-04-01 beta header. The SDK sets the beta header automatically.

Available tools

The agent toolset includes the following tools. All are enabled by default when you include the toolset in your agent configuration.

ToolNameDescription
BashbashExecute bash commands in a shell session
ReadreadRead a file from the local filesystem
WritewriteWrite a file to the local filesystem

Was this page helpful?

Edit
edit
Perform string replacement in a file
GlobglobFast file pattern matching using glob patterns
GrepgrepText search using regex patterns
Web fetchweb_fetchFetch content from a URL
Web searchweb_searchSearch the web for information

When a tool output exceeds 100,000 tokens, it is automatically written to a file in the sandbox. The model receives a truncated preview with the file path and can read the full content from there.

Configuring the toolset

Enable the full toolset with agent_toolset_20260401 when creating an agent. Use the configs array to disable specific tools or override their settings.

ant beta:agents create <<'YAML'
name: Coding Assistant
model: claude-opus-4-8
tools:
 - type: agent_toolset_20260401
 configs:
 - name: web_fetch
 enabled: false
YAML

Disabling specific tools

To disable a tool, set enabled: false in its config entry:

{
 "type": "agent_toolset_20260401",
 "configs": [
 { "name": "web_fetch", "enabled": false },
 { "name": "web_search", "enabled": false }
 ]
}

Enabling only specific tools

To start with everything off and enable only what you need, set default_config.enabled to false:

{
 "type": "agent_toolset_20260401",
 "default_config": { "enabled": false },
 "configs": [
 { "name": "bash", "enabled": true },
 { "name": "read", "enabled": true },
 { "name": "write", "enabled": true }
 ]
}

Custom tools

In addition to built-in tools, you can define custom tools. Custom tools are analogous to user-defined client tools in the Messages API.

Custom tools allow you to extend Claude's capabilities to perform a wider variety of tasks. Each tool defines a contract: you specify what operations are available and what they return; Claude determines when and how to call them. The model never executes anything on its own. It emits a structured request, your code runs the operation, and the result flows back into the conversation.

ant beta:agents create <<'YAML'
name: Weather Agent
model: claude-opus-4-8
tools:
 - type: agent_toolset_20260401
 - type: custom
 name: get_weather
 description: Get current weather for a location
 input_schema:
 type: object
 properties:
 location:
 type: string
 description: City name
 required:
 - location
YAML

Once you've defined the tool at the agent level, the agent invokes the tools through the course of a session. See Session event stream for the full flow.

Best practices for custom tool definitions