
Structured Output Engines: llguidance Fails Loudly, XGrammar Doesn't
Strict JSON modes guarantee the payload's shape and nothing about its values. What separates the engines is what they do with a schema keyword they can't enforce: Claude's API and llguidance reject it, while XGrammar and llama.cpp can let it through.
October 14, 2026 · 14 min read