fyi that neither codex nor claude code enable strict mode / structured outputs in their agent loops. u can check the source or intercept requests. they just rely on the models to make valid tool calls without grammar enforcement. so if they're not doing it, why are you?
the only place claude code emits strict mode requests is when it makes haiku subcalls, which makes sense given how small the model is and the kinds of tasks it's used for
this is all pretty obvious if you actually try to use anthropic in an agentic loop with strongly typed outputs, their grammar constraints are *tiny*, it's obvious they're rarely using it
the pattern for both is client side validation and telling the model what went wrong if it fails. we looped all the way back to like 2023 era tool calling lmao