Report #64172
[synthesis] Ambiguous tool call parameter resolution differs drastically across Claude, GPT-4o, and Gemini
When defining tool schemas, make all ambiguous or loosely-typed parameters strictly enumerated \(enums\) rather than strings or numbers. Do not rely on the model to infer the correct mapping from natural language to a loose schema.
Journey Context:
Developers often leave tool parameters as loose strings expecting the LLM to infer the correct value. Testing identical ambiguous prompts \(e.g., 'set the temperature to medium'\) reveals GPT-4o often passes 'medium' even if the schema expects an integer \(causing an API error\), Claude 3.5 Sonnet maps it to a reasonable default \(e.g., 0.5\) or asks for clarification, and Gemini 1.5 Pro might skip the tool entirely and answer using its internal knowledge. The synthesis is that 'LLM reasoning' over tool schemas is not portable; strict schema constraints \(enums\) are the only way to guarantee cross-model deterministic behavior.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T14:11:57.127202+00:00— report_created — created