Migration auf Claude Fable 5.2: erst die Tools ändern, dann das Modell
Der Advisor und das Computer-Use-Tool stehen beide in tools, und eine Änderung an tools mitten in einer Konversation macht das erhaltene Thinking ungültig. Erledige beides, solange du noch das alte Modell nutzt. Dann ist der Wechsel auf Claude Fable 5.2 ein einzelnes Feld, das du auch wieder zurückstellen kannst.
Inhalt
Bei einer Migration auf Claude Fable 5.2 geht es vor allem um die Reihenfolge, und keine der fünf Doku-Seiten sagt, womit man anfängt. Fable 5.2 ist am 9. November erschienen, für $8 Input und $40 Output pro Million Tokens. Drei der Änderungen brauchen Code: das Computer-Use-Toolset, das Advisor-Pairing und Thinking-Blöcke, die kein anderes Modell liest. Über den Prefix-Check habe ich separat geschrieben; er taucht hier nur auf, weil er die Reihenfolge bestimmt.
Wenn dein Agent auf Claude Managed Agents läuft, kannst du hier aufhören: Laut Doku ändert sich nur der Modellname, dazu das model des Advisors, falls der Agent einen hat, und speed: "fast" fällt weg, falls er es setzt.
Was muss vor einer Migration auf Claude Fable 5.2 geklärt sein?
Vier Dinge auf Account-Ebene, bevor sich am Code etwas ändert. Mit Zero Data Retention gibt jeder Fable-5.2-Request auf der Claude API 400 invalid_request_error zurück, bis ein Workspace 30 Tage Retention hat oder Anthropic eine Ausnahme genehmigt hat. In einer Organisation mit kundenverwalteten Schlüsseln hat Fable 5.2 keine Structured Outputs, also müssen strict: true und output_config.format raus, und dein Code validiert die Ausgabe selbst. Fable 5.2 hat ein eigenes Rate Limit, und wer von Opus 5.5 kommt, hat laut Doku auf jeder Stufe niedrigere Token-Limits. Und auf Priority Tier gibt es das Modell nicht.
Ist das geklärt, gilt diese Reihenfolge:
toolsändern, solange du noch dein bisheriges Modell nutzt: den Advisor aufclaude-fable-5-2, das Computer-Use-Tool auf das Toolset. Neue Konversationen starten mit den neuen Tools.- Den Executor in Staging auf
claude-fable-5-2umstellen, mit explizit gesetztemeffort. - Dort den Beta-Header für Thinking-Binding einschalten und zählen, was verworfen wird, bevor du die Produktion umstellst.
Warum Schritt 1 zuerst kommt, steht in einer Zeile der Doku zu Preserved Thinking: Der geprüfte Prefix umfasst nur system, tools und messages. Das Feld model gehört nicht dazu. Den Advisor oder das Computer-Tool zu ändern ist eine Bearbeitung von tools und macht das Thinking ungültig, das schon in einer Konversation steckt. Das Modell zu wechseln ist keine Bearbeitung. Erledige die Änderungen an tools auf dem alten Modell, dann bleibt der Modellwechsel das Einzige, was sich noch ändert, in beide Richtungen.
Wie setzt du den Advisor vor dem Umstieg auf Claude Fable 5.2?
Stell den Advisor auf dem Executor, den du heute nutzt, auf claude-fable-5-2 um. Ein Fable-5.2-Executor akzeptiert als Advisor nur claude-fable-5-2 oder claude-mythos-5-2, alles andere, auch Fable 5.1, gibt 400 invalid_request_error zurück. Die andere Richtung ist offen: Jeder Executor in der Kompatibilitätsliste akzeptiert Fable 5.2 als Advisor, darunter Opus 5.5 und Fable 5.1. Das Advisor-Tool ist in der Beta (advisor-tool-2026-03-01) auf der Claude API, auf Claude Platform on AWS und auf Google Cloud (von Anthropic verwaltet).
tools = [{
"type": "advisor_20260301",
"name": "advisor",
"model": "claude-fable-5-2",
"max_tokens": 2048,
}]Der Rat kommt verschlüsselt zurück, aber neu ist das nur, wenn dein jetziger Advisor Klartext liefert. Fable- und Mythos-Advisors ab Version 5, Opus 5 und 5.5, Sonnet 5.5 und Haiku 5.5 geben schon heute advisor_redacted_result mit einem undurchsichtigen encrypted_content zurück; Opus 4.8 und die anderen älteren Advisors liefern advisor_result mit lesbarem text. Code, der den Rat bisher gelesen hat, muss das lassen. Er schickt beide Formen unverändert zurück und beurteilt den Advisor nach dem, was der Code selbst sehen kann:
for block in response.content:
if block.type == "advisor_tool_result":
log.info("advisor %s stop=%s", block.content.type,
getattr(block.content, "stop_reason", None))
advisor = [i for i in (response.usage.iterations or []) if i.type == "advisor_message"]
advisor_in = sum(i.input_tokens for i in advisor)
advisor_out = sum(i.output_tokens for i in advisor)stop_reason erscheint bei einem erfolgreichen Ergebnis nur, wenn die Tool-Definition max_tokens setzt. Auch deshalb setzt die Definition oben max_tokens. Die Doku schlägt 2048 als Startwert vor.
Advisor-Tokens stehen nur in usage.iterations. Das usage auf oberster Ebene zählt nur den Executor, ein Kosten-Dashboard, das dort liest, übersieht den Advisor also komplett. Nach dieser Änderung zählt das mehr, weil diese Tokens jetzt zu den $8 und $40 von Fable 5.2 abgerechnet werden, nicht zu den $4 und $20 von Opus 5.5.
Wie stellst du eine Computer-Use-Loop auf das Toolset von Claude Fable 5.2 um?
Schreib sie vor dem Modellwechsel für computer_toolset_20260801 um, auf dem Modell, das du hast, sofern es das Toolset akzeptiert. Ein Eintrag computer_20251124 gibt auf Fable 5.2 auf jeder Plattform außer Amazon Bedrock 400 zurück. Code auf Opus 5.5, Sonnet 5.5 oder Haiku 5.5 nutzt das Toolset schon. Fable 5.1 akzeptiert sowohl das Toolset als auch das alte Tool, auf Fable 5.1 kannst du die Loop also direkt umbauen. Fable 5, Opus 5, Sonnet 5 und Opus 4.8 stehen nur beim alten Tool in der Liste; wenn dein Code darauf läuft, bau die Loop um und teste sie zuerst auf einem der 5.5-Modelle.
Lass den Beta-Header computer-use-2025-11-24 weg und schick den Eintrag ohne Namen und ohne Bildschirmgröße:
{
"type": "computer_toolset_20260801",
"configs": {
"zoom": { "enabled": false }
}
}enable_zoom stand beim alten Tool standardmäßig auf false; beim Toolset ist zoom standardmäßig an. Wenn deine Umgebung keine Zoom-Bilder erzeugen kann, schalte es in configs ab, statt Fehler zurückzugeben. Das Toolset lehnt name, display_width_px, display_height_px, display_number und enable_zoom ab.
In der Loop wandert die Aktion von input.action in den name des Blocks, jeder Block trägt toolset_name: "computer", und Claude kann mehrere Aktionen in einem Turn zurückgeben. Die Doku nennt das einen Batch: Führe die Blöcke der Reihe nach aus, hör beim ersten Fehler auf und beantworte jeden späteren Block mit genau dem Text, den die Doku vorgibt. Ein unbeantworteter tool_use-Block wird abgelehnt. Eine Loop, die nur den ersten Block liest, scheitert also beim nächsten Request. Wenn dein Executor noch keine Batches ausführen kann, begrenzt disable_parallel_tool_use: true in tool_choice Claude auf eine Aktion pro Turn.
Dieser Handler nimmt den Inhalt des Turns als einfache Dicts (response. mit dem Python SDK):
HALT = "Not executed: an earlier computer action in this turn failed."
def answer_batch(content, run):
"""Answer every computer member call in one assistant turn, in order."""
results, failed = [], False
for block in content:
if block.get("type") != "tool_use" or block.get("toolset_name") != "computer":
continue
result = {"type": "tool_result", "tool_use_id": block["id"],
"toolset_name": "computer"}
if failed:
result.update(is_error=True, content=HALT)
else:
try:
result["content"] = run(block["name"], block["input"])
except Exception as exc:
failed = True
result.update(is_error=True, content=f"Error: {exc}")
results.append(result)
return resultsFür einen Turn mit drei Blöcken (ein key mit repeat: 3, ein Klick außerhalb eines 1024 Pixel breiten Bildschirms, ein screenshot) und einen Stub als Executor liefert er:
{'type': 'tool_result', 'tool_use_id': 'toolu_1', 'toolset_name': 'computer', 'content': [{'type': 'text', 'text': 'pressed Down x3'}]}
{'type': 'tool_result', 'tool_use_id': 'toolu_2', 'toolset_name': 'computer', 'is_error': True, 'content': 'Error: coordinate outside the screen'}
{'type': 'tool_result', 'tool_use_id': 'toolu_3', 'toolset_name': 'computer', 'is_error': True, 'content': 'Not executed: an earlier computer action in this turn failed.'}Der Screenshot läuft nie, bekommt aber trotzdem eine Antwort. Ein Handler, der beim Fehler aufhört und zwei Ergebnisse zurückgibt, bekommt beim nächsten Request ein 400.
Drei weitere Details aus den Upgrade-Schritten:
repeatbeikey. Es nimmt Werte von 1 bis 100, und ein Handler, der unbekannte Felder ignoriert, drückt die Taste einmal, und nirgends erscheint ein Fehler.- Zu große Bilder. Das Toolset lehnt einen Screenshot oder ein Zoom-Bild über den Bildlimits des Modells ab, statt es herunterzuskalieren. Skalier also vor der Rückgabe und rechne die Koordinaten weiterhin zurück.
- Inhalt der Ergebnisse. Ergebnisse dürfen nur
textundimageenthalten.
Das Toolset mit allen 17 Mitgliedern kostet außerdem etwa 4.500 Input-Tokens pro Request; zoom abzuschalten spart davon etwa 410.
Was ändert sich, wenn der Executor selbst auf Claude Fable 5.2 wechselt?
Der Modell-String, das Effort-Level und sehr wenig sonst, wenn Schritt 1 erledigt ist. Setz effort explizit: Fable 5.2 steht standardmäßig auf high, Opus 5.5 auf medium, und der Beitrag zum Prefix-Check zeigt, was das für die Kosten und für knappe max_tokens bedeutet. Fast Mode funktioniert auf der Claude API mit speed: "fast" und ohne Beta-Header, zu $16 und $80 pro Million Tokens. Auf Microsoft Foundry gilt er für Deployments, die bei Anthropic gehostet sind: Lass speed weg und schick die Requests an ein Deployment claude-fable-5-2-fast.
Laufende Konversationen können ebenfalls umziehen. Auf der Claude API und Google Cloud (von Google verwaltet) liest Fable 5.2 das Thinking von Opus 5.5, Fable 5.1 und den anderen aktuellen Modellen, eine Konversation, die zu ihm wechselt, behält also ihr bisheriges Reasoning.
Wie siehst du das Thinking, das ein Rollback von Claude Fable 5.2 verliert?
Schick den Beta-Header thinking-binding-controls-2026-08-01 und zähl input_transformations nach Grund. Der Wechsel zu Fable 5.2 behält das Reasoning, der Wechsel weg davon nicht. Außerhalb des Paars Fable 5.2 und Mythos 5.2 liest kein Modell deren Thinking-Blöcke. Ein Rollback, ein Router oder ein Refusal-Fallback, der eine Konversation an Opus 5.5 oder Fable 5.1 schickt, bekommt also ein 200, und das Modell arbeitet ohne dieses Reasoning weiter. Das gilt auch für den serverseitigen Fallback (Beta auf der Claude API und Google Cloud, von Anthropic verwaltet): Die erlaubten Ziele für Fable 5.2 sind Opus 4.8 und Opus 5, und keines davon liest seine Blöcke. Wie dieses Verwerfen funktioniert, habe ich beschrieben, als Sonnet 5.5 es eingeführt hat.
from collections import Counter
drops = Counter(t.reason for t in (getattr(response, "input_transformations", None) or [])
if t.type == "thinking_dropped")
for reason, n in drops.items():
metrics.increment(f"thinking_dropped.{reason}", n)So sollten die Zahlen aussehen: model_binding_mismatch sollte abbilden, wie oft dein Router oder Fallback eine Konversation aus dem Paar herausnimmt, und sonst nichts. organization_binding_mismatch sollte null sein. Thinking von Fable 5.2 funktioniert nur in dem Account, der es erzeugt hat, oder in einem damit verknüpften; ein Wert über null heißt, dass gespeicherte Konversationen über einen anderen Account erneut abgespielt werden (gemeldet auf der Claude API und Google Cloud, von Google verwaltet). prefix_binding_mismatch erscheint nur, wenn du drop_block aktiviert hast, und jeder Eintrag heißt, dass etwas die History bearbeitet hat.
Die Blöcke werden nicht zerstört. Sie bleiben in deinen messages, werden nicht abgerechnet, solange sie verworfen sind, und werden wieder gelesen, wenn die Konversation zu Fable 5.2 zurückkehrt, es sei denn, dein Client entfernt Thinking bei einem Modellwechsel.
Lässt sich der Wechsel auf Claude Fable 5.2 rückgängig machen?
Meine Einschätzung: In einer Richtung ist er billig, und die Doku beschreibt vor allem diese Richtung. Eine Konversation zu Fable 5.2 zu verschieben behält ihr Reasoning und kostet, wenn die Tools schon geändert sind, ein Feld. Zurück ist es dasselbe Feld, die Antwort ist 200, und die Turns, die auf dem anderen Modell laufen, verlieren, was Fable 5.2 erarbeitet hat. Weil Advisor und Toolset vorher stehen, ist der Rollback eine Konfigurationsänderung statt eines neuen Deployments: Wenn du von Opus 5.5 oder Fable 5.1 kommst, akzeptiert dein bisheriger Executor sowohl einen Fable-5.2-Advisor als auch das Toolset. tools bleibt also in beide Richtungen gleich. Was du auf dem Rückweg nicht behältst, ist das Thinking, und der Beta-Header ist die einzige Stelle, an der dieser Verlust gezählt wird.
01 / Diskussion
Hier gibt es keine Kommentarspalte. Diskussionen laufen auf X.
02 / Weitere Artikel
Der Prefix-Check von Claude Fable 5.2: ein 400-Fehler, der davon abhängt, was dein Code im letzten Turn getan hat
Die Prüfung, die wiederverwendetes Reasoning nach einer bearbeiteten History ablehnt, gilt jetzt für jeden Account. Code, der an seine History nur anhängt, begegnet ihr nie, und Code, der das nicht tut, merkt es nicht an einem einzelnen Test-Request. Die Lösung steht in der Fehlermeldung. Schwer ist, den Fehler auszulösen, bevor es die Produktion tut.
Claude Opus 4.8 Fast Mode endet am 30. November: Opus 5.5 ist pro Token günstiger, aber nicht immer pro Request
Der Nachfolger kostet pro Token 20 % weniger und bei Cache-Reads 60 % weniger. Er denkt aber bei jedem Request, dieses Thinking wird als Output abgerechnet, und sein Tempogewinn liegt im Durchsatz, nicht bei der Zeit bis zum ersten Token. Ob sich der Wechsel rechnet, hängt davon ab, wie viel jeder Request schreibt und was dein Error-Handler tut, wenn das Fast-Rate-Limit ausgeschöpft ist.
GPT-6.1 Terra nach drei Tagen: die veröffentlichten Berichte, und warum keiner Terras Computer-Use-Tool testet
Terra wurde als Modell für Bildschirme und Klicks vermarktet. In den ersten drei Tagen erschienen ein Pelikan, eine Tabellenprüfung, ein Latenzvergleich, ein Quiz zum Bildschirmlesen und GitHubs Einschätzung zu C#. Am nächsten an Belegen dafür, wie Terra Sperren umgeht, kommt OpenAIs eigene System Card, und die Zahl, auf die es dort ankommt, ist, wie oft das Modell einen anderen Weg fand.