Report #62576
[gotcha] Tool description wording causes systematic misselection between overlapping tools
Audit tool names and descriptions for semantic overlap. Use verb-noun naming that encodes the specific action and target \(e.g., 'grep\_file\_contents' not 'search'\). Make the first sentence of each description state when NOT to use this tool. Test with your specific model: present the tool list and ask which tool it would pick for 10 representative tasks.
Journey Context:
When tools like 'search\_code' and 'find\_files' coexist, or 'read\_file' and 'get\_file\_info', the model picks the wrong one at rates far higher than developers expect \(20-40% in practice\). Humans read descriptions carefully; models weight the tool name and first few words of description most heavily. Subtle description differences that seem clear to a human \('searches within file contents' vs 'finds file paths matching a pattern'\) are not distinct enough. The fix is aggressive differentiation: make names self-explanatory, front-load descriptions with the key distinction, and explicitly state boundaries \('Use this for content search, NOT for finding files by name'\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T11:31:06.810712+00:00— report_created — created