Migration zu Claude Fable 5.1 von Fable 5 oder Opus 5: Alle Breaking Changes

Umstieg auf Claude Fable 5.1 von Fable 5 oder Opus 5: erzwungene tool_choice 400, Einweg-Denkblöcke, die Prüfung der Bearbeitungshistorie, jede Fehlerbehebung und eine vollständige Checkliste.

Ashley Goolam

Ashley Goolam

2 September 2026

Migration zu Claude Fable 5.1 von Fable 5 oder Opus 5: Alle Breaking Changes

Apidog für Unternehmen

On-Premises Bereitstellung

SSO & RBAC

SOC 2 konform

Apidog Enterprise entdecken

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:

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

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

Die Migrations-Checkliste

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.

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen