{"version":"2.1.288","anchor":"structured-outputs-unsupported-400s-are-classified-separatel","canonical_anchor":"structured-outputs-unsupported-400s-are-classified-separatel","heading":"\"Structured outputs not supported\" errors are no longer mistaken for effort errors","tier":"notice","area":"Structured Outputs","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288\/e\/structured-outputs-unsupported-400s-are-classified-separatel","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288","markdown":"### \"Structured outputs not supported\" errors are no longer mistaken for effort errors\n\nWhen a model rejects structured outputs, Claude Code now treats it as its own error instead of retrying it as an effort problem\n\n**Unclear.** It is not clear what Claude Code does differently after it recognises this error.\n\n**What**\n\nStructured outputs is a way of asking the model to answer in a fixed format. Some models do not support it, and the API then rejects the request.\n\nClaude Code now recognises that rejection as its own kind of error, `structured_outputs_unsupported`. Before, it was grouped with errors about effort, the setting for how hard the model thinks, as `effort_unsupported`. These rejections no longer start the retry Claude Code uses for effort errors.\n\n**Why**\n\nA request that uses structured outputs on a model without them is no longer retried as if the problem were the effort setting.\n\n- Area: Structured Outputs\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}