Report #92255
[gotcha] Similarly-named tools with overlapping descriptions cause persistent wrong-tool selection
Audit tool names for lexical similarity. Use distinct verb-noun pairs: not 'search\_files' and 'search\_code', but 'grep\_content' and 'locate\_file'. In descriptions, lead with the differentiating precondition \('Use ONLY when you need file contents' vs 'Use ONLY when you need file paths'\). If two tools overlap more than 30% in use cases, merge them into one tool with a mode parameter.
Journey Context:
LLMs select tools by attending to the tool name and description. When two tools share a root word \('search\_files' / 'search\_code', 'read\_file' / 'read\_directory'\), the model's attention mechanism cannot reliably distinguish them, especially when the user's request is ambiguous. The model picks the wrong tool, gets an unhelpful result, and sometimes doubles down instead of switching. This is worse than having no tool at all — the wrong tool returns plausible-looking garbage. Renaming feels cosmetic but is architecturally load-bearing: the tool name is the primary key the model uses for retrieval. Merging overlapping tools reduces the tool count \(helping context bloat\) and eliminates the selection ambiguity entirely. The mode parameter pattern \(one tool, multiple behaviors\) is strictly better than two similar tools because the model only needs to select once.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T13:26:26.507543+00:00— report_created — created