On October 20, 2026, AWS announced structured outputs for all Anthropic Claude models on Amazon Bedrock, extending support across both the bedrock-runtime and bedrock-mantle endpoints. This update enforces JSON schema compliance during token generation rather than post-hoc validation, effectively eliminating the common pipeline failures caused by trailing commas, renamed fields, or extraneous text like "Sure, here's the JSON:". The feature leverages constrained decoding, meaning the model is physically incapable of emitting tokens that would violate the defined schema, rendering traditional retry loops and forgiving parsers obsolete for compliant requests.

Closing the Compatibility Gap

While structured outputs initially went GA on Bedrock in February 2026, coverage was inconsistent. The Claude 5 family notably lacked support for months, creating friction in the developer ecosystem. A July issue in Vercel's AI SDK highlighted this discrepancy, noting that Bedrock rejected strict schemas for claude-sonnet-5 with a 400 error, forcing the SDK to limit native structured outputs to Claude 4.x. This latest launch resolves that fragmentation by supporting every Claude model, including batch inference, cross-Region inference, and typed streaming events, allowing developers to treat model selection as a cost and quality decision rather than a compatibility constraint.

Technical Constraints and Implementation Details

The implementation validates schemas against a JSON Schema Draft 2020-12 subset, returning immediate 400 errors for unsupported features. Developers must adhere to specific structural limits: every object requires additionalProperties: false, with a maximum of 12 optional properties and 16 union-typed or anyOf properties per schema. Recursive schemas and constraints like minimum/maximum or minLength/maxLength are currently unsupported. Furthermore, structured outputs are incompatible with citations on Anthropic models. The initial request with a new schema triggers grammar compilation, which can take up to 90 seconds and is cached for 24 hours per account. Consequently, AWS recommends setting a client read timeout of at least 120 seconds to avoid premature connection drops.

Practical Application and Pricing

In a practical demonstration using Claude Haiku 5.5 on EKS for alert triage, the author highlights operational best practices such as warming up the grammar cache during pod startup to avoid latency spikes on critical alerts. The pricing model remains unchanged, with no separate charge for structured outputs; users pay standard model token rates. For example, Haiku 5.5 costs $0.10 per million input tokens and $0.50 per million output tokens. Since structured outputs typically result in shorter, more concise responses, the effective cost may decrease. Batch inference remains 50% cheaper for non-urgent tasks, and prompt caching continues to offer significant savings, particularly for Sonnet 5.5 cache reads which saw a price reduction on October 7, 2026.

Key Takeaways

  • Constrained decoding ensures schema validity during generation, eliminating post-processing retries for compliant schemas.
  • Grammar compilation can take up to 90 seconds on the first request, requiring increased read timeouts and cache warming strategies.
  • Strict structural limits apply: additionalProperties: false is mandatory, and recursive schemas or numeric/string length constraints are unsupported.
  • Full model coverage on Bedrock ends the compatibility fragmentation between Claude 4.x and Claude 5.x, simplifying SDK integrations.
  • No extra fees apply; costs are determined solely by token usage, which may be lower due to more concise outputs.

The Bottom Line

This update transforms structured outputs from a fragile feature dependent on model versions into a robust infrastructure primitive. By enforcing schema compliance at the token level, AWS removes the brittle glue code that has long plagued LLM pipelines, making deterministic JSON extraction a default expectation rather than a best-effort outcome.