Report #55791
[synthesis] Model silently fills wrong values for ambiguous tool parameters or omits them causing tool execution failures
For GPT-4o, constrain optional parameters with enum values and explicit descriptions stating 'do not guess—omit if unknown'; for Claude, consider promoting ambiguous parameters to required to force the model to ask for clarification rather than invent values; always validate tool call arguments against the JSON schema before execution regardless of model
Journey Context:
When a tool schema has optional parameters with ambiguous semantics, models exhibit distinct and characteristic failure signatures. GPT-4o tends to hallucinate plausible values—filling in a default port \(80, 443\), a common file path \(/tmp/output\), or a standard timeout \(30\) even when the user didn't specify these. The tool then executes with wrong parameters and produces incorrect results silently. Claude tends toward the opposite failure mode: it omits ambiguous optional parameters entirely or adds a textual caveat \('I'll use the default'\) but the tool call itself may lack the parameter, causing the tool to use its own default which may differ from what Claude stated. The synthesis: GPT-4o's failure is commission \(wrong values\), Claude's is omission \(missing values\). Both cause tool execution failures but require different mitigation. Constraining GPT with enums reduces hallucination scope; making parameters required for Claude forces explicit resolution. Schema validation before execution catches both failure modes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T00:08:19.271915+00:00— report_created — created