Two changes in the September 1 release will hit your agent stack on the same day. Forced tool use is gone and now errors out, while cache reads dropped to a quarter of their old price. One breaks your orchestration layer, the other quietly cuts your bill. Handle them together.
Anthropic shipped Claude Fable 5.1 on September 1, reachable as claude-fable-5-1 on the Claude API. Most of the coverage went to benchmarks. The two things that will actually change your Monday are buried in the migration notes, and they pull in opposite directions.
The breaking one first. Forced tool use is no longer supported. If your code sets tool_choice to {"type": "any"} or to {"type": "tool", "name": "..."}, Fable 5.1 returns a 400 invalid_request_error saying that tool_choice type tool and any are not supported for this model. Only auto, which is the default, and none still work. This matters because forcing a tool is the single most common way teams make an agent deterministic at a specific step: you know the model must call the search function here, so you force it rather than hope. That pattern now fails closed on the first request after you swap the model string. The replacement Anthropic points to is strict tool use or structured outputs with strict set to true, which constrains the shape of what comes back rather than compelling the call itself. It is a different guarantee, and it is worth deciding deliberately which of your forced calls actually needed compulsion and which only needed a reliable schema.
The favorable one is pricing, and it is larger than it looks. Fable 5.1 lists at $10 per million input tokens and $50 per million output tokens, unchanged in shape. Cache reads, however, now cost $0.25 per million tokens. In ratio terms, cache reads run 0.025 times the base input price on this model, against 0.1 times on other Claude models. Cache writes are unchanged at $12.50 per million for the five minute window and $20 per million for the one hour window, and the minimum cacheable prompt is still 512 tokens. If you are running a long lived agent that carries a large system prompt, a tool catalog and accumulated history across many turns, cache reads are usually your dominant line item, not fresh input. Anthropic put the practical saving at around 25 percent for typical workloads and up to around 45 percent for heavily agentic work.
Those two changes interact in a way that is easy to miss. The cheaper cache makes it economically sensible to keep more context resident rather than trimming aggressively between turns, and the model carries a 1 million token window at standard per token pricing across the whole window with a 128k maximum output. But every edit to earlier turns invalidates the cache and, on this model, invalidates thinking blocks too. Fable 5.1 can read thinking blocks from earlier Claude models; earlier models cannot read Fable 5.1 thinking blocks. If your agent loop rewrites history, reorders turns or rebuilds the system and tools arrays each request, you will pay write prices repeatedly and never see the discount you migrated for.
The honest summary: this is a cheaper and more capable model that is stricter about how you call it. Budget half a day for the tool_choice audit before you touch anything else, and measure your cache hit rate before and after so you can tell whether you actually captured the price cut or just moved to a model that rejects your calls.
Try it today
- Grep your codebase for tool_choice and list every call site that sets type any or type tool. Those are your migration blockers.
- For each one, decide whether you needed the model compelled to call a tool or only needed a guaranteed output shape. If it is the shape, move to strict tool use or structured outputs with strict set to true.
- Measure your current cache read to cache write ratio before migrating, so you have a baseline to compare against.
- Audit your agent loop for anything that edits, reorders or rebuilds earlier turns, the system array or the tools array between requests. Each of those invalidates the cache and the thinking blocks.
- Confirm your cached prefix clears 512 tokens, then swap the model string to claude-fable-5-1 in a staging environment and measure again before promoting.