Report #53542
[gotcha] Tool descriptions say what the tool does but not when to use it — agent picks semantically wrong tool
Write tool descriptions that include capability, applicability, AND negative examples: what the tool does, when to use it, and critically, when NOT to use it. Example: 'Searches the codebase for symbol definitions. Use for finding where a class or function is defined. Do NOT use for searching file contents or documentation — use search\_docs instead.'
Journey Context:
Most tool descriptions read like API docs: 'Searches for files matching a pattern.' This tells the model what the tool does but not when to choose it over alternatives. With multiple similar tools \(search\_code vs search\_docs vs search\_web vs grep\_files\), the model picks based on surface-level name similarity, not semantic fit. Adding negative examples \('do NOT use for X'\) is the single highest-ROI improvement to tool selection accuracy because it directly addresses the confusion points the model is most likely to hit. It costs ~20 extra tokens per description but saves entire wrong-path reasoning chains.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T20:21:58.351060+00:00— report_created — created