Der Umstieg auf Claude Fable 5.1 ist hauptsächlich ein Modell-ID-Tausch. Die API-Oberfläche, Limits, Token-basierte Preisgestaltung, Tokenizer, stets aktive adaptive Denkweise und die Verweigerungsbehandlung entsprechen alle Fable 5. Drei Änderungen führen jedoch zu Fehlern, die Fable 5 nie hatte, und eine davon, die Überprüfung der Bearbeitung des Verlaufs, kann ein Agenten-Harness, das ein Jahr lang einwandfrei funktionierte, stillschweigend beeinträchtigen. Beim Umstieg von Opus 5 kommen vier weitere Punkte hinzu.
Dieser Leitfaden ist die Checkliste mit dem genauen Fehlertext und der Lösung für jeden Punkt, in der Reihenfolge, in der Sie auf sie stoßen werden, basierend auf Anthropics Migrationsleitfaden und Was ist neu in Claude Fable 5.1. Jedes Snippet kann in Apidog eingefügt und vor der Produktivsetzung gegen den echten Endpunkt ausgeführt werden. Für einen Überblick über das Modell beginnen Sie mit was Claude Fable 5.1 ist.

Schritt 0: Bestätigen Sie, ob Sie überhaupt migrieren sollten
Anthropics Dokumentation empfiehlt, mit Opus 5 zu beginnen und Fable 5.1 „für anspruchsvolle Schlussfolgerungen und langfristige Agentenarbeiten oder wenn Ihre Bewertungen auf Claude Opus 5 bei höherem Aufwand immer noch unzureichend sind“ zu verwenden. Wenn Opus 5 Ihre Bewertungen besteht, verdoppelt die Migration Ihren Token-Preis ohne messbaren Gewinn. Wenn Sie Fable 5 verwenden, ist der Preis derselbe, mit günstigeren Cache-Lesevorgängen und besser angegebenen Zahlen, sodass sich nur die Frage stellt, wie viel Aufwand für das Harnessing erforderlich ist. Die Vergleiche Fable 5.1 vs Fable 5 und Fable 5.1 vs Opus 5 behandeln die Entscheidung.
Zuerst drei Berechtigungsprüfungen:
- Datenaufbewahrung. Fable 5.1 erfordert eine Aufbewahrung von 30 Tagen und ist unter Null-Datenaufbewahrung nicht verfügbar, es sei denn, Anthropic autorisiert dies ausdrücklich. Eine ZDR-Organisation erhält bei jeder Anfrage einen
400 invalid_request_errorohne weiteren Hinweis. Opus 5 ist unter ZDR verfügbar. - Prioritätsstufe. Wird auf Fable 5.1 nicht unterstützt. Fable 5 unterstützt sie.
- Ratenbegrenzungen. Fable 5.1 teilt sich einen „Fable 5.x“-Pool mit Fable 5, sodass ein schrittweiser Übergang aus derselben Kapazität schöpft.
Schritt 1: Modellnamen aktualisieren
model = "claude-fable-5" # Vorher
model = "claude-opus-5" # Oder vorher
model = "claude-fable-5-1" # Nachher
Auf Amazon Bedrock lautet die ID anthropic.claude-fable-5-1. Google Cloud, Microsoft Foundry und Claude Platform auf AWS verwenden claude-fable-5-1. Wenn Sie Claude Managed Agents verwenden, ist dies die einzige erforderliche Änderung.
Breaking Change 1: Erzwingende Werkzeugnutzung gibt 400 zurück
Fable 5 akzeptierte die tool_choice-Werte auto, none, any und tool. Fable 5.1 lehnt die letzten beiden ab, und zwar auf der Messages API, der Batches API und dem Token-Zählungsendpunkt:
tool_choice: Typ "tool" und "any" werden für dieses Modell nicht unterstützt.
Anthropics Begründung: Das Denken ist immer aktiv, und ein erzwungener Aufruf würde es überspringen, sodass das Modell seine Ausarbeitungen in die Werkzeugargumente schreiben würde.
Vorher (Fable 5):
response = client.messages.create(
model="claude-fable-5",
max_tokens=16000,
tools=[record_summary_tool],
tool_choice={"type": "tool", "name": "record_summary"},
messages=[{"role": "user", "content": "Zusammenfassen: Das Meeting wurde auf Donnerstag verschoben."}],
)
Nachher (Fable 5.1): Lassen Sie tool_choice auf auto, benennen Sie das Werkzeug in der Anweisung und setzen Sie strict: true (strikte Werkzeugnutzung), damit die Argumente immer noch Ihrem Schema entsprechen.
record_summary_tool["strict"] = True
record_summary_tool["input_schema"]["additionalProperties"] = False
response = client.messages.create(
model="claude-fable-5-1",
max_tokens=16000,
tools=[record_summary_tool],
tool_choice={"type": "auto"},
messages=[{"role": "user", "content": "Zusammenfassen: Das Meeting wurde auf Donnerstag verschoben. Rufen Sie das record_summary-Werkzeug mit Ihrem Ergebnis auf."}],
)
Migrieren Sie nach Absicht. Wenn Sie ein Werkzeug erzwungen haben, um JSON zurückzuerhalten, ersetzen Sie es durch strukturierte Ausgaben (output_config.format). Wenn die Anwendung den Aufruf in diesem Zug erfordert, hängen Sie eine role: "system"-Nachricht nach dem letzten Benutzerzug an, die das Werkzeug benennt und besagt, dass der Aufruf erforderlich ist, und bewahren Sie sie danach im Verlauf auf. Wenn Sie sich auf any für „genau ein Werkzeug“ verlassen haben, funktioniert disable_parallel_tool_use: true weiterhin mit auto, bedeutet aber jetzt höchstens einen Aufruf. Löschen Sie alle Wiederholungs-bei-fehlendem-Werkzeug-Schleifen; Anthropic sagt, dass Fable 5.1 explizite Werkzeuganweisungen zuverlässig befolgt. In einer CMEK-Organisation sind strict: true und strukturierte Ausgaben bei Fable-Modellen nicht verfügbar, verlassen Sie sich also allein auf die Anweisung.
Breaking Change 2: Ältere Modelle können Fable 5.1 Thinking Blocks nicht lesen
Jeder Thinking Block zeichnet das Modell auf, das ihn erzeugt hat. Fable 5.1 liest Blöcke von Opus 5, Fable 5, Mythos 5 und früheren Modellen, sodass eine Konversation, die auf Fable 5.1 übergeht, ihre Argumentation beibehält. Abgesehen von Mythos 5.1 kann kein anderes Modell einen Fable 5.1 Block lesen.
Eine Fable 5.1-Konversation landet auf einem älteren Modell durch einen Router-Switch, einen clientseitigen Wiederholungsversuch oder einen Klassifikator-Verweigerungs-Fallback. In jedem Fall verwirft die API die Blöcke, die dieses Modell nicht lesen kann, bevor es sie sieht. Die Anfrage ist erfolgreich, die verworfenen Token werden nicht berechnet, und das Zielmodell plant ohne die Argumentation neu, was die Kosten und die Latenz beim ersten Zug nach dem Wechsel erhöht.
Nichts im Code zu beheben. Geben Sie Thinking Blocks unverändert zurück; das Entfernen durch Sie selbst kann Signature-400er auslösen. Für Sichtbarkeit senden Sie den Beta-Header thinking-binding-controls-2026-08-01, und die Antwort enthält ein input_transformations-Array, das jeden verworfenen Block mit reason: "model_binding_mismatch" benennt.
Breaking Change 3: Bearbeiten früherer Züge invalidiert Thinking Blocks
Dies ist der Punkt, für den Zeit eingeplant werden sollte. Ein Fable 5.1 Thinking Block ist nur gültig in Bezug auf den exakten system-Prompt, das tools-Array und den Nachrichtenverlauf, die ihm vorausgingen (preserved thinking). Wo die Prüfung erzwungen wird, wird eine Anfrage, die einen Block wiederholt, nachdem sich etwas davon geändert hat, abgelehnt:
messages.5.content.0: Ungültige \`signature\` im \`thinking\`-Block. Der Block ist an eine andere Konversation gebunden. Entfernen Sie den Block oder setzen Sie \`thinking.block_binding.prefix_mismatch_behavior\` auf "drop_block". Diese Einstellung erfordert den Wert \`thinking-binding-controls-2026-08-01\` im \`anthropic-beta\`-Header.
Wer ist betroffen. Konten, die am oder nach dem 31. August 2026 erstellt wurden. Ältere Konten protokollieren die Abweichung, handeln aber nur danach, wenn die Anfrage thinking.block_binding.prefix_mismatch_behavior setzt. Anthropic sagt, dass zukünftige Modelle dies für jedes Konto durchsetzen werden. Wenn Sie ein Tool versenden, das andere mit ihrem eigenen API-Schlüssel ausführen, testen Sie es mit dem gesetzten Feld: Ihre Benutzer auf neuen Konten werden vor Ihnen durchgesetzt. Claude Code, claude.ai, Managed Agents und das Agent SDK halten das Präfix für Sie intakt; Mythos 5.1 führt die Prüfung überhaupt nicht durch.
Was jeden späteren Block invalidiert: Bearbeiten, Neuanordnen oder Entfernen eines früheren Zuges (einschließlich des Löschens alter Werkzeugergebnisse); Einfügen von pro-Anfrage-Text, den Sie bei der nächsten Anfrage entfernen; Neubau von system oder tools zwischen Anfragen; eine Bild-URL, die später andere Bytes liefert. Was Blöcke gültig hält: Nur-Anhängen-Verläufe, Entfernen einer führenden Reihe von Thinking Blocks, beginnend mit den ältesten, Ändern jedes Parameters außerhalb von system, tools und messages, Verschieben von cache_control-Markern und serverseitige Komprimierung oder Kontextbearbeitung.
Der Notausgang. Senden Sie den Beta-Header und setzen Sie das Feld auf "drop_block":
response = client.beta.messages.create(
model="claude-fable-5-1",
max_tokens=16000,
thinking={"type": "adaptive", "block_binding": {"prefix_mismatch_behavior": "drop_block"}},
betas=["thinking-binding-controls-2026-08-01"],
messages=history,
)
for t in response.input_transformations or []:
print(t.path, t.reason) # prefix_binding_mismatch oder model_binding_mismatch
Die API verwirft den ersten nicht übereinstimmenden Block und jeden Thinking Block danach, fährt fort und meldet jedes Verwerfen. Es gilt nur für diese Anfrage, senden Sie das Feld also weiterhin. Setzen Sie "error" explizit in CI, damit eine Verlaufsbearbeitung den Lauf fehlschlagen lässt. Der Leitfaden zum beibehaltenen Denken enthält das dreistufige Audit und die Komprimierungsformen, die fehlschlagen. Die Korrekturtabelle:
| Sie haben getan | Tun Sie stattdessen dies |
|---|---|
system während der Sitzung bearbeiten |
Beim Sitzungsstart einfrieren; eine role: "system"-Nachricht anhängen, wo die Änderung wirksam wird |
tools während der Sitzung bearbeiten |
Den vollständigen Satz im Voraus deklarieren; tool_addition / tool_removal-Blöcke in einer Systemnachricht senden (Beta mid-conversation-tool-changes-2026-07-01) |
| Einfügen einer Erinnerung pro Zug und deren Löschen | Zug-spezifische Systemnachricht mit clear_at: "next_user_message" (Beta mid-conversation-system-clear-at-2026-08-21), im Verlauf belassen |
| Alte Werkzeugergebnisse clientseitig löschen | Serverseitige Kontextbearbeitung |
| Clientseitige Komprimierung, die die letzten Züge wortwörtlich beibehält | Serverseitige Komprimierung oder eine Zusammenfassungsnachricht plus der neue Benutzerzug, ohne weiteres Replaying |
| Verweisen auf ein Bild per URL über mehrere Züge hinweg | Einmal in die Files API hochladen und die file_id senden |
Von Opus 5 kommend: vier weitere Punkte
- 1. Denken kann bei keinem Aufwand deaktiviert werden. Opus 5 akzeptierte
thinking: {"type": "disabled"}beihighoder niedriger. Fable 5.1 gibt bei jedem Aufwand einen 400er zurück. Entfernen Sie das Feld, steuern Sie die Ausgaben mit geringerem Aufwand und überprüfen Siemax_tokensfür Routen, die ohne Denken ausgeführt wurden. - 2. Zwischen-Werkzeug-Erzählung wandert in Thinking Blocks. Bei Opus 5 kam Text zwischen Werkzeugaufrufen als
text-Blöcke zurück. Bei Fable 5.1 kommt er als Fortschritts-Update-thinking-Blöcke zurück, die unter dem Standarddisplay: "omitted"leer sind. Wenn Ihre Benutzeroberfläche diese Erzählung gerendert hat, setzen Siethinking: {"type": "adaptive", "display": "updates"}mit dem Headerthinking-display-updates-2026-08-18. - 3. Der Klassifikator-Satz ist breiter. Opus 5 verwendet nur Cyber-Klassifikatoren. Fable 5.1 deckt
cyber,bio,frontier_llm,reasoning_extractionundgeneral_harmsab. Behandeln Siestop_reason: "refusal", bevor Siecontentlesen, und aktivieren Siefallbacks: "default"mit dem Headerserver-side-fallback-2026-07-01. Die zulässigen Ziele sind Opus 4.8 und Opus 5, sodass eine abgelehnte Anfrage auf das Modell zurückfallen kann, von dem Sie migriert haben. - 4. Preis und Aufbewahrung. 10 $ und 50 $ anstelle von 5 $ und 25 $, mit Cache-Lesevorgängen für 0,25 $ anstelle von 0,50 $. ZDR geht verloren. Die Preisübersicht enthält die Berechnung.
Wenn Sie von Opus 4.8 oder früher kommen, wenden Sie zuerst die Opus 4.8 zu Opus 5 Migration an, dann diesen Leitfaden. Für Opus 4.8 geschriebene Integrationen kürzen oft alte Züge oder bauen den System-Prompt bei jeder Anfrage neu auf, und Opus 4.8 hatte nie Einwände.
Verhaltensänderungen, die zu testen sind
Keine davon gibt Fehler zurück, und jede hat eine Ein-Zeilen-Korrektur im Prompting-Leitfaden. In langen Schleifen kann Fable 5.1 einen Werkzeugaufruf pro Zug ausführen, wo Fable 5 mehrere gebündelt hat; messen Sie den Anteil der Mehrfachaufrufe und fügen Sie den Batching-Anstoß hinzu, falls er weggefallen ist. Es schreibt weniger Fortschrittsmeldungen, setzen Sie also display: "updates" und entfernen Sie Prompt-Zeilen, die es anweisen, Ergebnisse zurückzuhalten. Bei low Aufwand ruft es Suchwerkzeuge seltener auf, erhöhen Sie also den Aufwand für Züge, die frische Daten benötigen.
Empfohlene Änderungen
- Aufwand pro Nachricht (Beta
mid-conversation-output-config-2026-07-01). Ändern Sie den Aufwand mit einer leerenrole: "system"-Nachricht, dieoutput_configenthält, anstatt den Top-Level-Wert zu ändern, was den Cache zurücksetzt. - Beginnen Sie mit
highund durchsuchen Sie. Die Gewinne gegenüber Fable 5 sind am größten beixhighundmax; Anthropic sagt, dassmediumungefähr Fable 5 bei geringeren Kosten entspricht. Levelnamen werden nicht über Modelle hinweg übernommen. - Kontext auf dem Server kürzen. Serverseitige Komprimierung (Beta
compact-2026-01-12) und Kontextbearbeitung zählen nicht als Verlaufsbearbeitungen.
Die Migrations-Checkliste
- [ ] Bestätigen Sie eine Datenaufbewahrung von 30 Tagen und keine Abhängigkeit von der Prioritätsstufe.
- [ ] Aktualisieren Sie den Modellnamen auf
claude-fable-5-1. - [ ] Ersetzen Sie jede
tool_choicevom Typanyodertooldurchautoplus eine Anweisung undstrict: trueoder strukturierte Ausgaben. - [ ] Von Opus 5 kommend: Entfernen Sie
thinking: {"type": "disabled"}und überprüfen Siemax_tokens. - [ ] Geben Sie Thinking Blocks bei jedem Zug unverändert zurück, auch leere.
- [ ] Wenn Ihr Code
messageserstellt, führen Sie eine Sitzung mitprefix_mismatch_behavior: "drop_block"aus, protokollieren Sieinput_transformationsund beheben Sie jedenprefix_binding_mismatch. - [ ] Frieren Sie
systemundtoolszu Beginn der Sitzung ein; verschieben Sie Zug-spezifische Erinnerungen in Zug-spezifische Systemnachrichten, die Sie niemals löschen. - [ ] Wählen Sie ein Produktions-
prefix_mismatch_behaviorund überwachen Sie es. - [ ] Behandeln Sie
stop_reason: "refusal"; fügen Siefallbacks: "default"hinzu. - [ ] Wenn Ihre Benutzeroberfläche Text zwischen Werkzeugen anzeigt, setzen Sie
display: "updates". - [ ] Führen Sie den Aufwands-Sweep von
higherneut aus und ermitteln Sie die neuen Basiskosten. Die Token-Anzahl ist gegenüber Fable 5 unverändert; Cache-Lesevorgänge kosten ein Viertel des Preises.
Checkliste in Apidog ausführen
Erstellen Sie eine Sammlung mit einer Anfrage pro Breaking Change: einen erzwungenen tool_choice-Aufruf (erwarten Sie den oben genannten 400er), einen thinking: disabled-Aufruf (erwarten Sie einen 400er) und eine Zwei-Anfragen-Sequenz, die den System-Prompt zwischen den Zügen mit dem gesetzten Thinking-Binding-Header bearbeitet (erwarten Sie einen prefix_binding_mismatch-Eintrag). Fügen Sie die erfolgreichen Versionen daneben mit Assertions für stop_reason und einem leeren input_transformations-Array hinzu und führen Sie sie in CI über die Apidog CLI bei jeder Harness-Änderung aus. Laden Sie Apidog herunter, um dies zu erstellen; die API-Anleitung enthält die Anfragen-Bodies.

FAQ
Ist die Migration von Fable 5 auf Fable 5.1 eine Drop-in-Änderung? Größtenteils. Erzwingende tool_choice gibt einen 400er zurück, ältere Modelle können Fable 5.1 Thinking Blocks nicht lesen, und das Bearbeiten früherer Züge invalidiert spätere Thinking Blocks bei erzwungenen Konten. Alles andere wird übernommen.
Was bedeutet „an eine andere Konversation gebunden“? Ihr Code hat etwas vor einem Fable 5.1 Thinking Block geändert und dann den Block wiedergegeben. Beenden Sie die Bearbeitung des Verlaufs, oder senden Sie den thinking-binding-controls-2026-08-01-Header mit prefix_mismatch_behavior: "drop_block".
Erzwingt mein Konto die Verlaufsbearbeitungsprüfung? Wenn es am oder nach dem 31. August 2026 erstellt wurde, ja. Ältere Konten erzwingen dies nur, wenn Sie prefix_mismatch_behavior setzen.
Kann ich meine Fable 5 Prompts behalten? Ja. Anthropic sagt, sie sollten ohne Änderungen gut funktionieren. Führen Sie den Aufwands-Sweep erneut aus und erwarten Sie weniger parallele Werkzeugaufrufe in langen Schleifen.
Was geht bei der Migration von Opus 5 kaputt? Alles aus der Fable 5-Liste, plus thinking: disabled gibt bei jedem Aufwand einen 400er zurück, die Zwischen-Werkzeug-Erzählung wandert in Thinking Blocks, der Klassifikator-Satz ist breiter, der Preis verdoppelt sich und ZDR geht verloren.
Haben Bedrock und Google Cloud die gleichen Breaking Changes? Die Modelländerungen, ja. Die Thinking-Binding-Steuerungen waren bei der Einführung auf der Claude API und Claude Platform auf AWS verfügbar und kommen modellweise auf Bedrock und Google Cloud. Ohne die Steuerungen besteht die Wiederherstellung darin, Thinking Blocks zu entfernen und einmal zu wiederholen.
