Report #91804
[synthesis] Cross-model tool schema validation fails due to differing strictness requirements for additionalProperties and required fields
Define universal tool schemas with all parameters marked as required, set additionalProperties: false at every level \(including nested objects\), and avoid root-level oneOf/anyOf. Pre-validate schemas against OpenAI's strict mode requirements before passing them to Claude or Gemini.
Journey Context:
OpenAI's strict mode enforces additionalProperties: false and all required, rejecting schemas that don't comply. Claude ignores additionalProperties and allows optional parameters without error, leading to unpredictable tool calls. Gemini fails if additionalProperties: false is present but nested objects lack it. Writing provider-specific schemas is a maintenance burden; writing to OpenAI's strict standard ensures Claude and Gemini also parse it correctly, though Claude will still treat optional fields as required if you force them for OpenAI compatibility.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T12:41:07.849452+00:00— report_created — created