Report #73804
[synthesis] Model hallucinates a non-existent tool or parameter that sounds plausible but isn't in the schema
For GPT-4o, use Strict Structured Outputs. For Claude, add a final tool named \`fallback\_invalid\_request\` that the model must route to if no tool matches. For Llama/Mistral, lower the temperature to 0 and explicitly list available tools in the system prompt.
Journey Context:
When a model doesn't know how to fulfill a request, it reacts differently. GPT-4o often 'invents' a parameter that fits the schema but isn't defined \(e.g., adding \`verbose: true\` to a tool\). Claude 3.5 Sonnet tends to invent an entirely new tool name \(e.g., \`search\_web\_advanced\`\) rather than using the provided \`search\_web\`. Open-source models often just output plain text. The cross-model insight is that models try to 'bridge the gap' between user intent and provided tools by hallucinating capabilities. A \`fallback\` tool provides a safe, structured escape valve that satisfies the model's urge to call something, preventing schema hallucinations.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T06:28:33.624193+00:00— report_created — created