claude-fable-5-2: 400 Error Messages and Fixes
As of 2026-11-13, Anthropic's official docs list these ways a request can return a 400 after you switch model to claude-fable-5-2: a failed thinking-block prefix check, the older computer_20251124 tool, an advisor tool whose model does not match and, coming from claude-opus-5-5, missing 30-day data retention. Forced tool_choice, thinking disabled or enabled, sampling parameters and prefilled assistant messages also return a 400, as they already do on claude-fable-5-1. Each item below gives the official error text, the reason and the smallest before / after fix, plus the minimum Claude Code version and the same fixes on QCode.
Updated 2026-11-13
One key for Claude, GPT and leading Chinese models, billed per token, up and running in minutes.
- Billed per token — live rates on /models
- Pay by card (Visa / Mastercard), Apple Pay, Google Pay or crypto
- Self-service: top up and activate instantly
Four official points
Edited history: thinking block rejected
Official error text (Claude API errors doc, checked 2026-11-13): the message starts with messages.{i}.content.{j} and its key sentence is "The block is bound to a different conversation". The migration guide says this 400 appears when you change system, tools or earlier messages mid-conversation and then send thinking blocks back; retrying the same request body does not clear it. The fix is to keep the history append-only.
Old computer tool rejected
The official migration guide says a tools entry of type computer_20251124 returns a 400 error on every platform except Amazon Bedrock. The fix is to declare {"type": "computer_toolset_20260801"}, drop the beta header, send the entry with no name or display dimensions, and update your agent loop for the toolset. The errors doc shows the message form with claude-opus-5-5 as the example: "'claude-opus-5-5' does not support tool types: computer_20251124." It says the message lists the accepted tool types after "Did you mean one of" (checked 2026-11-13).
Advisor model must match
The official migration guide says that with the advisor tool (beta), a claude-fable-5-2 executor accepts only claude-fable-5-2 or claude-mythos-5-2 as its advisor, and any other advisor, claude-fable-5-1 included, returns a 400 invalid_request_error. The fix is to set the model in the advisor tool definition to claude-fable-5-2 when you change the executor's model ID, in new conversations. The guide does not print the error wording (checked 2026-11-13).
Same 400s as claude-fable-5-1
The official migration guide says forced tool_choice {type: "any"} or {type: "tool", name: "..."}, thinking {"type": "disabled"} or {"type": "enabled", budget_tokens: N}, and a prefilled assistant message all return a 400 on claude-fable-5-2, unchanged from claude-fable-5-1, and that temperature, top_p and top_k are to be omitted as on claude-fable-5-1. The what's new doc says the first two rules are not a change if you come from claude-fable-5-1 or claude-opus-5-5 (checked 2026-11-13).
Which requests fail after switching to claude-fable-5-2
As of 2026-11-13, the official migration guide lists these changes that can return a 400 after you switch model to claude-fable-5-2. Coming from claude-fable-5-1, three: First, a failed prefix check, when you send thinking blocks back after changing system, tools or earlier messages; keep the history append-only. Second, computer_20251124 in tools (not on Amazon Bedrock); declare computer_toolset_20260801 instead. Third, an advisor tool whose model is not claude-fable-5-2 or claude-mythos-5-2; change the advisor's model. Coming from claude-opus-5-5, the prefix check and the advisor rule apply too, and a fourth is new: an organization or workspace without 30-day data retention gets a 400 on every request, so enable it before you switch. Coming from claude-fable-5, forced tool_choice {type: "any"} or {type: "tool", name: "..."} also returns a 400; use {type: "auto"}, name the tool in the instruction and set strict: true. The guide calls the move from claude-fable-5-1 mostly drop-in: the API surface, always-on adaptive thinking, the forced tool choice restriction, refusal handling and the data retention requirement all match claude-fable-5-1.
Error text, reason and fix, item by item
First, a failed prefix check. The official API errors doc gives the message as: 'messages.{i}.content.{j}: 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".' The reason, per the migration guide: on claude-fable-5-2 each thinking block is valid only against the system prompt, tools and messages that came before it, so changing any of them and then sending the block back returns a 400, and resending the same history fails the same way. The fix is to keep the history append-only: freeze system and tools for the session and make later instruction or tool changes with mid-conversation system messages. To continue a conversation that already failed, send the thinking-binding-controls-2026-08-01 beta header and set thinking.block_binding.prefix_mismatch_behavior to "drop_block" on the retry and every later request, or strip the named block and every thinking and redacted_thinking block after it. Sending block_binding without that header returns a 400 whose message ends in "block_binding: Extra inputs are not permitted". Nothing changes if Claude Code, claude.ai, Claude Managed Agents or the Claude Agent SDK manages your conversation history. A different error, "blocks in the latest assistant message cannot be modified", means a block was altered; pass every thinking block back exactly as received. Second, the old computer tool: the errors doc says the invalid_request_error message names the rejected type and, after "Did you mean one of", lists the accepted types, and gives "'claude-opus-5-5' does not support tool types: computer_20251124." as the claude-opus-5-5 example; no claude-fable-5-2 wording is printed. The reason is that a computer_20251124 entry in tools returns a 400 on every platform except Amazon Bedrock. Before: {"type": "computer_20251124"}; after: {"type": "computer_toolset_20260801"} without the beta header and without name or display dimensions. Third, the advisor pair: a claude-fable-5-2 executor accepts only claude-fable-5-2 or claude-mythos-5-2 as advisor, and any other advisor returns a 400 invalid_request_error; set the advisor's model to claude-fable-5-2 in new conversations, because changing it is an edit to tools and sending earlier thinking blocks back after the change fails the prefix check. Fourth, data retention when you come from claude-opus-5-5: the guide says claude-fable-5-2 requires 30-day data retention, and on the Claude API a request from an organization or workspace without it returns a 400 invalid_request_error; enable 30-day retention for the workspace or contact your Anthropic account team before you switch. The official data retention doc lists claude-fable-5-2 among the models that require 30-day retention and prints this message for a claude-fable-5 request that does not meet the requirement: "In order to access this model, your organization or workspace must have data retention enabled." Fifth, forced tool use, unchanged from claude-fable-5-1: the errors doc gives 'tool_choice: type "tool" and "any" are not supported for this model.' Before: tool_choice: {"type": "any"}; after: tool_choice: {"type": "auto"} plus an instruction naming the tool and strict: true on it; {type: "auto"} and {type: "none"} are accepted. In an organization with customer-managed encryption keys, leave out strict and validate the tool input in your code. Sixth, thinking, unchanged from claude-fable-5-1: the errors doc gives '"thinking.type.disabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.' and '"thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.' Adaptive thinking is always on; before: thinking: {"type": "disabled"}; after: no thinking field, or {"type": "adaptive"} with effort setting the depth. Seventh, sampling parameters: the official thinking doc says non-default temperature, top_p or top_k values return a 400 error on every request, regardless of whether thinking is used; leave the three parameters out of the request body. Eighth, prefill, unchanged from claude-fable-5-1: the errors doc gives "This model does not support assistant message prefill. The conversation must end with a user message." and the migration guide says to use system prompt instructions instead. Error texts and fixes checked on 2026-11-13.
Timeline
Anthropic's official model page gives November 9, 2026 as the release date of claude-fable-5-2; the official migration guide lists the breaking changes and request-body 400 errors after the switch.
The official Claude Code changelog for 2.1.321 (2026-11-09) added claude-fable-5-2 as the default Fable model; the official model-config says claude-fable-5-2 needs v2.1.321 or later, and to run claude update to upgrade from an older version.
QCode's /models lists claude-fable-5-2; the official sources and QCode live pages were all checked on 2026-11-13.
Confirmed vs not published
Confirmed (official wording)
First, model snippets: the official migration guide gives model = "claude-fable-5-1" # Before and model = "claude-fable-5-2" # After, and from claude-opus-5-5 it gives model = "claude-opus-5-5" # Before and model = "claude-fable-5-2" # After; the model ID is claude-fable-5-2 on every platform except Amazon Bedrock. Second, from claude-fable-5-1 the guide lists four changes that can break your code: a failed prefix check returns a 400 error, claude-fable-5-1 can't read claude-fable-5-2's thinking blocks (the API drops them and the request succeeds), computer_20251124 returns a 400 error on every platform except Amazon Bedrock, and a claude-fable-5-2 executor accepts only claude-fable-5-2 or claude-mythos-5-2 as its advisor. Third, from claude-opus-5-5 the guide lists data retention (30-day retention is required, otherwise a 400 invalid_request_error), the prefix check and the advisor rule. Fourth, what stays unchanged: the guide says migration from claude-fable-5-1 is mostly drop-in, and that the API surface, always-on adaptive thinking, the forced tool choice restriction, refusal handling and the data retention requirement all match claude-fable-5-1; for Claude Managed Agents no changes beyond updating the model name are required, apart from an advisor's model if the agent has one. Fifth, Claude Code: the official changelog says 2.1.321 (2026-11-09) added claude-fable-5-2, the official model-config says Fable 5.2 requires Claude Code v2.1.321 or later, to upgrade run "claude update", and to switch run "/model fable" or launch with "claude --model fable"; the version history says fable resolves to Fable 5.2 from v2.1.321. Sixth, QCode: the live status page says QCode supports claude-fable-5-2, /models lists claude-fable-5-2, the endpoints doc gives the Anthropic Messages Base URL as https://api.qcode.cc/api, and billing is per token with per-model rates on /models. All checked on 2026-11-13.
What the official pages do not state
As of 2026-11-13, Anthropic's official migration guide, API errors doc and what's new doc go only as far as the 400 errors and fixes for this generation of claude-fable-5-2. They do not print claude-fable-5-2 wording for the computer tool or advisor errors, and the data retention doc prints its message for a claude-fable-5 request, not for claude-fable-5-2; they also do not state the next Fable model ID, its release date, or which parameters a future version will reject. The official model-config says aliases follow the provider's recommended version and update over time, but gives no future version number or date; later official pages will decide.
Which model you migrate from, and whether the changes differ
From claude-fable-5-1
The official migration guide calls this move mostly drop-in, so the model field changes from claude-fable-5-1 to claude-fable-5-2. Three things can return a 400: a failed prefix check after edits to system, tools or earlier messages, computer_20251124 outside Amazon Bedrock, and an advisor that is not claude-fable-5-2 or claude-mythos-5-2. Forced tool_choice, thinking and sampling rules are not new here (checked 2026-11-13).
From claude-opus-5-5 or claude-fable-5
From claude-opus-5-5 the guide lists three changes that return a 400: 30-day data retention is required, the prefix check, and the advisor rule; forced tool_choice and always-on thinking carry over. From claude-fable-5 the guide lists forced tool choice, the prefix check, computer_20251124 and the advisor rule as breaking changes, so work through the item-by-item fixes above (checked 2026-11-13).
Copy-paste fixes and the order to check
First, set the model field in the request body from claude-fable-5-1 (or claude-opus-5-5) to claude-fable-5-2; the official minimal snippet is model = "claude-fable-5-1" # Before and model = "claude-fable-5-2" # After. Second, if your code builds the messages array itself, keep the history append-only and freeze system and tools for the session; to get past a bound-to-a-different-conversation 400 on an existing conversation, send the thinking-binding-controls-2026-08-01 beta header with thinking.block_binding.prefix_mismatch_behavior set to "drop_block", or strip the named block and every thinking block after it. Third, replace computer_20251124 with computer_toolset_20260801, drop the beta header and name and display dimensions. Fourth, set the advisor tool's model to claude-fable-5-2 and, from claude-opus-5-5, enable 30-day data retention. Fifth, check that old requests carry no forced tool_choice, thinking disabled or enabled, temperature, top_p, top_k or prefilled assistant message. Sixth, for Claude Code / SDK users: the official model-config says v2.1.321 or later is needed, use claude --version to see the current version and claude update to upgrade, and switch in a session with /model fable or /model claude-fable-5-2; nothing changes when Claude Code manages the conversation history.
Using it on QCode
After switching to claude-fable-5-2, the error text and fixes are the same. QCode supports claude-fable-5-2: in Claude Code and other Anthropic-protocol tools, just set the model to claude-fable-5-2 with Base URL https://api.qcode.cc/api; the same key also calls claude-fable-5-1, claude-fable-5, claude-opus-5-5 and more. Billing is per token, with per-model rates on /models. Not ready for a monthly plan? Pay-as-you-go Packs start at $4 for a one-time quota you use within 7 days; if you already have a Personal Plan, add a booster pack when you need more quota.
Frequently asked questions
Why does claude-fable-5-2 return a 400 error?
Match the message to the item above: "Invalid `signature` in `thinking` block" means a failed prefix check, "does not support tool types: computer_20251124" means the old computer tool, and a tool_choice or thinking.type message means an old-style request body; each needs one change, listed above. Anthropic's migration guide also lists an advisor model mismatch and, from claude-opus-5-5, missing 30-day data retention. If the error is QCode credit running out rather than a rejected request body, see /credit-balance-too-low (checked 2026-11-13).
What does "The block is bound to a different conversation" mean?
It is a failed prefix check: the official migration guide says you changed system, tools or earlier messages mid-conversation and then sent thinking blocks back, and retrying the same request body does not clear it. Keep the history append-only; to continue the failed conversation, send the thinking-binding-controls-2026-08-01 beta header and set thinking.block_binding.prefix_mismatch_behavior to "drop_block", or strip the named block and every thinking block after it (checked 2026-11-13).
How do I fix the tool_choice or thinking.type.disabled 400?
For tool_choice, the official API errors doc says type "tool" and "any" are not supported; leave tool_choice at {type: "auto"}, name the tool in the instruction and set strict: true. For thinking, omit the thinking field or send {"type": "adaptive"} and use output_config.effort to control depth, because thinking: {"type": "disabled"} and thinking: {"type": "enabled", budget_tokens: N} both return a 400 (checked 2026-11-13).
What do I need to change in existing code?
The official migration guide gives model = "claude-fable-5-1" # Before and model = "claude-fable-5-2" # After; beyond that, check the prefix check, computer_20251124, the advisor model and, from claude-opus-5-5, data retention. The guide calls the move from claude-fable-5-1 mostly drop-in, and says nothing changes when Claude Code, Claude Managed Agents or the Agent SDK manages the conversation history (checked 2026-11-13).
How do I switch back to claude-fable-5-1?
The official model-config says to stay on claude-fable-5-1, select it by model ID: use /model claude-fable-5-1 in a session, or launch with claude --model claude-fable-5-1; the official changelog gives /model claude-fable-5-1 as the switch-back command too. The official model-config also says gateway sessions use /model claude-fable-5-2 to pick claude-fable-5-2 (checked 2026-11-13).
Which Claude Code version do I need?
The official model-config says claude-fable-5-2 needs v2.1.321 or later; in the official changelog, 2.1.321 is dated 2026-11-09. Use claude --version to see the current version, and if it is below the minimum run claude update; switch with /model fable or /model claude-fable-5-2. The full setup is on /claude-code-fable-5-2-setup (checked 2026-11-13).
Sources
Anthropic official: the Claude Fable 5.2 migration guide, API errors, what's new, model overview, thinking and computer use tool docs; Claude Code official: the changelog and model-config; QCode: qcode.cc/models, qcode.cc/claude-fable-5-2-status-tracker and the endpoints page on docs.qcode.cc. All fetched and checked on 2026-11-13.
Requests fixed? Run claude-fable-5-2 on QCode
Create a QCode key, billed per token with per-model rates on /models, then set the model to claude-fable-5-2 in your tool and send the request again.
Related
One-time quota packs: no monthly plan, valid 7 days
No subscription: buy a one-time quota valid 7 days; per-model rates are on /models.
Claude Fable 5.2 status tracker
The official ID of claude-fable-5-2, its release date and QCode availability.
Adaptive thinking and effort levels
How adaptive thinking works and how to set effort levels.
Crypto payment guide
Nine coins, 56 networks, zero platform fee for AI coding API credits.
Official statements checked on 2026-11-13 against Anthropic and Claude Code pages; model availability and rates follow qcode.cc/models.