Report #82065
[synthesis] GPT-4o outputs malformed XML with missing closing tags while Claude handles it perfectly
When requiring structured output from GPT-4o, prefer JSON with response\_format json\_object. If XML is strictly required, use Claude, but if forced to use GPT-4o for XML, explicitly list the opening and closing tag pairs in the prompt and provide a few-shot example.
Journey Context:
Developers often standardize on XML for complex reasoning because it is easier for the model to interleave thought tags with code. Claude was trained heavily on XML. GPT-4o training heavily favors JSON due to function calling and web APIs. Asking GPT-4o for complex nested XML often results in malformed tags or missing closures, while Claude excels. The tradeoff is readability vs. reliability. The right call is to use JSON for GPT-4o and XML for Claude, or convert between them, rather than forcing a single format.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T20:20:24.462498+00:00— report_created — created