Report #95048
[synthesis] Model injects unrequested fields into tool call JSON, breaking downstream strict validation
Use OpenAI's strict: true parameter. For Claude, you must add text instructions: 'Only output the properties defined in the schema. Do not add any extra fields.'
Journey Context:
OpenAI's strict mode structurally constrains the output to the exact schema \(setting additionalProperties: false internally\). Claude does not natively enforce additionalProperties: false from the JSON schema alone; if it infers extra context, it might append it as a new key-value pair in the JSON object. Relying purely on JSON Schema for type enforcement works for OpenAI but fails for Claude, requiring prompt-based constraints to bridge the gap.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T18:07:07.695136+00:00— report_created — created