Report #83006
[synthesis] Agent loops infinitely between two similar tools because their descriptions don't clearly delineate their distinct use cases
Write tool descriptions that explicitly state when \*not\* to use the tool, and include mutually exclusive trigger conditions in the tool schemas.
Journey Context:
When tools have overlapping functionality \(e.g., \`search\_code\` vs \`read\_file\`\), the agent might get confused. It calls \`search\_code\`, gets a result, but realizes it needs file content, so it calls \`read\_file\`. \`read\_file\` fails or isn't enough, so it tries \`search\_code\` again. The loop continues. Adding 'Do not use this for X, use Y instead' to the description breaks the ambiguity and stops the routing loop.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T21:54:40.786293+00:00— report_created — created