define-tools changedagents-and-tools/tool-use/define-tools
Nearest release: v2.1.293, published 2 hours after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Recorded here
Lines+2added
Lines−2removed
From line
75
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits13to this page, all time
The whole hunk
from line 75, old and new numbered
/
from line 75
7575 * What the tool does
7676 * When it should be used (and when it shouldn't)
7777 * What each parameter means and how it affects the tool's behavior
78 * Any important caveats or limitations, such as what information the tool does not return if the tool name is unclear. The more context you can give Claude about your tools, the better it will be at deciding when and how to use them. Aim for at least 3–4 sentences for each tool description, more if the tool is complex.
78 * Any important caveats or limitations, such as what information the tool does not return if the tool name is unclear. The more context you can give Claude about your tools, the better it will be at determining when and how to use them. Aim for at least 3–4 sentences for each tool description, more if the tool is complex.
7979
8080* **Prioritize descriptions, but consider using `input_examples` for complex tools.** Clear descriptions are most important, but for tools with complex inputs, nested objects, or format-sensitive parameters, you can use the `input_examples` field to provide schema-validated examples. See [Providing tool use examples](https://platform.claude.com/docs/en/agents-and-tools/tool-use/define-tools#providing-tool-use-examples) for details.
8181
from line 844
844844
845845When working with the `tool_choice` parameter, there are four possible options:
846846
847* `auto` allows Claude to decide whether to call any provided tools or not. This is the default value when `tools` are provided.
847* `auto` allows Claude to determine whether to call any provided tools or not. This is the default value when `tools` are provided.
848848* `any` tells Claude that it must use one of the provided tools, but doesn't force a particular tool.
849849* `tool` forces Claude to always use a particular tool.
850850* `none` prevents Claude from using any tools. This is the default value when no `tools` are provided.
No line in this hunk matches that.