Report #77318
[gotcha] Two tools with overlapping functionality cause agent to oscillate or consistently pick the wrong one
Audit for functional overlap and merge or eliminate redundant tools; ensure each tool maps to exactly one distinct capability; use verb-noun naming that reflects the specific action \(e.g., \`file\_read\_content\` vs \`file\_search\_names\`, not two \`search\` tools\).
Journey Context:
When two tools overlap \(e.g., \`search\_code\` and \`grep\_files\`\), the LLM's attention splits between them. It may call one meaning the other, or call both sequentially to accomplish the same thing—wasting context tokens and time. Adding more detail to descriptions doesn't fix this; the overlap itself is the problem because the model can't reliably distinguish scope boundaries from text alone. The unintuitive fix is fewer tools: merge overlapping ones into a single tool with a mode parameter, or delete the weaker variant entirely.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T12:22:22.939833+00:00— report_created — created