Zod's validation errors are awful, the json schema it generates for LLM is ugly and and often confusing, the types structures Zod creates are often unintelligible in the and there's even no good way to pretty print a schema when you're debugging. Things are even worse if you're stuck with zod/v3
What's wrong with Zod validation errors?
None of this makes a lot of sense. Validation errors are largely irrelevant for LLMs and they can understand them just fine. The type structure looks good for LLMs. You can definitely pretty print a schema at runtime.
This all seems pretty uninformed.
And what makes this different? What makes it LLM-native?
It generates schemas that are strict by default while Zod requires you to set everything manually.
This is actually discussed in the linked article (READ ME file).