Amazon has made Claude structured outputs generally available on Amazon Bedrock, so every Anthropic Claude model there can now return JSON that always matches a schema you define. The update, announced on October 19, covers both of Bedrock’s Claude endpoints. For developers, it means fewer broken responses, less cleanup code and more dependable AI apps.
What Claude Structured Outputs Do on Bedrock
When you build an app on a large language model, you often need answers in a fixed format, like a JSON object with specific fields. Until now, many teams had to parse the reply, check it and retry when the model drifted from the format. Amazon says that extra parsing, retry logic and post-processing are no longer needed for Claude on Bedrock.
The feature works through a method called constrained decoding. Instead of checking the answer after it is written, Bedrock enforces your JSON schema while the model generates each token. The model simply cannot produce output that breaks the schema, which turns formatting from a guess into a guarantee.
The big shift here is timing: the format is enforced while Claude writes, not fixed up afterward.
Two ways to use it
Amazon describes two related tools that now work on both endpoints. The first is a JSON schema output format that shapes the model’s full reply. The second is strict tool use, which makes sure the inputs Claude sends to a tool match that tool’s schema exactly.
- Every response is valid JSON, so parse errors go away.
- Field types are enforced and required fields are always present.
- The model cannot add fields your schema does not define.
- Fewer extra fields can mean fewer output tokens and lower costs at high volume.
Where Claude Structured Outputs Work
The support spans the bedrock-runtime endpoint, which developers usually call through Boto3 and the InvokeModel API, and the newer bedrock-mantle endpoint, which uses the Messages API. Amazon positions Mantle for agent-style apps that use server-side tools, background inference and ongoing conversations. Strict tool use is especially useful there, since agents chain many tool calls together.
Structured outputs also work with batch inference for large, asynchronous jobs. On bedrock-runtime, they work with cross-Region inference too. If you need answers in real time, you can stream structured replies as typed events.
| Detail | What Amazon says |
|---|---|
| Models covered | All Anthropic Claude models on Bedrock, where available |
| Endpoints | bedrock-runtime and bedrock-mantle |
| Schema standard | A supported subset of JSON Schema Draft 2020-12 |
| Grammar cache | 24 hours, scoped to your account |
| Batch and streaming | Both supported |
| Status | Generally available |
How It Works Behind the Scenes
When you send a request with a schema, Bedrock first checks that the schema fits the supported rules. For a new schema, it then compiles a grammar, so the very first request may take a little longer. After that, the compiled grammar is cached for 24 hours, and later requests with the same schema run with little extra delay.
Changing the structure of a schema clears that cache and triggers a fresh compile. Changing only a field’s name or description text leaves the cached grammar in place. That makes it smart to reuse the same schemas across your app.
Limits to keep in mind
Some JSON Schema rules are accepted but not enforced during generation. These include number limits like minimum and maximum, and string length limits like minLength and maxLength. You still need to check those in your own code.
Amazon also notes two cases where a reply may not match your schema: when the model refuses a request for safety reasons, and when it hits the max token limit before finishing. Every object in your schema must also set additionalProperties to false, or Bedrock will not accept it.
What This Means for You
If you already build on Claude models through AWS, this update removes a common source of bugs. It matters most for three jobs Amazon highlights: pulling data out of documents, making agent tool calls reliable and sorting content at scale.
- Data extraction: turn invoices, contracts, emails and transcripts into clean JSON for your database or CRM.
- Agent tool calls: keep multi-step workflows from failing on badly formed inputs.
- Classification: tag tickets, leads or content by intent, priority and sentiment.
Amazon suggests faster, lighter models like Haiku 5.5 for quick, repeated tasks such as classification. For heavier reasoning, you might pair this with the new Opus 5.5 model. Either way, start with a small schema, use clear field names and test on real data before you ship.
Teams that already use tools like Claude Code Review or agent tracing tools will see this as another step toward production-ready Claude agents. If you are new to building with the model, our guide on Claude for coding is a good place to begin. You can find more updates like this on our AI news page.
Sources
This article is based on the official AWS Machine Learning Blog announcement, which also includes setup examples and schema guidelines.
Conclusion
Structured outputs for Claude on Amazon Bedrock make model replies predictable by enforcing your JSON schema as the text is generated. The feature now covers every Claude model on both Bedrock endpoints and works with batch jobs and streaming. A few schema rules still need your own checks, and refusals or token limits can break the format. For most teams, though, this cuts out a lot of fragile parsing code and makes Claude agents easier to trust in production.



