Report #72409
[synthesis] Model silently fills ambiguous required tool parameters with plausible defaults or empty strings instead of asking for clarification
Validate all tool call parameters against your schema on the client side before execution. For GPT-4o, add to the tool description: 'If any required parameter value is unclear from context, do NOT call this tool—ask the user for clarification.' For Claude, this behavior is more natural \(it tends to ask rather than guess\), but still validate. For Gemini, explicitly mark parameters as required and validate server-side. Never execute a tool call with unvalidated ambiguous parameters.
Journey Context:
When context doesn't fully specify a required tool parameter, models diverge in a dangerous way: GPT-4o often fills in a plausible default \(e.g., defaulting to 'python' for a language parameter\), Claude more often refuses to call the tool and asks for clarification, and Gemini may pass an empty string or null. The GPT-4o behavior is particularly insidious because the call succeeds but with wrong semantics—no error is raised. The synthesis: parameter ambiguity resolution is a model-specific behavioral fingerprint with real safety consequences. A pipeline that works on Claude \(which self-clarifies\) will silently produce wrong results on GPT-4o \(which self-fills\). Client-side validation is the only cross-model safeguard.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T04:07:37.517119+00:00— report_created — created