anthropic · Anthropic Claude Docs
Claude Tool Use
Covers the end-to-end implementation of tool use with Claude, including defining JSON schemas, writing effective tool descriptions, selecting appropriate models, and choosing between client-side execution and server-s...
Derived skill
Files assembled from official documentation
Viewing SKILL.md
Claude Tool Use
Covers the end-to-end implementation of tool use with Claude, including defining JSON schemas, writing effective tool descriptions, selecting appropriate models, and choosing between client-side execution and server-s...
When To Use
Use when you need to design tool schemas, write system prompts for tool use, or decide whether to implement client-side tool execution versus Anthropic's server-side tools.
Reference Files
| File | Contains | Use For |
|---|---|---|
SKILL.md | Entry point: scope, routing table, and workflow. | Start here. |
docs/define-tools-en-docs-agents-and-tool-use-implement/workflow-guide.md | A guide on specifying tool schemas, writing effective descriptions, and controlling model tool calls within the Anthropic Claude ecosystem. | Questions about a guide on specifying tool schemas, writing effective descriptions, and controlling model tool calls within the Anthr... |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-define-tools.json | A JSON object defining tool names, descriptions, and input schemas for Claude tool use implementation. | Exact payloads, commands, or snippets shown in A JSON object defining tool names, descriptions, and input schemas for Claude tool use implementation. |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-docs-define-tools-text-formatting-instructions.text | Text-based instructions for formatting string, scalar, list, and object parameters when defining tools for Claude. | Exact payloads, commands, or snippets shown in Text-based instructions for formatting string, scalar, list, and object parameters when defining tools for Claude. |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-define-tools-2.json | A JSON object demonstrating the structure for defining tool names, descriptions, and input schemas for Claude tool use. | Exact payloads, commands, or snippets shown in A JSON object demonstrating the structure for defining tool names, descriptions, and input schemas for Claude tool use. |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-docs-define-tools.json | A JSON object defining a tool structure including name, description, and input schema for use with Claude. | Exact payloads, commands, or snippets shown in A JSON object defining a tool structure including name, description, and input schema for use with Claude. |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-docs-define-tools.bash | A bash command demonstrating how to define tool schemas within a messages create request using a YAML heredoc. | Exact payloads, commands, or snippets shown in A bash command demonstrating how to define tool schemas within a messages create request using a YAML heredoc. |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-docs-define-tools.python | A Python code example demonstrating how to define tool schemas within a client messages creation request using the Anthropic SDK. | Exact payloads, commands, or snippets shown in A Python code example demonstrating how to define tool schemas within a client messages creation request using the An... |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-docs-define-tools.typescript | A TypeScript code example demonstrating how to define tool schemas within the Anthropic SDK messages creation request. | Exact payloads, commands, or snippets shown in A TypeScript code example demonstrating how to define tool schemas within the Anthropic SDK messages creation request. |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-docs-define-tools.csharp | A C# code example demonstrating how to define tool parameters and structure tool definitions when making a request to the Anthropic API. | Exact payloads, commands, or snippets shown in A C# code example demonstrating how to define tool parameters and structure tool definitions when making a request to... |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-docs-define-tools.go | A Go implementation demonstrating how to define tool parameters within a Claude Messages API request using the anthropic-sdk-go library. | Exact payloads, commands, or snippets shown in A Go implementation demonstrating how to define tool parameters within a Claude Messages API request using the anthro... |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-docs-define-tools.java | A Java code example demonstrating how to define tool parameters and input schemas using the Anthropic client library. | Exact payloads, commands, or snippets shown in A Java code example demonstrating how to define tool parameters and input schemas using the Anthropic client library. |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-docs-define-tools.php | A PHP code example demonstrating how to define tool specifications within a messages create request using the Anthropic client. | Exact payloads, commands, or snippets shown in A PHP code example demonstrating how to define tool specifications within a messages create request using the Anthrop... |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-ruby-define-tools-messages-create.ruby | A Ruby code example demonstrating how to define tool schemas within a messages create request using the Anthropic client. | Exact payloads, commands, or snippets shown in A Ruby code example demonstrating how to define tool schemas within a messages create request using the Anthropic cli... |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-docs-define-tools-tool-choice-json.text | A JSON object demonstrating how to specify a tool choice using the type and name parameters for Claude tool use. | Exact payloads, commands, or snippets shown in A JSON object demonstrating how to specify a tool choice using the type and name parameters for Claude tool use. |
examples/define-tools-en-docs-agents-and-tool-use-implement/anthropic-claude-docs-define-tools-2.json | A JSON object demonstrating the structure of a tool use request within an assistant message. | Exact payloads, commands, or snippets shown in A JSON object demonstrating the structure of a tool use request within an assistant message. |
docs/tool-use-with-claude-en-docs-agents-and-tools-overview/workflow-guide.md | An overview of how tool use works with Claude, including the distinction between client-side and server-side tool execution. | Questions about an overview of how tool use works with Claude, including the distinction between client-side and server-side tool exe... |
examples/tool-use-with-claude-en-docs-agents-and-tools-overview/anthropic-claude-messages-api-tool-use-curl-request.bash | A curl command demonstrating how to send a tool use request to the Anthropic Messages API using a web search tool definition. | Exact payloads, commands, or snippets shown in A curl command demonstrating how to send a tool use request to the Anthropic Messages API using a web search tool def... |
examples/tool-use-with-claude-en-docs-agents-and-tools-overview/anthropic-claude-docs-tool-use-bash-cli.bash | A bash command demonstrating how to use the CLI to create a message with a tool definition for web search. | Exact payloads, commands, or snippets shown in A bash command demonstrating how to use the CLI to create a message with a tool definition for web search. |
examples/tool-use-with-claude-en-docs-agents-and-tools-overview/anthropic-claude-docs-tool-use.python | A Python script demonstrating how to implement tool use by passing a tool definition to the Claude messages API. | Exact payloads, commands, or snippets shown in A Python script demonstrating how to implement tool use by passing a tool definition to the Claude messages API. |
examples/tool-use-with-claude-en-docs-agents-and-tools-overview/anthropic-claude-docs-tool-use.typescript | A TypeScript code example demonstrating how to initialize the Anthropic SDK and call the messages API with a tool definition. | Exact payloads, commands, or snippets shown in A TypeScript code example demonstrating how to initialize the Anthropic SDK and call the messages API with a tool def... |
examples/tool-use-with-claude-en-docs-agents-and-tools-overview/anthropic-claude-tool-use-json-request.json | A JSON object demonstrating a tool use request structure including a tool name and input parameters for the Claude API. | Exact payloads, commands, or snippets shown in A JSON object demonstrating a tool use request structure including a tool name and input parameters for the Claude API. |
What This Skill Covers
- Define tools: Specify tool schemas, write effective descriptions, and control when Claude calls your tools.
- Tool use with Claude: Tools differ primarily by where the code executes. Client tools (including user-defined tools and Anthropic-schema tools like bash and texteditor) run in you...
Workflow
- Start with the reference file that matches the question.
- Prefer the most relevant file under
docs/for exact instructions and prose guidance. - Use
schemas/andexamples/for exact contracts, payloads, manifests, requests, and snippets. - Do not add behavior or configuration that is not present in the attached source files.
