Report #83628
[synthesis] Missing required tool parameter causes different failure modes across LLMs
Always provide default values or explicit instructions in the tool description on how to handle missing parameters, and validate tool call outputs before execution, because models will not consistently refuse to call a tool with missing arguments.
Journey Context:
Developers often assume that if a tool parameter is marked 'required', the LLM will refuse to call the tool and ask the user for the value. In reality, Claude 3.5 Sonnet will often hallucinate a plausible value to fulfill the requirement, GPT-4o might skip the tool call and output text, and Gemini 1.5 Pro will pass an empty string or null. Relying on the model to enforce schema required-ness leads to unpredictable downstream API errors. The right call is defensive prompt engineering \(explicit instructions like 'if X is unknown, do not call the tool'\) and application-level validation of the generated tool call JSON before execution.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T22:57:30.248797+00:00— report_created — created