Migrating to Claude Fable 5.1 from Claude Opus 5
Claude Fable 5.1 uses the same Messages API and tool use patterns as Claude Opus 5. It keeps the 1M token context window by default, 128k max output tokens, the 512-token prompt caching minimum, and mid-conversation system message support. The prefill restriction, the sampling-parameter restriction, and the "omitted" default for thinking.display also carry over. Apply everything in Migrating to Claude Fable 5.1 from Claude Fable 5, plus the following.
Update your model name
model = "claude-opus-5" # Before
model = "claude-fable-5-1" # After
# Or, for the Project Glasswing model with the same capabilities:
model = "claude-mythos-5-1" # AfterWhat changed
Thinking can no longer be disabled: Claude Opus 5 accepts
thinking: \{type: "disabled"\}at an effort level ofhighor lower. Onclaude-fable-5-1andclaude-mythos-5-1, adaptive thinking is always on, andthinking: \{type: "disabled"\}returns a 400 error at any effort level. Remove the field, control token spend with lower effort levels, and revisitmax_tokensfor workloads that ran with thinking disabled.Forced tool choice is not supported: Claude Opus 5 accepts
tool_choiceanyandtool.claude-fable-5-1returns a 400 error. See Breaking changes.Preserved thinking across models: Claude Fable 5.1 reads Claude Opus 5's thinking blocks: conversations moving from
claude-opus-5toclaude-fable-5-1keep their reasoning. Claude Opus 5 can't read Claude Fable 5.1's blocks. Claude Fable 5.1's blocks also stop being valid when earlier turns change: if your code edits earlier messages, rebuildssystemortools, or compacts on the client between requests, Claude Opus 5 didn't object, butclaude-fable-5-1rejects or drops every later thinking block. Run the three-step check in that section before switching traffic. See Breaking changes.Text between tool calls is returned in thinking blocks: On Claude Opus 5, text the model writes between tool calls comes back as
textblocks. Onclaude-fable-5-1, as on Claude Fable 5, that narration comes back as progress-updatethinkingblocks, one before each tool call. Under the defaultthinking.displayof"omitted", they carry no readable text. If your interface renders that narration, setdisplay: "updates"(beta) to receive progress updates as text while reasoning stays hidden, or"summarized"to receive both. Then render the non-emptythinkingblocks betweentool_useblocks. See Progress updates between tool calls.Safety classifiers and fallback routing: Claude Fable 5.1 runs safety classifiers covering the same
stop_detailscategories as Claude Fable 5, a broader set than Claude Opus 5's cybersecurity-only classifiers. Expectstop_details.categoryvalues beyond"cyber", such as"bio"and"reasoning_extraction"; see the refusal category table for the full set. Forfallbacksconfiguration and permitted targets, see Usefallbacks: "default"for refusals.Pricing: $10 USD per million input tokens and $50 USD per million output tokens, compared with $5 USD and $25 USD for Claude Opus 5. Prompt cache reads are $0.25 USD per million tokens, half the Claude Opus 5 rate. See Claude pricing.
Data retention: Claude Fable 5.1 and Claude Mythos 5.1 require 30-day data retention, aren't available under zero data retention (ZDR) arrangements unless expressly authorized by Anthropic, and are designated Covered Models. Claude Opus 5 is available under ZDR. See Model-specific data retention requirements.
Migration checklist
- If your organization has a zero data retention (ZDR) arrangement, confirm eligibility first: these models aren't available under ZDR unless expressly authorized by Anthropic. See Model-specific data retention requirements.
- Update the model name from
claude-opus-5toclaude-fable-5-1(orclaude-mythos-5-1). - Remove any
thinking: \{type: "disabled"\}configuration: it returns a 400 error onclaude-fable-5-1. Control token spend with lower effort levels, and revisitmax_tokens. - Replace forced
tool_choice(anyortool) withautoplus an explicit instruction (userturn or mid-conversation system message) andstrict: truetools, or with JSON outputs. - If your interface renders text between tool calls, set
display: "updates"(beta) or"summarized"and render the non-emptythinkingblocks. - Apply the preserved-thinking, history-editing, behavior, effort, and fallback items from the Claude Fable 5 checklist.
- Re-baseline cost on your own workloads. The tokenizer is unchanged. Per-token pricing differs.