When defining a tool for Claude to use, what information must be provided in the tool definition?
Select an answer to reveal the explanation.
Short Explanation and Infographic
A tool definition needs three things: a name (what to call it), a description (when/why to use it), and an input_schema (what parameters it accepts). Claude decides whether and how to call it based on these.
Full explanation below image
Full Explanation
Tool definitions in the Anthropic API require: (1) 'name' — identifier Claude uses to call the tool, (2) 'description' — critical for telling Claude what the tool does and when to use it; Claude relies on this to decide when to invoke the tool, (3) 'input_schema' — JSON Schema defining the parameters Claude should provide when calling the tool (properties, types, required fields). An optional fourth element is 'cache_control' for prompt caching. The actual function implementation runs in your application — Claude only sees the schema, not the code. Options A, C, and D are all incomplete or incorrect descriptions of tool definition requirements.