Tool definition
A tool definition is the name, description and input schema that describe a tool to a model, counted as input when a client includes it in a request.
A model cannot call what it has not been told about, so every tool it may use is described in the request itself. In the Claude API the description is an entry in the tools parameter: a name, a plain-language description and an input_schema written in JSON Schema. The model decides when to call a tool from the request and the tool's description.
All of it is billed as input. Anthropic's pricing counts tool names, descriptions and schemas as input tokens, and as soon as any tool is present the API adds a tool-use system prompt of a few hundred tokens, 286 on Claude Opus 5.5 as of September 2026. Anthropic-defined tools carry definitions of their own, and the calls and results that follow are billed on top.
In an agent, built-in tools, MCP servers and plugins can all contribute definitions. Whether an unused tool occupies context depends on the client: some include detailed schemas up front, while others defer them. As of September 2026, Claude Code defers MCP tool definitions by default and Codex can defer discoverable MCP tools through tool search.
Definitions also sit at the very front of the prompt cache. Anthropic caches prefixes in the order tools, system prompt, messages, so adding, removing or editing a tool between requests invalidates everything cached after it, and the next request pays to process the whole context again.