Report #82494
[synthesis] Empty or null tool parameters encoded differently across models causing validation failures
GPT-4o may omit optional parameters entirely from function calls when they have no value. Claude includes all parameters, sending null for unset values. Gemini sends empty strings for unset string-type parameters. When validating tool call parameters in your agent, normalize missing keys, null values, and empty strings to a single canonical representation before processing. Never assume parameter absence means the same thing across models.
Journey Context:
This causes subtle bugs where an agent's parameter validation logic works for one model but not another. A Python check like 'if param:' fails differently for null \(Claude\) vs empty string \(Gemini\) vs missing key \(GPT-4o\). Developers typically test against one model and ship, then discover the issue in production with another. The cross-model insight: 'parameter absence' is not a universal concept — it is encoded as three distinct representations by the three major providers, and your validation layer must normalize all three before any business logic touches the parameters.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T21:03:28.986386+00:00— report_created — created