Schema comparison
OpenAI vs Anthropic tool schemas: strict-mode differences
Compare wrappers, required fields, optionality, object closure, and complexity limits for OpenAI and Anthropic strict tools.
Both providers offer schema-constrained tool arguments, but identical JSON should not be assumed. OpenAI strict requires all properties in required, while Anthropic documents separate schema complexity limits and performs SDK-side transformations.
Read the schema and its provider wrapper as one contract. APITC distinguishes target requirements from portable JSON Schema, applies mechanical repairs only when intent is recoverable, and identifies transformations that can change meaning.
Diagnostic procedure
Repair the schema, then recompile.
- 01
Keep one canonical contract
Store business intent separately from provider wrappers.
- 02
Compile optionality per target
Do not make every provider inherit OpenAI’s nullable-required encoding.
- 03
Test structural budgets
Count optionals and unions before sending large strict tools to Anthropic.
OpenAI: { type, name, description, parameters, strict }Anthropic: { name, description, input_schema, strict }$.inputSchemaClose this objectOpenAI strict requires additionalProperties: false on every object.
$.inputSchemaRequired array is incompleteStrict mode requires every property in required. APITC will make limit nullable.
No account · no upload · no endpoint calledOpen the full tool schema compiler and operating notes →
FAQ
Before you ship
Does APITC upload my schema?
No. Parsing, diagnostics, and compilation run in your browser tab.
Is the compiled result guaranteed to preserve meaning?
Safe repairs are deterministic. When either provider cannot express a source constraint, APITC labels the transform as lossy instead of hiding it.
Protocol behavior checked against the Anthropic strict tool use. Recheck your pinned provider/API version before production deployment.