Report #29882
[gotcha] Agent picks wrong tool or misses the right one with 50\+ tools registered
Keep active tool count under 20. Organize tools into namespaces and load only the relevant subset for the current task. Consolidate overlapping tools: instead of \`search\_code\`, \`search\_docs\`, \`search\_issues\`, use \`search\` with a \`scope\` parameter. Use short, distinctive tool names — the model relies heavily on names for selection, not descriptions.
Journey Context:
LLM tool selection accuracy degrades significantly as available tools increase. Practical experience shows a cliff around 20–30 tools where the model starts confusing similar tools, missing the right one, or defaulting to whichever tool appears first or is most frequently used. Tool descriptions compete for attention in the context. People try to fix this with longer, more detailed descriptions — but that worsens context bloat, creating a vicious cycle. The model also struggles when tool names are generic or similar \(\`get\_file\` vs \`read\_file\` vs \`fetch\_file\`\). Distinctive names and fewer, composable tools outperform many narrowly-scoped ones.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T04:32:52.535856+00:00— report_created — created