Nach Claude Sonnet 5.5: Die Preisliste blieb — warum JSON-Extraktion trotzdem 400 liefert. Von between_tools zu JSON Schema

Stand 29. September 2026: Sonnet 5.5 (28. Sep.) hält $2/$10. thinking.disabled ist 400; stattdessen between_tools. JSON ohne Tools braucht weiter adaptive thinking plus Structured Output — nicht thinking aus.

Vorab: Sonnet 5.5 behält jede Zeile der Preisliste und ändert den Request-Vertrag. Am 28. September 2026 hat Anthropic Claude Sonnet 5.5 (claude-sonnet-5-5) ausgeliefert. Input / Output bleiben $2 / $10; Cache-Reads $0.20. Anthropic sagt, Output ist 30 %+ schneller und die meiste Arbeit kostet etwa 30 % weniger — die Ersparnis sind Tokens pro Task, nicht der Listenpreis. Was Produktion bricht, sind die alten Schalter von Sonnet 5: thinking: {"type": "disabled"} liefert 400; tool_choice-Werte any und tool liefern 400; ein nicht-default temperature, top_p oder top_k ist ebenfalls 400. Die stillere Falle ist JSON-Extraktion: bei einem Request ohne Tools bedeutet between_tools, dass das Modell nicht zuerst denkt, und Structured Output geht trotzdem schief. Anthropics Prompting-Seite legt diesen Fall unter „Reasoning tasks with JSON output“ ab.

Stand 29. September 2026, gegen die Modellseite, „What’s new“ und den Migrationsguide, die an dem Tag noch aktuell waren. Diese Seite hat bereits warum Opus 5.5 JSON nicht mit tool_choice erzwingen lässt (24. September). Dieser Text schreibt jene vier Fehler nicht neu. Er beantwortet nur, was eine Sonnet-5-→-5.5-JSON-Pipeline zusätzlich ändern muss. Haiku 5.5 steht weiter „in den kommenden Wochen.“ Dieser Artikel leiht sich dieses Datum nicht.

Was am 28. September erschienen ist

Claude Sonnet 5.5 ist das zweite Modell der Claude-5.5-Familie. Offizielle Positionierung: die Mitte aus Tempo und Intelligenz; Alltagscoding, Bugfixes, Dokumente und Tabellen. Die ID ist claude-sonnet-5-5 auf der Claude API, Google Cloud, Microsoft Foundry und Claude Platform on AWS; Bedrock nutzt anthropic.claude-sonnet-5-5. Retirement nicht vor dem 28. September 2027. Der Tokenizer entspricht Sonnet 5, derselbe Text erzeugt dieselben Token-Zahlen.

Preise pro Million Tokens: $2 rein, $10 raus, $2.50 für einen 5-Minuten-Cache-Write, $4 für einen 1-Stunden-Cache-Write, $0.20 für einen Cache-Read. Batch ist halber Preis. Context ist 1M; synchrones Max-Output 128K. Message Batches können 300K mit output-300k-2026-03-24 erreichen. Der minimale cachebare Prompt fällt von Sonnet 5s 1.024 Tokens auf 512. Default-effort ist high — Opus 5.5 defaultet auf medium. Lassen Sie effort weg, läuft der Request auf high. Das ist keine stille Kompatibilität mit Sonnet 5.

Der Launch rahmt Sonnet 5.5 als das schnellere, günstigere Komplement zu Opus 5.5. Dieser Artikel wählt kein Modell von einer Rangliste. Was zählt: die Preisliste blieb stehen, während thinking, tool_choice und der JSON-Extraktionsvertrag gewandert sind.

Fünf harte Fehler, eine Tabelle

Die Docs listen die Requests, die auf 5.5 zu 400 werden. Die ersten drei teilen eine Wurzel mit Opus 5.5 und Fable 5.1. Der Ersatz in der ersten Zeile ist anders:

Alter Request (Sonnet 5)Auf 5.5Was Sie stattdessen senden
thinking: {"type": "disabled"} oder enabled plus budget_tokens400 invalid_request_error, der auf between_tools zeigtVorab-Thinking mit {"type": "between_tools"} abschalten; für Reasoning thinking weglassen oder adaptive senden
tool_choice: {"type": "any"} oder {"type": "tool", "name": "..."}400; der Token-Counting-Endpunkt wendet denselben Check anauto (oder none) plus strict: true, oder Structured Output
Einen thinking-Block replayen, nachdem Sie system / tools / eine frühere Message editiert haben400 per Default auf Accounts, die nach dem 31. August 2026 angelegt wurdenConversation nur anhängen; Instructions mit einer Mid-Conversation-System-Message ändern
computer_20251124 auf der Claude API oder Google Cloud400computer_toolset_20260801; Bedrock akzeptiert das alte Tool weiter
Ein advisor auf Opus 4.8 / 4.7 oder Sonnet 5400Einen advisor nutzen, den 5.5 akzeptiert (einschließlich Opus 5.5, Fable / Mythos 5.1 oder 5.5 selbst)

Eine weitere Änderung bricht den Request nicht, wird aber still: längere Notizen zwischen Tool-Calls kommen als thinking-Blöcke. Beim Default display: "omitted" ist der Text leer. Eine UI, die diese Sätze als Fortschrittsbalken gestreamt hat, verstummt. Für Fortschritt unter adaptive Thinking setzen Sie thinking.display (updates braucht einen Beta-Header). between_tools liefert den Summary-Text, und dieser Typ lehnt ein display-Feld ab.

Sampling ist kein Regler mehr. Ein nicht-default temperature, top_p oder top_k ist ein 400. Requests, die eine niedrigere temperature genutzt haben, um „JSON zu stabilisieren“, müssen jetzt das Schema stabilisieren.

disabled ist weg; between_tools ist die Untergrenze

Sonnet 5 hat Thinking mit disabled abgeschaltet. Auf 5.5 ist diese Zeile ein 400, dessen Meldung auf between_tools zeigt. Die niedrigste Einstellung sieht so aus:

{
  "model": "claude-sonnet-5-5",
  "thinking": { "type": "between_tools" },
  "output_config": { "effort": "high" }
}

between_tools braucht keinen Beta-Header und wird auf jeder Plattform akzeptiert, die das Modell anbietet. Es schaltet nur vorab-Thinking ab. Längere Fortschrittsnotizen zwischen Tool-Calls kommen weiter als thinking-Blöcke. Echoen Sie sie unverändert; das Modell bekommt die volle Notiz, nicht die Summary. Ohne Tools ist die Antwort meist nur Text — die alte disabled-Form.

Die Grenzen sind strikt. Es wird bei low / medium / high akzeptiert. Paaren Sie es mit xhigh oder max, bekommen Sie 400. Fügen Sie display, budget_tokens oder block_binding hinzu, ebenfalls 400. Eine Mid-Conversation-Änderung an output_config.effort ist ein 400 — Per-Turn-effort braucht adaptive Thinking. Wenn der Server-Fallback auf Sonnet 5 landet, wird between_tools dort nach disabled übersetzt.

5.5 zwingt Thinking also nicht auf volle Tiefe. Es nimmt den alten disabled-Schalter. Ist der Schalter weg, müssen Sie für ausgeschaltetes Thinking einen neuen Typ senden. Wer stabiles JSON will, sollte es oft nicht abschalten — siehe den nächsten Abschnitt.

Bei JSON-Extraktion ohne Tools Thinking nicht abschalten

Anthropics Prompting-Seite hat dafür einen eigenen Abschnitt: geben Sie Sonnet 5.5 eine JSON-Aufgabe, die ein paar Schritte braucht (Summen, eine Regel, ein Ranking), und bei low / medium antwortet es oft ohne zuerst zu denken. Mit Structured Output kann der sichtbare Text nur JSON sein, die Arbeit kann also nur im Thinking passieren. Lassen Sie Thinking weg, fällt die Genauigkeit.

Die dokumentierte Reihenfolge ist:

  1. Nutzen Sie Structured Output, wenn Sie können. Der Body ist dann ein Objekt, das zum Schema passt. Sie rufen nicht JSON.parse auf Chat-Prosa auf. Siehe was Structured Output ist.
  2. Nutzen Sie adaptive Thinking, nicht between_tools. Bei einem Request ohne Tools bedeutet between_tools kein Thinking zuerst. Eine Zeile „think before you answer“ im Prompt hat dort keine Wirkung. „Antwort, dann JSON“ in zwei Requests zu splitten hat in ihren Tests gut abgeschnitten und kostete zu viel Latenz und Tokens, um Default zu sein.
  3. Beenden Sie den System-Prompt mit Think the problem through before you answer. Bei high nähert sich die Genauigkeit xhigh für einen bescheidenen Aufschlag an Output-Tokens. Bei low / medium steigt sie ebenfalls, bei höheren Token-Kosten.
  4. Lassen Sie in max_tokens Platz für Thinking. Mit Structured Output bei low / medium denkt das Modell gelegentlich bis zur Cap. Behandeln Sie eine Antwort, deren stop_reason max_tokens ist, als Fehler — auch wenn der Text valides JSON ist — und retryen Sie.

Ohne Structured Output arbeitet das Modell oft in der Prosa und setzt das JSON zuletzt. Die ganze Antwort zu parsen scheitert. Der dokumentierte Fallback: nur text-Blöcke lesen, ab jedem { oder [ einen Parse versuchen, und den letzten vollständigen Wert behalten. Nehmen Sie nicht die Spanne vom ersten { zum letzten } — ein Entwurf kann in der Mitte sitzen. Siehe warum JSON.parse scheitert. Das ist ein Fallback, kein Vertrag.

Erzwungene Tools sind ein 400, wie bei Opus 5.5

Die 5.5-Familie teilt denselben Fehler:

tool_choice: type "tool" and "any" are not supported for this model.

Der Ersatz bleibt: lassen Sie tool_choice auf auto, setzen Sie strict: true am Tool, und pinnen Sie die Parameter mit JSON Schema. Die finale Antwort auf Structured Output legen. Wenn das Modell ein Tool rufen soll statt in Prosa zu antworten, sagen Sie im Prompt, wann das Tool gilt. Der Prompt beeinflusst, welches Tool auto wählt. Er ersetzt das Schema nicht. Die lange Version steht in warum Opus 5.5 JSON nicht mit tool_choice erzwingen lässt und warum Tool Calling von JSON Schema abhängt.

5.5 ergänzt eine Toleranznotiz: es ruft gelegentlich ein Tool mit falscher Groß-/Kleinschreibung oder einen Parameter unter einem leicht anderen Namen. Behandeln Sie das nicht als fatal. Akzeptieren Sie den Call, wenn der Match eindeutig ist, oder geben Sie is_error: true mit dem exakten Namen zurück. Das Schema strict halten. Namensmatching darf eine Stufe lockerer sein.

Die Preisliste hat sich nicht bewegt; Default-effort ist high

Listenpreise entsprechen Sonnet 5. Das offizielle „etwa 30 % günstiger“ sind weniger Tokens pro Task, nicht die Karte. Unabhängige Texte zeigen schon die andere Seite: wenn ein Task den eigenen Output nicht begrenzt, kann das neue Modell mehr kosten. Fahren Sie dasselbe Schema durch einen Extraktions-Sweep, bevor Sie das Routing ändern.

Effort-Stufen sind neu kalibriert. Dasselbe high ist nicht dieselbe Thinking-Menge wie auf Sonnet 5. Die Docs starten bei high für Alltag; medium für gut spezifiziertes agentisches Coding und Tool-Loops; medium oder low für Chat und latenzsensible Last. Eine Änderung am Top-Level-effort bricht den Prompt-Cache. Per-Turn-Änderungen brauchen Per-Message-effort (Beta) unter adaptive Thinking. between_tools lässt effort mitten in der Conversation nicht wandern.

Mischen Sie Defaults nicht mit Opus 5.5: jenes Modell defaultet auf medium; Sonnet 5.5 defaultet auf high. Tauschen Sie nur den Modellstring, springen Rechnung und Latenz. Thinking-Blöcke reisen auch nicht frei. 5.5 kann Blöcke von Sonnet 5, Opus 4.8, Haiku 4.5 und früheren Modellen lesen. Es liest nicht Opus 5, Opus 5.5, Fable oder Mythos. Kein anderes Modell liest Sonnet-5.5-Blöcke. Verschieben Sie eine Conversation von Opus 5.5 auf Sonnet 5.5, lässt die API das Reasoning fallen. Der Request liefert weiter 200; weggefallene Blöcke werden nicht berechnet.

Temperature, Cache, Computer Use, advisor

Ein nicht-default temperature / top_p / top_k ist ein 400. Pipelines, die JSON mit Sampling „angezogen“ haben, müssen jetzt das Schema anziehen. Die Cache-Untergrenze ist 512 Tokens, kurze System-Prompts cachen also leichter. Eine Änderung am Top-Level-effort invalidiert den Cache weiter.

Auf der Claude API und Google Cloud akzeptiert Computer Use nur computer_toolset_20260801. Bedrock akzeptiert computer_20251124 weiter. Das advisor-Tool (Beta) lässt einen 5.5-Executor nicht mit Opus 4.8 / 4.7 oder Sonnet 5 paaren. Advisors, die 5.5 akzeptiert, liefern verschlüsselte advisor_redacted_result-Blöcke; der Client kann den Advice-Text nicht lesen.

Um ein Tool-Schema mitten in der Conversation zu ändern, kann inline-tools-2026-09-15 eine volle Definition in einer Mid-Conversation-System-Message mitführen, ohne das Top-Level-tools-Array zu editieren. Das ist dieselbe Regel wie prefix-gebundenes Thinking: History anhängen. Compaction (compact-2026-09-04) kann eine signierte Summary einsetzen und Thinking gültig halten, unter den Bedingungen auf Anthropics Compaction-Seite.

Fünf Checks, bevor Sie den Modellstring ändern

  1. Suchen Sie nach thinking. disabled und budget_tokens entfernen. Um Vorab-Thinking abzuschalten, between_tools bei high oder darunter senden. Für JSON-Reasoning-Tasks adaptive Thinking nutzen.
  2. Suchen Sie nach tool_choice. Jedes any / benannte tool durch auto ersetzen. strict einschalten und input_schema anziehen.
  3. Suchen Sie nach temperature / top_p / top_k. Nicht-Defaults löschen. JSON mit dem Schema stabilisieren, nicht mit Sampling.
  4. Setzen Sie effort explizit. Den Default high nicht erben. Gemeinsames Routing mit Opus 5.5 hat zwei verschiedene Defaults.
  5. Replay und Cache. Auf Accounts nach dem 31. August Tools oder system in der History nicht editieren. Kommen Sie von Opus 5.5, erwarten Sie, dass thinking-Blöcke wegfallen.

Das Schema mit lokalen JSON-Tools prüfen

Bevor Sie das Modell auf claude-sonnet-5-5 setzen, drei Texte im Browser auslegen: das alte input_schema, ein arguments-Objekt, das Sie früher mit disabled oder einem erzwungenen tool_choice bekommen haben, und das Schema, das Sie auf Structured Output legen wollen.

  • JSON-Validator — ist die Grammatik legal; wenn Sie ein Schema haben, Pflichtfelder und Extra-Keys zusammen prüfen.
  • JSON-Formatierer — eine einzeilige Tool-Definition aufklappen und sehen, ob additionalProperties gesetzt ist.
  • JSON Diff — ein Sample aus thinking-off mit dem kleinsten Objekt vergleichen, das das strict-Schema erlaubt.

Nichts verlässt den Browser. Den Vertrag stabilisieren, dann den Modellstring ändern. 5.5 wird effort ändern und disabled sowie das alte tool_choice ablehnen. Ihre Feldnamen und die required-Liste sollten nicht mit ihm lockern.

FAQ

Reicht es, nur das Modell auf claude-sonnet-5-5 zu stellen?

Nicht als Default. Wenn der Request weiter thinking.disabled, budget_tokens, tool_choice any/tool, ein nicht-default temperature oder computer_20251124 auf der Claude API hat, bekommen Sie 400.

Ist between_tools das neue disabled?

Nur bei Requests ohne Tools. Mit Tools kommt Fortschritt weiter als thinking-Blöcke. Es lehnt display / budget_tokens / Mid-Conversation-effort-Änderungen ab und lässt sich nicht mit xhigh oder max paaren. Nicht für JSON-Reasoning-Tasks nutzen.

Wenn die Preisliste sich nicht bewegt hat, warum würde die Rechnung wandern?

Default-effort ist high, und die Stufen wurden neu kalibriert. Die offiziellen 30 % Ersparnis sind Tokens pro Task, nicht der Listenpreis. Wenn ein Task den Output nicht begrenzt, haben Unabhängige eine höhere Rechnung gesehen. Fahren Sie dasselbe Schema selbst.

Ist das dasselbe wie Opus 5.5 am 22. September?

Erzwungene Tools, gebundene thinking-Blöcke und das alte Computer-Tool teilen eine Wurzel. Was Sonnet 5.5 dazulegt: disabled→between_tools, Default-effort high, gesperrtes Sampling, advisor-Paarungen und „Thinking bei JSON ohne Tools nicht abschalten.“ Die zwei Linien getrennt migrieren.

Ohne Structured Output, wie sammle ich weiter JSON?

Nur text-Blöcke lesen und den letzten vollständigen JSON-Wert parsen. Die ganze Antwort nicht parsen. Retryen, wenn stop_reason max_tokens ist. Das ist ein Fallback. Ein Schema bevorzugen, wenn Sie können.

Ist Haiku 5.5 erschienen?

Stand 29. September 2026 lautet die offizielle Zeile weiter „in den kommenden Wochen.“ Weisen Sie diese Breaking Changes keinem Tier zu, das noch nicht draußen ist.

Fazit

Sonnet 5.5 hält die Preisliste still und macht disabled zu einem 400. Kopieren Sie einen Sonnet-5-Request, hartes Fail auf thinking, tool_choice und temperature. Um Vorab-Thinking abzuschalten, between_tools senden. Für stabiles JSON: adaptive Thinking plus Structured Output, oder auto plus strict plus JSON Schema. Bei einem Reasoning-Task ohne Tools ist Thinking abzuschalten ein gemessener Genauigkeitsverlust.

Ziehen Sie das Schema, ein Sample-arguments-Objekt und den strict-Vertrag zuerst in einem lokalen Validator glatt, dann wechseln Sie auf claude-sonnet-5-5. Der Listenpreis kann bleiben. Der Feldvertrag sollte nicht mit ihm lockern.