Follow Discord
Sweep 09 Oct 2026 · 17:27Z Build v2.1.296 517 read Stable v2.1.287 Latest v2.1.296 Next v2.1.296 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · api

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
/
lines
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.
Feedback