İçeriğe geç / Skip to content / Zum Inhalt

Migrating Claude Fable 5.1 to 5.2: API Changes

Ahmet Balaman

8 min read

Vibe CodingClaude Fable 5.2AnthropicClaude APIMigration GuideClaude Mythos 5.2Adaptive ThinkingAI
Migrating Claude Fable 5.1 to 5.2: API Changes

To migrate from Claude Fable 5.1 to 5.2 you change the model ID from claude-fable-5-1 to claude-fable-5-2, but Anthropic's documentation lists four breaking changes: the prefix check now applies to every account, thinking blocks are bound to the model that produced them, the computer_20251124 tool returns a 400 error, and the advisor tool pairs only with Fable 5.2 or Mythos 5.2. The model was released on November 9, 2026, under the ID claude-fable-5-2.

This post is a news roundup and compilation; I have not tested the model or the migration. Everything below is compiled from Anthropic's "What's new in Claude Fable 5.2" page; I did not run it in my own code. The code snippets are raw request bodies using only documented fields; I did not write SDK calls. For the model itself, see What Is Claude Fable 5.2; for access routes, see how to access Claude Fable 5.2.

Short answer

Change the model ID first (--model claude-fable-5-2 in the CLI). Then check whether you edit conversation history, your model router, your computer-use tool and your advisor tool. If you use Claude Code, claude.ai, Claude Managed Agents or the Claude Agent SDK, you do not need to change anything for the prefix check.

Four breaking changes

Change What happens Fix
The prefix check applies to every account Sending back an invalid thinking block with prefix_mismatch_behavior unset returns a 400: "The block is bound to a different conversation" Do not change system, tools or earlier messages, or use drop_block
Thinking blocks are bound to the producing model Blocks from another model are silently dropped; the request succeeds and dropped blocks are not billed Do not switch models mid-conversation; if you do, the reasoning of those turns is lost
computer_20251124 is rejected 400 invalid_request_error on every platform except Amazon Bedrock Use computer_toolset_20260801
Advisor pairing (beta) A Fable 5.2 / Mythos 5.2 executor rejects any advisor other than those two: 400 invalid_request_error Set the advisor model to claude-fable-5-2 or claude-mythos-5-2

Step-by-step migration

This is Anthropic's order. Before everything else, change the model ID:

Steps to move from Fable 5.1 to 5.2: model ID, prefix test, routing, tools, evals

{
  "model": "claude-fable-5-2"
}
  1. Check whether you edit history. If you trim, summarize or rewrite conversation history, run your prefix check test. To avoid code changes, system and tools must stay the same throughout the conversation, you should only append to messages, and every assistant turn should be sent back as it was returned.
  2. Check router and fallback model switches. Every model except Mythos 5.2 drops Fable 5.2's thinking blocks.
  3. Move computer use. Change the type in the tool definition from computer_20251124 to computer_toolset_20260801:
{
  "tools": [
    { "type": "computer_toolset_20260801" }
  ]
}

For the tool's parameters, see Anthropic's computer-use documentation; I am only relaying that the type name changed. Only on Amazon Bedrock InvokeModel can you still send computer-use-2025-11-24 in the anthropic_beta array.

  1. Change the advisor model in the advisor tool. The advisor's model must be claude-fable-5-2 or claude-mythos-5-2. Because changing the advisor model edits tools, do it in new conversations. With Fable 5.2, the advisor's advice comes back encrypted.
  2. Re-run your evals and start the effort sweep at high. Anthropic's documentation says: "Start there, because most of the gain in capability is already present at high."

The prefix check and thinking blocks

A quote from the documentation: "On Claude Fable 5.2 and Claude Mythos 5.2, a request that sends back an invalid thinking block and leaves prefix_mismatch_behavior unset gets a 400 error, whatever the account's age." On Fable 5.1 the same error applied only to accounts created on or after August 31, 2026; on 5.2 account age no longer matters.

If you would rather soften the error than change your code, send the thinking-binding-controls-2026-08-01 beta header and set thinking.block_binding.prefix_mismatch_behavior to "drop_block":

{
  "model": "claude-fable-5-2",
  "thinking": {
    "type": "adaptive",
    "block_binding": {
      "prefix_mismatch_behavior": "drop_block"
    }
  }
}

Request header: anthropic-beta: thinking-binding-controls-2026-08-01. The response lists the dropped blocks in a top-level input_transformations array. The documentation includes a warning: dropping blocks can increase output tokens.

Thinking blocks are bound to the model that produced them. Fable 5.2 and Mythos 5.2 read each other's blocks; they also read blocks from Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.1, Mythos 5.1, Opus 5, Fable 5, Mythos 5 and older Opus, Sonnet and Haiku models (on the Claude API and Google-managed Google Cloud). If you switch from Fable 5.2 to another model, the reasoning of those turns is lost. Blocks from another account are dropped too (reason: "organization_binding_mismatch").

Behavior differences

No code change is needed for these, but they can affect your prompts and effort settings:

  • At medium and above, "answer directly, do not think" instructions do not stop thinking. At high and above the model thinks before almost every response; use low effort for easy turns.
  • On long multi-step tasks the model can finish early: it lists what is left, offers to continue, or stops at an ordinary obstacle. This happens more often at low and medium effort.
  • The wording about code ownership matters: without it, the model tends to add to the existing structure and report nearby problems instead of fixing them.
  • In long chains of tool calls it writes little text; it may make the first tool call without saying what it will do.
  • It delegates to subagents easily when prompts invite it, and subagents can be a large share of session cost.
  • It follows style rules closely: a strict sentence-length limit can make the tone choppy.
  • Adaptive thinking is always on and cannot be turned off. Do not send temperature, top_p or top_k.

New features (beta)

  • Compaction on demand: header compact-2026-09-04.
  • Mid-conversation tool changes: through a role: "system" message; headers inline-tools-2026-09-15 and mid-conversation-tool-changes-2026-07-01.
  • Server-side fallbacks: fallbacks: "default". For Fable 5.2 the allowed targets are Claude Opus 4.8 and Claude Opus 5. Categories without a recommended fallback, such as reasoning_extraction, stay refusals.
  • Refusal response: a refused request returns HTTP 200, stop_reason: "refusal" and stop_details. Refusal billing depends on the category, and refusals count toward rate limits.

The safeguards route blocked requests to Opus 4.8 for cyber and to Opus 5 for biology; API customers need to set up the new Fallback API.

Which model are you coming from

Coming from What is breaking
Fable 5.1 The four changes above
Fable 5 / Mythos 5 Only the forced tool use rule
Opus 5 and earlier Opus Both the thinking and tool_choice rules
Opus 5.5 You see neither

The thinking rule: thinking: {"type":"enabled"} with budget_tokens, or thinking: {"type":"disabled"}, returns a 400. The migration path is to omit thinking entirely or send {"type":"adaptive"}.

Forced tool use is removed: if tool_choice is {"type":"any"} or {"type":"tool","name":"..."}, you get a 400 invalid_request_error. Use auto with strict: true instead (the tool name is made up for the example):

{
  "tool_choice": { "type": "auto" },
  "tools": [
    {
      "name": "example_tool",
      "description": "Example tool",
      "strict": true,
      "input_schema": { "type": "object", "properties": {} }
    }
  ]
}

The alternative is JSON outputs. Organizations that use customer-managed encryption keys (CMEK) do not get structured outputs; do not use strict, and validate the output in your own code.

Frequently Asked Questions

Is changing the model ID enough to move from Fable 5.1 to 5.2?

No. Setting the ID to claude-fable-5-2 is the first step, but you also need to check the prefix check, thinking blocks, the computer-use tool and advisor pairing. If you do not edit history and do not use those tools, you will often have no problems.

What does "The block is bound to a different conversation" mean?

You sent back an invalid thinking block and prefix_mismatch_behavior is not set. The fix: send system, tools and messages unchanged, or choose drop_block with the thinking-binding-controls-2026-08-01 header.

Does the old computer_20251124 tool still work?

No. It returns a 400 invalid_request_error on every platform except Bedrock. Use computer_toolset_20260801; only on Bedrock InvokeModel can the old beta value be sent in the anthropic_beta array.

Can I use temperature and thinking budgets with Fable 5.2?

Do not send temperature, top_p or top_k. For thinking, enabled with budget_tokens and disabled return a 400; omit the field or use adaptive.

Can I force a tool with tool_choice?

No. any and forcing a specific tool return a 400. Use auto with strict: true, or JSON outputs.

Which models does the advisor tool work with?

A Fable 5.2 or Mythos 5.2 executor accepts only Fable 5.2 and Mythos 5.2 as the advisor. Others, including Fable 5.1 and Mythos 5.1, return a 400.

Do I need to do anything if I use Claude Code?

For the prefix check, nothing changes in Claude Code, claude.ai, Claude Managed Agents or the Claude Agent SDK. If you have your own API code, run the checks above.

Sources

Comments