Loading...
  • Messages
  • Managed Agents
  • Admin
Search...
⌘K
First steps
Intro to ClaudeQuickstart
Building with Claude
Features overviewUsing the Messages APIHandling stop reasons
Model capabilities
Extended thinkingAdaptive thinkingEffortTask budgets (beta)Fast mode (beta: research preview)Structured outputsCitationsStreaming MessagesBatch processingSearch resultsStreaming refusalsMultilingual supportEmbeddings
Tools
OverviewHow tool use worksTutorial: Build a tool-using agentDefine toolsHandle tool callsParallel tool useTool Runner (SDK)Strict tool useTool use with prompt cachingServer toolsTroubleshootingWeb search toolWeb fetch toolCode execution toolAdvisor toolMemory toolBash toolComputer use toolText editor tool
Tool infrastructure
Tool referenceManage tool contextTool combinationsTool searchProgrammatic tool callingFine-grained tool streaming
Context management
Context windowsCompactionContext editingPrompt cachingToken counting
Working with files
Files APIPDF supportImages and vision
Skills
OverviewQuickstartBest practicesSkills for enterpriseSkills in the API
MCP
Remote MCP serversMCP connector
Claude on cloud platforms
Amazon BedrockAmazon Bedrock (legacy)Claude Platform on AWSMicrosoft FoundryVertex AI
Log in
Tool reference
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Messages/Tool infrastructure

Tool reference

Directory of Anthropic-provided tools and reference for optional tool definition properties.

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-provided 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.

TooltypeExecutionStatus
Web search toolweb_search_20260209
web_search_20250305
ServerGA
Web fetch toolweb_fetch_20260209
web_fetch_20250910
ServerGA
Code execution toolcode_execution_20260120
code_execution_20250825
ServerGA
Advisor tooladvisor_20260301ServerBeta: advisor-tool-2026-03-01
Tool search tooltool_search_tool_regex_20251119
tool_search_tool_bm25_20251119
ServerGA
MCP connectormcp_toolsetServerBeta: mcp-client-2025-11-20
Memory toolmemory_20250818ClientGA
Bash toolbash_20250124ClientGA
Text editor tooltext_editor_20250728
text_editor_20250124
ClientGA
Computer use toolcomputer_20251124
computer_20250124
ClientBeta: computer-use-2025-11-24
computer-use-2025-01-24

For model compatibility, see each tool's page. Supported models vary by tool and by tool version.

The tool search type values also accept undated aliases: tool_search_tool_regex and tool_search_tool_bm25. These resolve to the latest dated version.

Tool versioning

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:

  • Capability-keyed: web_search_20260209 and web_fetch_20260209 add dynamic content filtering over their predecessors. code_execution_20260120 adds programmatic tool calling from within the sandbox. In each case, both the new and old versions are current; which one you use depends on whether you need the new capability.
  • Model-keyed: text_editor_20250728 is for Claude 4 models and text_editor_20250124 is for earlier models. The version you use depends on the model you target.
  • Variant, not version: tool_search_tool_regex_20251119 and tool_search_tool_bm25_20251119 are two search algorithms released together. Neither supersedes the other.
  • Legacy: 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.

Tool definition properties

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.

PropertyPurposeAvailable onDetailed guide
cache_controlSet a prompt-cache breakpoint at this tool definitionAll toolsPrompt caching
strictGuarantee schema validation on tool names and inputsAll tools except mcp_toolsetStrict tool use
defer_loadingExclude the tool from the initial system prompt; load it on demand when tool search returns a tool_reference for itAll tools (for mcp_toolset, see tool configuration)Tool search tool
allowed_callersRestrict which callers can call the toolAll tools except mcp_toolsetProgrammatic tool calling
input_examplesProvide example input objects to help Claude understand how to call the toolUser-defined and Anthropic-schema client tools. Not available on server tools.Define tools
eager_input_streamingEnable fine-grained input streaming (true) or keep standard buffered streaming (false) for this toolUser-defined tools onlyFine-grained tool streaming

allowed_callers values

allowed_callers is an array that accepts any combination of:

ValueMeaning
"direct"The model can call this tool directly in a tool_use block. This is the default if allowed_callers is omitted.
"code_execution_20260120"Code running inside a code_execution_20260120 sandbox can call this tool.

Omitting "direct" from the array (for example, "allowed_callers": ["code_execution_20260120"]) means the tool is callable only from within code execution. The response's tool_use block includes a caller field that identifies which caller called the tool. See Programmatic tool calling for the full treatment, including the caller response shape and error behavior.

defer_loading and prompt caching

Tools with defer_loading: true are stripped from the rendered tools section before the cache key is computed. They don't appear in the system-prompt prefix at all. When tool search discovers a deferred tool and returns a tool_reference for it, the tool's full definition is expanded inline at that point in the conversation body, not in the prefix.

This means defer_loading: true preserves your prompt cache. You can add deferred tools to a request without invalidating an existing cache entry, and the cache remains valid across the turn where the tool is discovered and the turn where it's called.

For how to combine defer_loading with cache_control breakpoints, see the Tool search tool prompt caching guidance.

Was this page helpful?

  • Anthropic-provided tools
  • Tool versioning
  • Tool definition properties
  • allowed_callers values
  • defer_loading and prompt caching