Claude Fable 5.2 and Claude Mythos 5.2 migration guide
Switch to Claude Fable 5.2 and Claude Mythos 5.2 from Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5.5, or an earlier Claude Fable, Claude Mythos, or Claude Opus model with this migration guide. The guidance to enable Claude Fable 5.2 and Claude Mythos 5.2 includes model IDs, breaking changes, and migration checklists.
Claude Code
Let Claude Code migrate your code for you
/claude-api migrate this project to claude-fable-5-2If your Claude Managed Agents agent has an advisor, the advisor’s model is a second model name to update: set it to claude-fable-5-2 or claude-mythos-5-2 when you change the agent’s model. See A Claude Fable 5.2 executor needs a Claude Fable 5.2 or Claude Mythos 5.2 advisor.
The following sections cover moving to Claude Fable 5.2, or to Claude Mythos 5.2, from Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5.5, or an earlier Claude Fable, Claude Mythos, or Claude Opus model. For the changes themselves, see What’s new in Claude Fable 5.2. For behavioral differences and model-specific prompting patterns, see Prompting Claude Fable 5.2.
Claude Fable 5.2 is available on the Claude API, Claude Platform on AWS, and Claude Models on Google Cloud (Anthropic managed). It’s also available on Amazon Bedrock. It’s also available on Claude Models on Google Cloud (Google managed). It’s also available on Microsoft Foundry. Claude Mythos 5.2 has the same capabilities and is available only to organizations verified through Anthropic’s verification programs, such as the Cyber Verification Program.
The baseline settings shared by claude-fable-5-2 and claude-mythos-5-2:
- Thinking: Adaptive thinking is always on, unchanged from Claude Fable 5.1. The model determines when and how much to think, and the effort parameter controls how deeply. Both
thinking: {type: "disabled"}and manual extended thinking (thinking: {type: "enabled", budget_tokens: N}) return a 400 error. - Effort: All five effort levels are supported, and the default is
high, unchanged from Claude Fable 5.1. See Recommended effort levels for Claude Fable 5.2. - Prefill: Prefilling the assistant message returns a 400 error, unchanged from Claude Fable 5.1. Use system prompt instructions instead.
- Sampling parameters: Omit
temperature,top_p, andtop_k, as on Claude Fable 5.1. See Sampling parameters for the values that return a 400 error. - Tool choice:
{type: "auto"}(the default) and{type: "none"}are supported. Forcing a tool call with{type: "any"}or{type: "tool", name: "..."}returns a 400 error, unchanged from Claude Fable 5.1. - Structured outputs: In an organization with customer-managed encryption keys (CMEK), structured outputs aren’t available for either model, as for Claude Fable 5.1. That covers both strict tool use and JSON outputs. If your requests set
strict: trueoroutput_config.formatthere, remove them and validate the output in your code. - Preserved thinking across models: On the Claude API and Claude Models on Google Cloud (Google managed), Claude Fable 5.2 and Claude Mythos 5.2 read each other’s thinking blocks and those from other models, including Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5. No other model reads their blocks. See Switching models mid-conversation for the list.
- Account-bound thinking: Thinking blocks from Claude Fable 5.2 and Claude Mythos 5.2 work only in the account that produced them, or in an account linked to it. When another account sends one of these blocks, the API drops the block before the model receives it, and the request succeeds. On the Claude API and Claude Models on Google Cloud (Google managed), with the
thinking-binding-controls-2026-08-01beta header, the response lists each dropped block ininput_transformationswithreason: "organization_binding_mismatch". See Thinking blocks stay with the account that produced them. - Context window and output: A 1M token context window by default, and up to 128k output tokens for each request.
- Pricing: $8 USD per million input tokens and $40 USD per million output tokens, compared with $10 USD and $50 USD on Claude Fable 5.1 and Claude Mythos 5.1. Prompt cache reads are $0.20 USD per million tokens, compared with $0.25 USD on those models. See Pricing.
- Data retention: Both models require 30-day data retention, aren’t available under zero data retention (ZDR) arrangements unless expressly authorized by Anthropic, and are designated Covered Models, the same as Claude Fable 5.1 and Claude Mythos 5.1. On the Claude API, a request from an organization or workspace without 30-day retention returns a 400
invalid_request_error. Organizations with a ZDR arrangement should contact their Anthropic account team, or configure retention for individual workspaces. See Model-specific data retention requirements for per-platform details. - Priority Tier: Neither model is supported on Priority Tier.
- Fast mode: Both models support fast mode in Messages API requests. Availability of fast mode lists each model’s platforms.
Where the two models diverge:
- Availability: On the Claude API, Claude Fable 5.2 doesn’t require access approval. Claude Mythos 5.2 is available only to organizations verified through Anthropic’s verification programs, such as the Cyber Verification Program. To request access, apply to the program that covers your use case, or contact your Anthropic account team.
- Rate limits: Claude Fable 5.2 has its own rate limit, separate from the combined limit that Claude Fable 5.1 and Claude Fable 5 share. Claude Mythos 5.2 shares one combined limit with Claude Mythos 5.1 and Claude Mythos 5. See Rate limits.
Migrating to Claude Fable 5.2 from Claude Fable 5.1
Migration is mostly drop-in. The API surface, always-on adaptive thinking, the forced tool choice restriction, refusal handling, stop_details categories, and the data retention requirement all match Claude Fable 5.1. Claude Fable 5.2 costs less: $8 USD per million input tokens and $40 USD per million output tokens, compared with $10 USD and $50 USD on Claude Fable 5.1. Four changes can break your code. The prefix check, which catches edits to earlier turns, applies to every account. Claude Fable 5.1 can’t read Claude Fable 5.2’s thinking blocks. The earlier computer use tool, computer_20251124, returns a 400 error on every platform except Amazon Bedrock. With the advisor tool, a Claude Fable 5.2 executor accepts only Claude Fable 5.2 or Claude Mythos 5.2 as its advisor.
Update your model name
model = "claude-fable-5-1" # Before
model = "claude-fable-5-2" # AfterThe model ID is claude-fable-5-2 on every platform except Amazon Bedrock, where it’s anthropic.claude-fable-5-2. For each platform’s ID, see the Claude Fable 5.2 model page.
Breaking changes
-
The prefix check applies to every account: Each
thinkingblock from Claude Fable 5.2 is valid only against thesystemprompt,tools, and conversation history that preceded it, as on Claude Fable 5.1. Claude Fable 5.2 enforces this prefix check for every account, whatever its age. Claude Fable 5.1 enforces it by default for accounts created on or after August 31, 2026. So on an older account, requests that pass on Claude Fable 5.1 can fail on Claude Fable 5.2.Nothing changes for you if Claude Code, claude.ai, Claude Managed Agents, or the Claude Agent SDK manages your conversation history. If your code builds the
messagesarray itself, compare what it does between requests with the list in Who the prefix check affects. A request that sends a thinking block back after one of those edits returns a 400 error:messages.5.content.0: Invalid `signature` in `thinking` block. The block is bound to a different conversation. Remove the block, or set `thinking.block_binding.prefix_mismatch_behavior` to "drop_block". That setting requires the `thinking-binding-controls-2026-08-01` value in the `anthropic-beta` header.Retrying the same request body doesn’t clear the error. To find these edits before you switch production traffic, run the check in Check whether your code edits the prefix against the model you use now, Claude Fable 5.1 or Claude Opus 5.5. It works from any account, because setting
prefix_mismatch_behavioropts the request into the check. Preserved thinking gives the fix for each pattern.In production, leave
prefix_mismatch_behaviorat its default,"error", if a mismatch can only mean a bug in your code. To drop the affected blocks and continue without that reasoning while you fix the edit, set it to"drop_block". Treat that as a stopgap, not a long-term setting: dropping blocks can raise output tokens. -
Claude Fable 5.1 can’t read Claude Fable 5.2’s thinking blocks: On the Claude API and Claude Models on Google Cloud (Google managed), Claude Fable 5.2 reads Claude Fable 5.1’s blocks, so a conversation that moves from
claude-fable-5-1ontoclaude-fable-5-2keeps its earlier reasoning. In the other direction, Claude Fable 5.1 can’t read Claude Fable 5.2’s blocks. If a router switch, a client-side retry, or a classifier refusal fallback moves a conversation from Claude Fable 5.2 to another model, Claude Fable 5.1 included, the API drops the blocks that model can’t read. The request succeeds, and you aren’t billed for the dropped input tokens. The model then works without that reasoning, which can raise cost and latency on the first turn after the switch. With thethinking-binding-controls-2026-08-01beta header,input_transformationslists each dropped block withreason: "model_binding_mismatch". See Switching models mid-conversation. -
Use the computer use toolset instead of
computer_20251124: Atoolsentry of typecomputer_20251124returns a 400 error on every platform except Amazon Bedrock. Declare thecomputer_toolset_20260801toolset instead: drop the beta header and send the entry with nonameor display dimensions. Then update your agent loop for the toolset, as Migrate fromcomputer_20251124describes. On Amazon Bedrock, the earlier tool works as it does on Claude Fable 5.1. -
A Claude Fable 5.2 executor needs a Claude Fable 5.2 or Claude Mythos 5.2 advisor: With the advisor tool, which is in beta, the advisor must be at least as capable as the executor. A Claude Fable 5.2 or Claude Mythos 5.2 executor accepts only Claude Fable 5.2 or Claude Mythos 5.2 as its advisor, and any other advisor, including Claude Fable 5.1 and Claude Mythos 5.1, returns a 400
invalid_request_error. When you change the executor’s model ID, set themodelin the advisor tool definition toclaude-fable-5-2orclaude-mythos-5-2. Changing the advisor’smodelis an edit totools, so make the change in new conversations. A request that sends earlier thinking blocks back after the change fails the prefix check (see The prefix check applies to every account) and returns a 400 error, unless you setprefix_mismatch_behaviorto"drop_block". To keep your current executor and change only the advisor, set the advisor’smodeltoclaude-fable-5-2: every executor model accepts it. A Claude Fable 5.2 advisor returns its advice encrypted, so if your code reads the advice text, see Result variants. The same pairs apply to the advisor of a Claude Managed Agents agent, so set that advisor’smodelto one of these two models when you change the agent’s. See Model compatibility and Give the session an advisor.
Behavior changes
- Prompt lines that ask for less thinking don’t stop the model from thinking at
mediumeffort and above: Claude Fable 5.1 usually follows a line such as “answer directly without deliberating.” In Anthropic’s testing, such a line didn’t stop Claude Fable 5.2 from thinking atmediumand above. Remove these lines and lower the effort level. See Calibrate effort. - The model can start subagents to review its own work at higher effort: In an agentic coding product at higher effort levels, such as
xhighandmax, Anthropic observed Claude Fable 5.2 using subagents to review its own work. Claude Fable 5.1 didn’t do this on the same tasks. Subagents can account for a large part of what a session costs. See Set expectations for subagents. - A small
max_tokenscan leave no room for text: Thinking tokens count towardmax_tokens, so a request with a smallmax_tokenscan stop withstop_reason: "max_tokens"after athinkingblock and before any text. A prompt line that usually keeps Claude Fable 5.1 from thinking doesn’t keep Claude Fable 5.2 from thinking atmediumeffort and above. So a request that relied on such a line to fit a smallmax_tokenson Claude Fable 5.1 can run out of tokens before any text on Claude Fable 5.2. Raisemax_tokensto leave room for thinking, or choose a lower effort level.
For the other behaviors to check when you carry prompts over, see Behavior differences.
Migration checklist
- Update the model name from
claude-fable-5-1toclaude-fable-5-2. - Check your rate limits before you move production traffic. Claude Fable 5.2 has its own rate limit, separate from the one Claude Fable 5.1 and Claude Fable 5 share.
- If you use computer use through
computer_20251124anywhere except Amazon Bedrock, Claude Fable 5.2 returns a 400 error for that tool. Declarecomputer_toolset_20260801instead and update your agent loop for the toolset. - If you use the advisor tool with Claude Fable 5.2 as the executor, set the advisor’s
modeltoclaude-fable-5-2orclaude-mythos-5-2. - If your code builds the
messagesarray itself, run a session with thethinking-binding-controls-2026-08-01beta header andprefix_mismatch_behavior: "drop_block", loginput_transformations, and fix everyprefix_binding_mismatchentry. Do this even if your account never hit the check on Claude Fable 5.1. - Pick a production
prefix_mismatch_behavior:"error"(the default), or"drop_block"as a stopgap while you fix the edits, because dropping blocks can raise output tokens. Monitor the 400 errors or theinput_transformationsentries. - Keep passing
thinkingblocks back unchanged on every turn, including empty ones. If a router or fallback can move a conversation from Claude Fable 5.2 to Claude Fable 5.1, expect Claude Fable 5.1 to run without Claude Fable 5.2’s blocks. - If you replay stored conversations through a different account, replay each one through the account that produced it, or an account linked to it. The API drops Claude Fable 5.2 thinking blocks that another account produced. See Thinking blocks stay with the account that produced them.
- Re-run your effort sweep on your own evals, and re-baseline cost and latency.
- Check the system prompts, skills, and other instructions you carry over against Review instructions written for earlier models.
Migrating to Claude Mythos 5.2 from Claude Mythos 5.1
Claude Mythos 5.2 is the counterpart to Claude Fable 5.2 for organizations verified through Anthropic’s verification programs, such as the Cyber Verification Program. Confirm that your organization has access to Claude Mythos 5.2 before you switch model IDs.
Claude Mythos 5.2 enforces the prefix check for every account, as Claude Fable 5.2 does. When prefix_mismatch_behavior is unset shows where Claude Mythos 5.1 already returns the error. On Amazon Bedrock, Claude Mythos 5.2 returns the 400 error for edited earlier turns, where Claude Mythos 5.1 accepts such a request. If your code edits earlier turns, see Editing earlier turns invalidates thinking blocks for what to change and how to test, and run the test against claude-mythos-5-2.
On the Claude API and Claude Models on Google Cloud (Google managed), Claude Mythos 5.2 reads Claude Mythos 5.1’s thinking blocks, so a conversation that moves from claude-mythos-5-1 onto claude-mythos-5-2 keeps its earlier reasoning. In the other direction, Claude Mythos 5.1 can’t read Claude Mythos 5.2’s blocks: the API drops them, and the request succeeds. See Switching models mid-conversation.
With the advisor tool, which is in beta, a Claude Mythos 5.2 executor accepts only Claude Mythos 5.2 or Claude Fable 5.2 as its advisor. A Claude Mythos 5.1 or Claude Fable 5.1 advisor returns a 400 error. See A Claude Fable 5.2 executor needs a Claude Fable 5.2 or Claude Mythos 5.2 advisor.
Claude Mythos 5.2 supports computer use through the computer_toolset_20260801 toolset. A tools entry of type computer_20251124 returns a 400 error on every platform except Amazon Bedrock, where the earlier tool works. See Use the computer use toolset instead of computer_20251124.
Claude Mythos 5.2 costs $8 USD per million input tokens and $40 USD per million output tokens, compared with $10 USD and $50 USD on Claude Mythos 5.1. Prompt cache reads are $0.20 USD per million tokens, compared with $0.25 USD.
Update your model name
model = "claude-mythos-5-1" # Before
model = "claude-mythos-5-2" # AfterMigration checklist
- Update the model name from
claude-mythos-5-1toclaude-mythos-5-2. - If you use computer use through
computer_20251124anywhere except Amazon Bedrock, Claude Mythos 5.2 returns a 400 error for that tool. Declarecomputer_toolset_20260801instead and update your agent loop for the toolset. - If you use the advisor tool with Claude Mythos 5.2 as the executor, set the advisor’s
modeltoclaude-mythos-5-2orclaude-fable-5-2. - Keep passing
thinkingblocks back unchanged on every turn, including empty ones. - If you replay stored conversations through a different account, replay each one through the account that produced it, or an account linked to it. The API drops Claude Mythos 5.2 thinking blocks that another account produced. See Thinking blocks stay with the account that produced them.
- If your code builds the
messagesarray itself, run the check in Editing earlier turns invalidates thinking blocks againstclaude-mythos-5-2, fix everyprefix_binding_mismatchentry, and keep conversation history append-only (see What counts as an edit). An append-only history also keeps the prompt cache warm. - Handle
stop_reason: "refusal"and readstop_details.categorybefore response content. See Refusals and fallback. - Re-run your effort sweep, and re-baseline cost and latency.
- Check the system prompts, skills, and other instructions you carry over against Review instructions written for earlier models.
Migrating to Claude Fable 5.2 from Claude Opus 5.5
Claude Fable 5.2 uses the same Messages API and tool use patterns as Claude Opus 5.5. Both models always think adaptively and return a 400 error for forced tool choice, so those parts of your requests carry over. The following differences apply when you move traffic, or a fallback path, onto Claude Fable 5.2.
Update your model name
model = "claude-opus-5-5" # Before
model = "claude-fable-5-2" # AfterWhat changes
-
Data retention is required: Claude Fable 5.2 requires 30-day data retention and isn’t available under a zero data retention (ZDR) arrangement unless expressly authorized by Anthropic. If your organization or workspace runs Claude Opus 5.5 under ZDR, enable 30-day retention for a workspace or contact your Anthropic account team before you switch. Otherwise, on the Claude API, every request to Claude Fable 5.2 returns a 400
invalid_request_error. See Model-specific data retention requirements. -
The prefix check applies to every account: Claude Opus 5.5 enforces the prefix check by default for accounts created on or after August 31, 2026. Claude Fable 5.2 enforces it for every account, whatever its age. If your account is older and your code edits earlier turns, requests that work on Claude Opus 5.5 fail on Claude Fable 5.2. To test before you switch, see The prefix check applies to every account.
-
Claude Opus 5.5 can’t read Claude Fable 5.2’s thinking blocks: A conversation that moves from Claude Fable 5.2 to Claude Opus 5.5 keeps its text and tool calls, but the turns after the switch run without Claude Fable 5.2’s reasoning. The API drops those blocks before the model receives them, the request succeeds, and the dropped blocks aren’t billed. Expect higher cost and latency on the first turn after the switch. In the other direction, on the Claude API and Claude Models on Google Cloud (Google managed), Claude Fable 5.2 reads Claude Opus 5.5’s thinking blocks, so a conversation that moves from
claude-opus-5-5ontoclaude-fable-5-2keeps its earlier reasoning. -
Safety classifiers and fallback: Claude Fable 5.2 runs safety classifiers covering the same
stop_detailscategories as Claude Fable 5.1. Handle every category in the refusal category table, not only the ones you’ve seen from Claude Opus 5.5. To re-run declined requests on another model, setfallbacks: "default", which retries on the model Anthropic recommends for that category, or build your own retry. That parameter is in beta on the Claude API and Claude Models on Google Cloud (Anthropic managed), and needs theserver-side-fallback-2026-07-01beta header. The permitted fallback targets for Claude Fable 5.2 are Claude Opus 4.8 (claude-opus-4-8) and Claude Opus 5 (claude-opus-5). Server-side fallback doesn’t retry a request declined with"reasoning_extraction". That refusal comes back to you. The fallback model doesn’t receive Claude Fable 5.2’s thinking blocks. See Refusals and fallback. -
Pricing: Claude Fable 5.2 costs $8 USD per million input tokens and $40 USD per million output tokens, compared with $4 USD and $20 USD for Claude Opus 5.5. Prompt cache reads are $0.20 USD per million tokens on both models. See Pricing.
-
Fast mode: Claude Fable 5.2 supports fast mode (
speed: "fast") in Messages API requests on the Claude API, as Claude Opus 5.5 does. Fast mode for Claude Fable 5.2 costs $16 USD per million input tokens and $80 USD per million output tokens, compared with $8 USD and $40 USD for Claude Opus 5.5 in fast mode. See Fast mode pricing.Claude Fable 5.2 also supports fast mode on Claude Models on Google Cloud (Anthropic managed), with the same
speed: "fast"setting.Claude Fable 5.2 also supports fast mode on Claude Models on Google Cloud (Google managed), with the same
speed: "fast"setting. Google Cloud sets its prices there. See Cloud platform pricing.Claude Fable 5.2 also supports fast mode on Claude in Microsoft Foundry for deployments hosted on Anthropic. There, fast mode is a separate model: send requests to a
claude-fable-5-2-fastdeployment and leave outspeed.Claude Mythos 5.2 also supports fast mode in Messages API requests on the Claude API, at Claude Fable 5.2’s fast mode prices. Availability of fast mode lists every platform where Claude Mythos 5.2 has fast mode.
Remove
speed: "fast"in Claude Managed Agents. Also remove it on any platform or hosting option where Availability of fast mode doesn’t list the model you move to. -
Structured outputs in CMEK organizations: In an organization with customer-managed encryption keys, Claude Opus 5.5 supports structured outputs and Claude Fable 5.2 doesn’t. Remove
strict: trueandoutput_config.formatfrom requests you move, and validate the output in your code. -
The default effort is
high: Claude Opus 5.5 defaults tomedium, so a request that omitseffortruns one level higher on Claude Fable 5.2. The request succeeds, and the change shows up only as different cost, latency, and results. Seteffortexplicitly, then re-run your effort sweep on your own evals. -
A Claude Fable 5.2 executor needs a Claude Fable 5.2 or Claude Mythos 5.2 advisor: With the advisor tool, which is in beta, a Claude Opus 5.5 executor accepts several advisors, Claude Opus 5.5 and Claude Fable 5.1 among them. A Claude Fable 5.2 executor accepts only Claude Fable 5.2 or Claude Mythos 5.2, and any other advisor returns a 400 error. Set the advisor’s
modeltoclaude-fable-5-2orclaude-mythos-5-2when you change the executor’s. See A Claude Fable 5.2 executor needs a Claude Fable 5.2 or Claude Mythos 5.2 advisor.
Migration checklist
- If your organization has a ZDR arrangement, enable 30-day retention for the workspace, or confirm eligibility with your Anthropic account team, before anything else.
- Update the model ID from
claude-opus-5-5toclaude-fable-5-2. - Check your rate limits before you move production traffic. Claude Fable 5.2’s rate limit is separate from Claude Opus 5.5’s, with lower token limits at each tier.
- If your code builds the
messagesarray itself, run the test in The prefix check applies to every account, even if your account never hit the check on Claude Opus 5.5. - Handle every
stop_details.category. If you set an explicitfallbackslist, name only Claude Fable 5.2’s permitted targets. - If a router or fallback moves conversations from Claude Fable 5.2 to Claude Opus 5.5, expect the turns after the switch to run without Claude Fable 5.2’s thinking blocks.
- If you replay stored conversations through a different account, replay each one through the account that produced it, or an account linked to it. The API drops Claude Fable 5.2 thinking blocks that another account produced. See Thinking blocks stay with the account that produced them.
-
If you use fast mode in Messages API requests, keep
speed: "fast"only on a platform or hosting option where Availability of fast mode lists the model you move to. On those platforms and hosting options, re-baseline cost against the fast mode prices. On every other platform or hosting option, and in Claude Managed Agents, removespeed: "fast". You don’t need thefast-mode-2026-02-01beta header. On the Claude API, requests that send it keep working. Claude in Microsoft Foundry is the exception: there, removespeed: "fast"and send requests to aclaude-fable-5-2-fastdeployment. - If you use the advisor tool with Claude Fable 5.2 as the executor, set the advisor’s
modeltoclaude-fable-5-2orclaude-mythos-5-2. - In an organization with customer-managed encryption keys, remove
strict: trueandoutput_config.format, and validate the output in your code. - Set
effortexplicitly: Claude Fable 5.2’s default ishigh, where Claude Opus 5.5’s ismedium, so a request that omits it runs one level higher. Then re-run your effort sweep on your own evals, and re-baseline cost and latency. - Check the system prompts, skills, and other instructions you carry over against Review instructions written for earlier models.
Migrating to Claude Fable 5.2 from Claude Fable 5
The API surface, context window and output limits, tokenizer, always-on adaptive thinking, and refusal handling all match Claude Fable 5. Some of the following changes also apply when you move from Claude Mythos 5 to Claude Mythos 5.2. Migrating to Claude Mythos 5.2 from Claude Mythos 5 says which ones.
Update your model name
model = "claude-fable-5" # Before
model = "claude-fable-5-2" # AfterBreaking changes
-
Forced tool choice returns a 400 error: Claude Fable 5 accepts
tool_choiceauto,none,any, andtool. Onclaude-fable-5-2,{type: "any"}and{type: "tool", name: "..."}return a 400invalid_request_error, and so does the token counting endpoint. See Forced tool use not supported for the error message.To get the tool call without forcing it, leave
tool_choiceatautoand name the tool in your instruction. Setstrict: trueon the tool so the call matches your schema. See Strict tool use. If you forced a tool only to get schema-valid JSON, use JSON outputs instead. In an organization with customer-managed encryption keys, structured outputs aren’t available for Claude Fable 5.2 or Claude Mythos 5.2. That covers both strict tool use and JSON outputs. There, keepautoand the instruction, leave outstrict, and validate the tool input in your code.If your application requires a specific tool call on the current turn, append a mid-conversation system message after the latest
userturn. Name the tool, say that the call is required for this turn, and tell Claude to open its response with it. Earlier turns stay unchanged, so their prompt cache hits and thinking blocks stay valid. Mid-conversation system messages lists the platforms where they’re available. For a turn that must not call tools,tool_choice: {"type": "none"}still works. See Forcing tool use. -
Editing earlier turns invalidates thinking blocks, on every account: Claude Fable 5 doesn’t check whether earlier turns changed. On Claude Fable 5.2, each
thinkingblock is valid only against thesystemprompt,tools, and messages that came before it. Claude Fable 5.2 enforces this prefix check for every account. A request that sends a thinking block back after any of those changed returns a 400 error, and retrying the same request body doesn’t clear it.Nothing changes for you if Claude Code, claude.ai, Claude Managed Agents, or the Claude Agent SDK manages your conversation history. If your code builds the
messagesarray itself, keep the history append-only. Freezesystemandtoolsfor the session. Make instruction and tool changes with mid-conversation system messages, and trim context with server-side compaction or context editing. Mid-conversation system messages lists the platforms where they’re available. Make changes without editing the prefix gives the replacement for each common edit.To find these edits before you switch production traffic, run the check in Check whether your code edits the prefix against
claude-fable-5-2. In production, leaveprefix_mismatch_behaviorat its default,"error", if a mismatch can only mean a bug in your code. To drop the affected blocks and continue without that reasoning while you fix the edit, set it to"drop_block"with thethinking-binding-controls-2026-08-01beta header. Treat that as a stopgap, not a long-term setting: dropping blocks can raise output tokens. -
Claude Fable 5 can’t read Claude Fable 5.2’s thinking blocks: On the Claude API and Claude Models on Google Cloud (Google managed), Claude Fable 5.2 reads Claude Fable 5’s blocks, so a conversation that moves from
claude-fable-5ontoclaude-fable-5-2keeps its earlier reasoning. In the other direction, Claude Fable 5 can’t read Claude Fable 5.2’s blocks. If a router switch, a client-side retry, or a classifier refusal fallback moves a conversation from Claude Fable 5.2 to another model, Claude Fable 5 included, the API drops the blocks that model can’t read. The request succeeds, and you aren’t billed for the dropped input tokens. With thethinking-binding-controls-2026-08-01beta header,input_transformationslists each dropped block withreason: "model_binding_mismatch". See Switching models mid-conversation. -
Use the computer use toolset instead of
computer_20251124: On Claude Fable 5.2, atoolsentry of typecomputer_20251124returns a 400 error on every platform except Amazon Bedrock. Claude Fable 5 accepts it with its beta header. Declare thecomputer_toolset_20260801toolset instead, as Use the computer use toolset instead ofcomputer_20251124describes. -
A Claude Fable 5.2 executor needs a Claude Fable 5.2 or Claude Mythos 5.2 advisor: With the advisor tool, which is in beta, a Claude Fable 5.2 executor accepts only Claude Fable 5.2 or Claude Mythos 5.2 as its advisor. The other advisors a Claude Fable 5 executor accepts, such as Claude Fable 5 and Claude Opus 5.5, return a 400 error. Set the advisor’s
modeltoclaude-fable-5-2orclaude-mythos-5-2when you change the executor’s. See A Claude Fable 5.2 executor needs a Claude Fable 5.2 or Claude Mythos 5.2 advisor.
Other changes
- Pricing: $8 USD per million input tokens and $40 USD per million output tokens, compared with $10 USD and $50 USD on Claude Fable 5. Prompt cache reads are $0.20 USD per million tokens, compared with $1 USD. See Pricing.
- Priority Tier: Claude Fable 5.2 isn’t supported on Priority Tier. Claude Fable 5 is. If your organization has a Priority Tier commitment, plan capacity separately.
- Per-message effort (beta): To change effort partway through a conversation without losing prompt cache hits, send a per-message effort
role: "system"message instead of changingoutput_config.effortbetween requests. That section lists the platforms where it’s available.
Migration checklist
- Update the model name from
claude-fable-5toclaude-fable-5-2. - Check your rate limits before you move production traffic. Claude Fable 5.2 has its own rate limit, separate from the one Claude Fable 5.1 and Claude Fable 5 share.
- Replace forced
tool_choice({type: "any"}or{type: "tool", ...}) with{type: "auto"}plus an explicit instruction andstrict: truetools, or with JSON outputs. Put the instruction in theuserturn. When your application requires the call, put it in a mid-conversationrole: "system"message instead, on the platforms that Mid-conversation system messages lists. In an organization with customer-managed encryption keys, strict tool use and JSON outputs aren’t available for Claude Fable 5.2. There, keep{type: "auto"}and the instruction, and validate the tool input in your code. - If your code builds the
messagesarray itself, run a session with thethinking-binding-controls-2026-08-01beta header andprefix_mismatch_behavior: "drop_block", loginput_transformations, and fix everyprefix_binding_mismatchentry.model_binding_mismatchentries after a model switch are expected. - Keep the history append-only: freeze
systemandtoolsat session start, make mid-session changes withrole: "system"messages, and trim context on the server. Mid-conversation system messages lists the platforms where they’re available. - Pick a production
prefix_mismatch_behavior:"error"(the default), or"drop_block"as a stopgap while you fix the edits, because dropping blocks can raise output tokens. Monitor the 400 errors or theinput_transformationsentries. - Keep passing
thinkingblocks back unchanged on every turn, including empty ones. If a router or fallback can move a conversation from Claude Fable 5.2 to Claude Fable 5, expect Claude Fable 5 to run without Claude Fable 5.2’s blocks. - If you replay stored conversations through a different account, replay each one through the account that produced it, or an account linked to it. The API drops Claude Fable 5.2 thinking blocks that another account produced. See Thinking blocks stay with the account that produced them.
- If you use computer use through
computer_20251124anywhere except Amazon Bedrock, Claude Fable 5.2 returns a 400 error for that tool. Declarecomputer_toolset_20260801instead and update your agent loop for the toolset. - If you use the advisor tool with Claude Fable 5.2 as the executor, set the advisor’s
modeltoclaude-fable-5-2orclaude-mythos-5-2. - If you change effort between requests, move the change to a per-message effort
role: "system"message, which is in beta, where your platform supports it. - If your organization has a Priority Tier commitment, plan capacity separately.
- Handle
stop_reason: "refusal"and readstop_details.category. Considerfallbacks: "default", in beta on the Claude API and Claude Models on Google Cloud (Anthropic managed). - Re-run your effort sweep on your own evals, and re-baseline cost and latency.
- Check the system prompts, skills, and other instructions you carry over against Review instructions written for earlier models.
Migrating to Claude Mythos 5.2 from Claude Mythos 5
Claude Mythos 5.2 is the counterpart to Claude Fable 5.2 for organizations verified through Anthropic’s verification programs, such as the Cyber Verification Program. Confirm that your organization has access to Claude Mythos 5.2 before you switch model IDs.
Four of the changes in Migrating to Claude Fable 5.2 from Claude Fable 5 apply as written:
- Forced tool choice returns a 400 error.
- Editing earlier turns invalidates thinking blocks (for every account).
- Use the computer use toolset instead of
computer_20251124. - A Claude Fable 5.2 or Claude Mythos 5.2 executor needs one of those two models as its advisor.
On the Claude API and Claude Models on Google Cloud (Google managed), Claude Mythos 5.2 reads Claude Mythos 5’s thinking blocks, so a conversation that moves from claude-mythos-5 onto claude-mythos-5-2 keeps its earlier reasoning. In the other direction, Claude Mythos 5 can’t read Claude Mythos 5.2’s blocks: the API drops them, and the request succeeds. See Switching models mid-conversation. Claude Mythos 5.2 costs $8 USD per million input tokens and $40 USD per million output tokens, compared with $10 USD and $50 USD on Claude Mythos 5. Prompt cache reads are $0.20 USD per million tokens, compared with $1 USD.
Update your model name
model = "claude-mythos-5" # Before
model = "claude-mythos-5-2" # AfterMigration checklist
- Update the model name from
claude-mythos-5toclaude-mythos-5-2. - Replace forced
tool_choice(anyortool) withautoplus an explicit instruction andstrict: truetools, or with JSON outputs. In an organization with customer-managed encryption keys, strict tool use and JSON outputs aren’t available for Claude Mythos 5.2. There, keepautoand the instruction, and validate the tool input in your code. - If you use computer use through
computer_20251124anywhere except Amazon Bedrock, Claude Mythos 5.2 returns a 400 error for that tool. Declarecomputer_toolset_20260801instead and update your agent loop for the toolset. - If you use the advisor tool with Claude Mythos 5.2 as the executor, set the advisor’s
modeltoclaude-mythos-5-2orclaude-fable-5-2. - Keep passing
thinkingblocks back unchanged on every turn, including empty ones. - If you replay stored conversations through a different account, replay each one through the account that produced it, or an account linked to it. The API drops Claude Mythos 5.2 thinking blocks that another account produced. See Thinking blocks stay with the account that produced them.
- If your code builds the
messagesarray itself, run the check in Editing earlier turns invalidates thinking blocks againstclaude-mythos-5-2, fix everyprefix_binding_mismatchentry, and keep conversation history append-only (see What counts as an edit). An append-only history also keeps the prompt cache warm. - Handle
stop_reason: "refusal"and readstop_details.categorybefore response content. See Refusals and fallback. - Re-run your effort sweep, and re-baseline cost and latency.
- Check the system prompts, skills, and other instructions you carry over against Review instructions written for earlier models.
Migrating to Claude Fable 5.2 from Claude Opus 5
Claude Fable 5.2 uses the same Messages API and tool use patterns as Claude Opus 5. The 1M token context window, 128k max output tokens, the 512-token prompt caching minimum, and mid-conversation system messages carry over. So do the restrictions on prefill and sampling parameters. The following differences apply when you move traffic, or a fallback path, onto Claude Fable 5.2.
Update your model name
model = "claude-opus-5" # Before
model = "claude-fable-5-2" # AfterWhat changes
-
Thinking can’t be disabled: Claude Opus 5 accepts
thinking: {type: "disabled"}at an effort level ofhighor lower. On Claude Fable 5.2, adaptive thinking is always on, andthinking: {type: "disabled"}returns a 400 error at any effort level. Remove the field, and control token spend with lower effort levels. For workloads that ran with thinking disabled, revisitmax_tokens, which covers thinking plus response text. If that code reads content by position, such ascontent[0].text, select content blocks bytypeinstead, becausethinkingblocks come first. -
Forced tool choice returns a 400 error: Claude Opus 5 accepts
tool_choiceanyandtool. Claude Fable 5.2 rejects both. See Forced tool choice returns a 400 error for what to send instead. -
Editing earlier turns invalidates thinking blocks, on every account: Claude Opus 5 doesn’t check whether earlier turns changed. Claude Fable 5.2 does, for every account. If your code edits earlier messages, rebuilds
systemortools, or compacts on the client between requests, Claude Fable 5.2 rejects the request or drops the invalid thinking blocks. See Editing earlier turns invalidates thinking blocks for what to change and how to test. -
Claude Opus 5 can’t read Claude Fable 5.2’s thinking blocks: On the Claude API and Claude Models on Google Cloud (Google managed), Claude Fable 5.2 reads Claude Opus 5’s blocks, so a conversation that moves from
claude-opus-5ontoclaude-fable-5-2keeps its earlier reasoning. In the other direction, Claude Opus 5 can’t read Claude Fable 5.2’s blocks. A conversation that moves from Claude Fable 5.2 to Claude Opus 5 runs the turns after the switch without Claude Fable 5.2’s reasoning. The API drops those blocks before the model receives them, the request succeeds, and the dropped blocks aren’t billed. See Switching models mid-conversation. -
Text between tool calls is returned in thinking blocks: On Claude Opus 5, text the model writes between tool calls comes back as
textblocks. On Claude Fable 5.2, that narration comes back as progress-updatethinkingblocks, at most one before each tool call. If your interface renders that narration, setthinking.displayto"updates", which is in beta, to receive the progress updates as text while reasoning stays hidden, or to"summarized"to receive both. Then render the non-emptythinkingblocks betweentool_useblocks. See Progress updates between tool calls. -
Use the computer use toolset instead of
computer_20251124: Claude Opus 5 accepts the earliercomputer_20251124tool with its beta header. Claude Fable 5.2 returns a 400 error for it on every platform except Amazon Bedrock. See Use the computer use toolset instead ofcomputer_20251124. -
Safety classifiers and fallback: Claude Fable 5.2’s safety classifiers cover a broader set of
stop_detailscategories than Claude Opus 5’s classifiers. Expect additionalstop_details.categoryvalues, such as"bio". Handle every category in the refusal category table. To re-run declined requests on another model, setfallbacks: "default"or build your own retry. That parameter is in beta on the Claude API and Claude Models on Google Cloud (Anthropic managed), and needs theserver-side-fallback-2026-07-01beta header. Refusals, fallback, and billing lists the permitted fallback targets. -
Pricing: Claude Fable 5.2 costs $8 USD per million input tokens and $40 USD per million output tokens, compared with $5 USD and $25 USD for Claude Opus 5. Prompt cache reads are $0.20 USD per million tokens, compared with $0.50 USD. See Pricing.
-
Data retention is required: Claude Fable 5.2 requires 30-day data retention and isn’t available under a zero data retention (ZDR) arrangement unless expressly authorized by Anthropic. Claude Opus 5 is available under ZDR. On the Claude API, a request from an organization or workspace without 30-day retention returns a 400
invalid_request_error. See Model-specific data retention requirements. -
Fast mode: Claude Opus 5 supports fast mode (
speed: "fast") in research preview, with thefast-mode-2026-02-01beta header. Claude Fable 5.2 supports it in Messages API requests on the Claude API without the header. Requests that send the header keep working. Fast mode for Claude Fable 5.2 costs $16 USD per million input tokens and $80 USD per million output tokens, compared with $10 USD and $50 USD for Claude Opus 5 in fast mode. See Fast mode pricing.Claude Fable 5.2 also supports fast mode on Claude Models on Google Cloud (Anthropic managed), with the same
speed: "fast"setting.Claude Fable 5.2 also supports fast mode on Claude Models on Google Cloud (Google managed), with the same
speed: "fast"setting. Google Cloud sets its prices there. See Cloud platform pricing.Claude Fable 5.2 also supports fast mode on Claude in Microsoft Foundry for deployments hosted on Anthropic. There, fast mode is a separate model: send requests to a
claude-fable-5-2-fastdeployment and leave outspeed.Claude Mythos 5.2 also supports fast mode in Messages API requests on the Claude API, without the header and at Claude Fable 5.2’s fast mode prices. Availability of fast mode lists every platform where Claude Mythos 5.2 has fast mode.
Remove
speed: "fast"in Claude Managed Agents. Also remove it if Availability of fast mode doesn’t list the model you move to. -
Structured outputs in CMEK organizations: In an organization with customer-managed encryption keys, Claude Opus 5 supports structured outputs and Claude Fable 5.2 doesn’t. Remove
strict: trueandoutput_config.formatfrom requests you move, and validate the output in your code. -
A Claude Fable 5.2 executor needs a Claude Fable 5.2 or Claude Mythos 5.2 advisor: With the advisor tool, which is in beta, a Claude Opus 5 executor accepts several advisors, Claude Opus 5 and Claude Fable 5.1 among them. A Claude Fable 5.2 executor accepts only Claude Fable 5.2 or Claude Mythos 5.2, and any other advisor returns a 400 error. Set the advisor’s
modeltoclaude-fable-5-2orclaude-mythos-5-2when you change the executor’s. See A Claude Fable 5.2 executor needs a Claude Fable 5.2 or Claude Mythos 5.2 advisor.
Migration checklist
- If your organization has a ZDR arrangement, enable 30-day retention for the workspace, or confirm eligibility with your Anthropic account team, before anything else.
- Update the model ID from
claude-opus-5toclaude-fable-5-2. - Check your rate limits before you move production traffic. Claude Fable 5.2’s rate limit is separate from Claude Opus 5’s, with lower token limits at each tier.
- Remove any
thinking: {type: "disabled"}configuration. Control token spend with lower effort levels, revisitmax_tokens, and select content blocks bytype. - Pass
thinkingblocks back unchanged on every turn, including empty ones. In a tool-use loop, send them back with the tool results. See Preserving thinking blocks. - Replace forced
tool_choice(anyortool) withautoplus an explicit instruction andstrict: truetools, or with JSON outputs. In an organization with customer-managed encryption keys, strict tool use and JSON outputs aren’t available for Claude Fable 5.2. There, keepautoand the instruction, and validate the tool input in your code. - If your code builds the
messagesarray itself, run the check in Editing earlier turns invalidates thinking blocks againstclaude-fable-5-2, fix everyprefix_binding_mismatchentry, and keep the history append-only. - If you use computer use through
computer_20251124anywhere except Amazon Bedrock, Claude Fable 5.2 returns a 400 error for that tool. Declarecomputer_toolset_20260801instead and update your agent loop for the toolset. - If you use the advisor tool with Claude Fable 5.2 as the executor, set the advisor’s
modeltoclaude-fable-5-2orclaude-mythos-5-2. - If a router or fallback moves conversations from Claude Fable 5.2 to Claude Opus 5, expect the turns after the switch to run without Claude Fable 5.2’s thinking blocks.
- If you replay stored conversations through a different account, replay each one through the account that produced it, or an account linked to it. The API drops Claude Fable 5.2 thinking blocks that another account produced. See Thinking blocks stay with the account that produced them.
- If your interface renders text between tool calls, set
thinking.displayto"updates", which is in beta, or to"summarized", and render the non-emptythinkingblocks. - Handle every
stop_details.category. If you set an explicitfallbackslist, name only Claude Fable 5.2’s permitted targets. -
If you use fast mode in Messages API requests on the Claude API, keep
speed: "fast"only if Availability of fast mode lists the model you move to. If you keep it, re-baseline cost against the fast mode prices. Removespeed: "fast"in Claude Managed Agents. You don’t need thefast-mode-2026-02-01beta header, and requests that send it keep working. - In an organization with customer-managed encryption keys, remove
strict: trueandoutput_config.format, and validate the output in your code. - Re-run your effort sweep on your own evals, and re-baseline cost and latency.
- Check the system prompts, skills, and other instructions you carry over against Review instructions written for earlier models.
Migrating to Claude Fable 5.2 from Claude Opus 4.8 or earlier
First work through Migrating to Claude Fable 5.2 from Claude Opus 5, with claude-opus-4-8 as the model ID you replace. That section applies to code on Claude Opus 4.8 as written, because Claude Opus 4.8, like Claude Opus 5:
- Accepts
thinking: {type: "disabled"}, forced tool choice, thecomputer_20251124tool, and fast mode. - Returns the text between tool calls as
textblocks. - Is available under zero data retention (ZDR) arrangements.
- Costs $5 USD per million input tokens and $25 USD per million output tokens, with prompt cache reads at $0.50 USD.
This section adds the differences that the Claude Opus 5 section doesn’t cover.
What changes
-
Thinking runs on requests that omit it: On Claude Opus 4.8, thinking is off unless you ask for it. On Claude Fable 5.2, a request with no
thinkingfield runs with adaptive thinking. Responses can carrythinkingblocks beforetextblocks, so select content blocks bytypeinstead of readingcontent[0].text. In a tool-use loop, send thethinkingblocks back unchanged with the tool results, including empty ones. Thinking tokens are billed as output tokens, andmax_tokenscovers thinking plus response text. Revisitmax_tokens, and lowereffortwhere you want less thinking. On the Claude API and Claude Models on Google Cloud (Google managed), Claude Fable 5.2 reads the thinking blocks from earlier Claude Opus 4.8 turns, so a conversation that moves ontoclaude-fable-5-2keeps that reasoning. -
Lower prompt caching minimum: The minimum cacheable prompt length on Claude Fable 5.2 is 512 tokens, down from 1,024 tokens on Claude Opus 4.8. Prompts that were too short to cache can create cache entries, with no code changes required. See Prompt caching.
-
Priority Tier isn’t supported: Claude Opus 4.8 supports Priority Tier. Claude Fable 5.2 doesn’t. If your organization has a Priority Tier commitment, plan capacity separately.
-
Advice from the advisor tool comes back encrypted: With the advisor tool, which is in beta, a Claude Opus 4.8 executor can pair with an advisor that returns its advice as plaintext, such as Claude Opus 4.8. The only advisors a Claude Fable 5.2 executor accepts, Claude Fable 5.2 and Claude Mythos 5.2, return the advice encrypted, as an
advisor_redacted_resultblock, so your client can’t read its text. If your code reads the advice text, remove that dependency. See Result variants.
If your code is on Claude Opus 4.7 or earlier, also apply part of the Claude Opus 5.5 guide’s migration checklist. Start at the group Claude Opus 4.7 or earlier and go down to the group that names your model. These groups cover request changes made before Claude Opus 4.8, such as removed sampling parameters and beta headers. Apply that checklist’s fast mode item only if Availability of fast mode lists the model you move to. In an organization with customer-managed encryption keys, structured outputs aren’t available for Claude Fable 5.2, so don’t apply the output_config.format item there. Remove output_format from your requests instead, and validate the JSON in your code.
Migration checklist
- Work through the Claude Opus 5 checklist, with
claude-opus-4-8as the model ID you replace. - Review workloads that ran without a
thinkingfield. On Claude Fable 5.2 they run with thinking, so revisitmax_tokens, lowereffortwhere you want less thinking, and select content blocks bytype. - Check that any code that parses the
thinkingfield treats it as display text only. Setthinking.displayto"summarized"to receive readable summaries. - Review prompts near the caching minimum: prompts of 512 tokens or more can create cache entries.
- If your organization has a Priority Tier commitment, plan capacity separately.
- If you use the advisor tool and your code reads the advice text, remove that dependency: the advice arrives as an encrypted
advisor_redacted_resultblock. - Run a fresh effort sweep on your own evals rather than carrying over a setting tuned for Claude Opus 4.8.
- On Claude Opus 4.7 or earlier, also apply the Claude Opus 5.5 guide’s checklist groups for your model. Leave out the fast mode item unless Availability of fast mode lists the model you move to. In an organization with customer-managed encryption keys, also leave out the
output_config.formatitem and removeoutput_formatfrom your requests.
Was this page helpful?