{"version":"2.1.300","anchor":"json-schema-to-zod-conversion-gains-uniqueitems-contains-an","canonical_anchor":"json-schema-to-zod-conversion-gains-uniqueitems-contains-an","heading":"Tool input checks now enforce more JSON Schema rules","tier":"notice","area":"MCP","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300\/e\/json-schema-to-zod-conversion-gains-uniqueitems-contains-an","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300","markdown":"### Tool input checks now enforce more JSON Schema rules\n\nClaude Code now enforces the JSON Schema rules for unique items, required contents and property counts, which it used to ignore\n\n**What**\n\nJSON Schema is a standard way to describe what shape some data should have, such as the inputs a tool accepts. When Claude Code turns these descriptions into checks, it now enforces rules it used to ignore:\n\n- `uniqueItems`: no duplicates in a list, with an error saying which item repeats which\n\n- `contains`, `minContains`, `maxContains`: a list must include matching items, within set limits\n\n- `minProperties`, `maxProperties`: limits on how many fields an object has\n\nThe check for base64url text, a way of writing data as plain letters and numbers, is also stricter about padding length.\n\n**Why**\n\nTools from MCP servers, and structured outputs, that use these rules are now checked more strictly. Data that used to pass may now be rejected.\n\n- Area: MCP\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}