Anthropic released Claude Fable 5 and Claude Mythos 5 on June 9, with API IDs `claude-fable-5` and `claude-mythos-5`. Fable 5 is generally available on the Claude API, Claude Platform on AWS, Amazon Bedrock, Vertex AI, and Microsoft Foundry. Mythos 5 is limited to approved customers in Project Glasswing — same capabilities as Fable 5, no safety classifiers, contact your account team for access. Both models support a 1 million token context window by default, up to 128k output tokens per request, and price at $10 per million input tokens and $50 per million output tokens — roughly twice the cost of Claude Opus 4.8.

The mechanism worth noting is the refusal model. Fable 5 carries safety classifiers that can decline a request mid-call; when they fire, the Messages API returns `stop_reason: "refusal"` as a successful HTTP 200, not an error. A new `fallbacks` parameter lets the API retry the same prompt on another Claude model automatically, and Anthropic refunds the prompt-cache cost on retry through what it calls fallback credit. Adaptive thinking is the only thinking mode on both models — there is no `thinking: disabled` option — and raw chain of thought is never returned to callers; only summarized thinking is available, and only if you opt in.

This is the first time a Mythos-class model has shipped to the general public. Mythos Preview was announced in April for select enterprise customers and showed up in coverage of Project Glasswing deployments at Japanese megabanks and the White House's blocked zero-day pilots through May. Fable 5 is the productized, safety-classifier-wrapped version of that same model. The split — frontier capability behind a refusal layer for everyone, raw capability for vetted customers under separate contract — is now Anthropic's standard release pattern, and it's likely the template other frontier labs follow as capability outpaces what they're comfortable shipping into a public API.

A note for learners: read the refusals-and-fallback documentation before you wire Fable 5 into anything in production. The new behavior is that a successful HTTP response can still be a refusal, and your code needs to branch on `stop_reason` rather than assuming output is present. If you only check status codes, you'll silently process empty completions as if they were real answers. This is the kind of API contract change that bites integrations later — small now, hard to debug at 2 a.m. once it's deployed.