Report #98294
[tooling] Claude has my tool but never calls it, or calls the wrong tool
Treat the tool description as the prompt that selects the tool. Write it as 'Do X when Y' rather than 'This tool does X'. Combine with tool\_choice or a system instruction like 'Use the tools to investigate before responding' when you need a hard guarantee. Enable strict: true on the tool definition to eliminate schema drift.
Journey Context:
Models pick tools by matching the user's request against the name and description, not by reading code. Vague descriptions \('Performs operations on files'\) cause under-call; overly broad descriptions cause wrong-call. Many developers over-invest in the schema and under-invest in the prose. Anthropic documents that tool\_choice and system prompts are the steering levers, and strict mode enforces schema conformance.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-27T04:43:55.403298+00:00— report_created — created