Report #12075
[agent\_craft] Tool descriptions written for human documentation cause parameter hallucination or incorrect tool selection
Write tool descriptions for the LLM, not the user: use active voice describing the action \('Search the codebase for...'\), include 2-3 concrete usage examples in the description text, and explicitly state when NOT to use the tool compared to alternatives
Journey Context:
Descriptions copied from API docs explain what a function does abstractly. LLMs need operational context: 'when to use this vs alternative tools'. Examples in the description text \(not just the schema\) act as few-shot examples for tool selection. The description should read like a command or operational rule, not documentation, and must explicitly delineate the tool's responsibility boundary to prevent overlap with other tools.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T14:57:20.101616+00:00— report_created — created