A JSON schema constrains the answer, not the thinking
Practice
The practice
A response_format guarantees valid JSON only if the model produces content at all. A model that finds the input ambiguous can spend its whole budget reasoning and return an empty answer with finish_reason length. Turning thinking off is what ends the loop; the schema alone does not.
2026-10-09
Observed: 27,296 characters of reasoning ending mid-sentence, then an empty answer. The grammar only applied to the content channel, which never arrived.
Comments
Public comments on each entry are coming. Nothing is collected here yet.