Structured Outputs Expand to Claude Haiku 4.5 — What Changed in the December API Update
Anthropic's December API release notes confirm that structured outputs — the feature that forces Claude to produce responses conforming exactly to a developer-supplied JSON schema — is now available on claude-haiku-4-5, expanding beyond the Sonnet-and-above tier where it was previously accessible. This matters for cost-sensitive applications that need guaranteed output shapes. Previously, developers who needed exact schema compliance in high-volume pipelines were pushed towards more expensive models. Haiku 4.5 brings structured outputs within reach for classification, tagging, extraction, and other high-frequency, lower-complexity tasks where schema adherence is the primary requirement and a model's reasoning depth is secondary.
How structured outputs differ from asking Claude to return JSON
- Prompt-based JSON requests: Asking Claude to "respond in JSON" via the system prompt works most of the time but is not guaranteed — Claude might add prose, wrap the JSON in a code block, or subtly deviate from the expected schema under edge-case inputs.
- Structured outputs (enforced): When using the
toolsparameter with a defined input schema, or the dedicated structured outputs API, Claude is constrained at the token level to produce output that matches the provided JSON Schema. Downstream parsing is then reliable without defensive try/catch logic. - When to use each: Use prompt-based JSON for low-stakes prototypes and cases where schema flexibility is acceptable. Use structured outputs whenever you need downstream code to consume Claude's response reliably without defensive parsing logic.
Write descriptions for every field in your JSON schema — not just for human readers, but because Claude uses field descriptions to decide what value to place in each field. A field named status with no description will receive a worse-quality value than one described as "the current lifecycle status of the order: one of 'pending', 'processing', 'shipped', or 'cancelled'."