This page is a reference for the tools Anthropic provides and the optional properties you can set on any tool definition. For a conceptual introduction to tool use, see Tool use with Claude. For guidance on implementing tool use in your application, see Define tools.
Anthropic provides two kinds of tools: server tools that execute on Anthropic's infrastructure, and client tools where Anthropic defines the schema but your application handles execution. Both kinds appear in your request's tools array alongside any user-defined tools.
| Tool | type | Execution | Status |
|---|---|---|---|
| Web search tool | web_search_20260318web_search_20260209web_search_20250305 | Server | GA |
| Web fetch tool | web_fetch_20260318web_fetch_20260309web_fetch_20260209web_fetch_20250910 | Server | GA |
| Code execution tool | code_execution_20260521code_execution_20260120code_execution_20250825 | Server | GA |
| Advisor tool | advisor_20260301 | Server | Beta: advisor-tool-2026-03-01 |
| Tool search tool | tool_search_tool_regex_20251119tool_search_tool_bm25_20251119 | Server | GA |
| MCP connector | mcp_toolset | Server | Beta: mcp-client-2025-11-20 |
| Memory tool | memory_20250818 | Client | GA |
| Bash tool | bash_20250124 | Client | GA |
| Text editor tool | text_editor_20250728text_editor_20250124 | Client | GA |
| Computer use tool | computer_20251124computer_20250124 | Client | Beta: computer-use-2025-11-24computer-use-2025-01-24 |
For model compatibility, see each tool's page. Supported models vary by tool and by tool version.
Most Anthropic-provided tools carry a _YYYYMMDD suffix in the type string. A new version is released when the tool's behavior, schema, or model support changes. Older versions remain available so that existing integrations continue to work.
When a tool has multiple active versions, the relationship between them varies:
web_search_20260209 and web_fetch_20260209 add dynamic content filtering over their predecessors; web_fetch_20260309 adds a cache-bypass option; web_search_20260318 and web_fetch_20260318 add response-inclusion control. code_execution_20260120 adds programmatic tool calling from within the sandbox; code_execution_20260521 discloses the per-cell time limit in the tool description. In each case, both the new and old versions are current; which one you use depends on whether you need the new capability.text_editor_20250728 is for Claude 4 and later models and text_editor_20250124 is for earlier models. The version you use depends on the model you target.tool_search_tool_regex_20251119 and tool_search_tool_bm25_20251119 are two search algorithms released together. Neither supersedes the other.code_execution_20250522 supports only Python. code_execution_20250825 adds Bash and file operations.The mcp_toolset type is not date-versioned; versioning is carried in the anthropic-beta header instead.
Every tool in the tools array, including user-defined tools, accepts optional properties that control how the tool is loaded, who can call it, and how its inputs are validated. These properties compose: you can set defer_loading and cache_control and strict on the same tool.
| Property | Purpose | Available on | Detailed guide |
|---|---|---|---|
cache_control | Set a prompt-cache breakpoint at this tool definition | All tools | Prompt caching |
strict | Guarantee schema validation on tool names and inputs | All tools except mcp_toolset | Strict tool use |
defer_loading | Exclude the tool from the initial system prompt; load it on demand when tool search returns a tool_reference for it | All tools (for mcp_toolset, see tool configuration) | Tool search tool |
allowed_callers | Restrict which callers can call the tool | All tools except mcp_toolset | Programmatic tool calling |
input_examples | Provide example input objects to help Claude understand how to call the tool | User-defined and Anthropic-schema client tools. Not available on server tools. | Define tools |
eager_input_streaming | Enable fine-grained input streaming (true) or keep standard buffered streaming (false) for this tool | User-defined tools only | Fine-grained tool streaming |
allowed_callers values