A schema tells Claude what shape you want. By default it's guidance, not a guarantee. Claude follows it very well, but now and then a flight-booking tool that needs passengers: 2 gets "2" or "two", or a required field goes missing. One bad call in a thousand is still a crash in production.
Add strict: true to a tool and the guidance becomes a rule. Claude's output is limited, token by token, to text that fits your schema, so the input you get always matches it. The technique is called grammar- constrained sampling.