Wie „zero data retention" (keine Datenspeicherung), oder ZDR, auf dieses Feature angewendet wird, erfährst du unter API und Datenspeicherung.
Diese Seite behandelt die häufigsten Fehler beim Konfigurieren des Denkens oder beim Round-Tripping von Denkblöcken (das Zurücksenden zurückgegebener Denkblöcke in späteren Anfragen). Der erste Abschnitt ordnet jedem Modell die unterstützten Denkkonfigurationen und die abgelehnten zu; die darauffolgenden Abschnitte beginnen jeweils mit einem Symptom, das du beobachtest, sodass du eine Fehlermeldung oder eine unerwartete Antwort direkt ihrer Ursache und Lösung zuordnen kannst. Wie das Denken funktioniert, erfährst du in der Denken-Übersicht.
Die meisten Denkkonfigurationsfehler sind eine Diskrepanz zwischen dem thinking.type-Wert in der Anfrage und dem, was das Modell unterstützt. Bei aktuellen Modellen läuft das Denken als thinking: {type: "adaptive"}, und bei den neuesten ist es standardmäßig aktiviert. Einige frühere Modelle verwenden stattdessen erweitertes Denken, einen veralteten manuellen Modus, der als thinking: {type: "enabled", budget_tokens: N} konfiguriert wird.
Extended thinking (erweitertes Denken) (thinking.type: "enabled" mit budget_tokens) ist auf den Claude 4.6-Modellen veraltet (Anfragen, die es verwenden, sind weiterhin erfolgreich). Claude 4.7 und spätere Modelle unterstützen es nicht und lehnen Anfragen ab, die es verwenden, und geben einen 400-Fehler zurück. Auf Claude 4.5 und früheren Modellen, die Denken unterstützen, ist erweitertes Denken der einzige verfügbare Denkmodus. Claude Mythos Preview unterstützt beide Modi. Wo beide Modi verfügbar sind, verwende stattdessen adaptives Denken.
Die Tabelle listet auf, was jedes Modell unterstützt, was sein Standard ist und welche thinking.type-Werte es mit einem 400-Fehler ablehnt; jeder Wert, der nicht als abgelehnt aufgeführt ist, wird akzeptiert.
| Modell | Denktypen | Standard | Mit 400 abgelehnt |
|---|---|---|---|
| Claude Fable 5 | Nur adaptiv | Immer an | "enabled", "disabled" |
| Claude Mythos 5 | Nur adaptiv | Immer an | "enabled", "disabled" |
| Claude Mythos Preview | Adaptiv, erweitert | Immer an | "disabled" |
| Claude Opus 5 | Nur adaptiv | An | "enabled", "disabled"2 |
| Claude Opus 4.8 | Nur adaptiv | Aus | "enabled" |
| Claude Opus 4.7 | Nur adaptiv | Aus | "enabled" |
| Claude Sonnet 5 | Nur adaptiv | An | "enabled" |
| Claude Opus 4.6 | Adaptiv, erweitert (veraltet)1 | Aus | Keine |
| Claude Sonnet 4.6 | Adaptiv, erweitert (veraltet)1 | Aus | Keine |
| Claude Opus 4.5 | Nur erweitert | Aus | "adaptive" |
| Claude Haiku 4.5 | Nur erweitert | Aus | "adaptive" |
| Claude Sonnet 4.5 | Nur erweitert | Aus | "adaptive" |
| Claude Opus 4.1 (veraltet) | Nur erweitert | Aus | "adaptive" |
1 enabled und budget_tokens funktionieren bei diesen Modellen weiterhin, sind aber veraltet; verwende stattdessen adaptives Denken.
2 Claude Opus 5 akzeptiert "disabled" bei effort high oder darunter; die Kombination mit effort xhigh oder max gibt einen 400-Fehler zurück. Diese Einschränkung gilt für Claude Opus 5 und spätere Modelle und wird bei jeder Anfrage durchgesetzt.
Modelle, die mit Immer an markiert sind, können das Denken nicht ausschalten. Modelle, die mit An markiert sind, denken standardmäßig, akzeptieren aber thinking: {type: "disabled"}.
Frühere Claude-4-Modelle (Claude Sonnet 4 und Claude Opus 4) unterstützen nur erweitertes Denken; siehe Modell-Deprecations für ihre Verfügbarkeit. Claude Fable 5 und Claude Mythos 5 sind unter Zero Data Retention nicht verfügbar.
"thinking.type.enabled" nicht unterstützt wirdDie Anfrage schlägt mit einem 400-Fehler fehl, dessen Meldung lautet:
"thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.Das passiert, weil das angeforderte Modell erweitertes Denken entfernt hat (siehe Konfigurationen, die jedes Modell ablehnt).
Stelle die Anfrage auf thinking: {type: "adaptive"} um und steuere die Denktiefe mit effort statt mit budget_tokens. Migration zu adaptivem Denken führt durch die Umstellung.
"thinking.type.disabled" nicht unterstützt wirdDie Anfrage schlägt mit einem 400-Fehler fehl, dessen Meldung lautet:
"thinking.type.disabled" is not supported for this model. Thinking defaults to adaptive mode when not specified; use "thinking.type.enabled" with "budget_tokens" for extended thinking.Das passiert bei Modellen, bei denen das Denken immer aktiviert ist: Claude Fable 5, Claude Mythos 5 und Claude Mythos Preview lehnen "disabled" ab. Bei Claude Fable 5 und Claude Mythos 5 gilt auch der Vorschlag "thinking.type.enabled" aus dem Fehlertext nicht: Diese Modelle lehnen ihn ebenfalls ab.
Lass den thinking-Parameter weg; diese Modelle denken ohne jegliche Konfiguration. Wenn dein Ziel war, Denktext aus den Antworten herauszuhalten, verwende display: "omitted", anstatt das Denken zu deaktivieren; siehe Steuerung der Denkanzeige.
Ein 400-Fehler bei "disabled" kann auch bei Claude Opus 5 auftreten, das thinking: {type: "disabled"} nur bei effort high oder darunter akzeptiert: Die Kombination mit effort xhigh oder max wird abgelehnt. Senke die Effort-Stufe oder lass das Denken aktiviert.
Die Anfrage schlägt mit einem 400-Fehler fehl, dessen Meldung lautet:
adaptive thinking is not supported on this modelDas passiert, weil das Modell nur erweitertes Denken unterstützt (siehe Konfigurationen, die jedes Modell ablehnt).
Verwende stattdessen thinking: {type: "enabled", budget_tokens: N}; siehe Erweitertes Denken für die Konfiguration.
Eine Anfrage, die Tool-Ergebnisse zurückgibt, schlägt mit einem 400 invalid_request_error fehl, dessen Meldung Folgendes enthält:
`thinking` or `redacted_thinking` blocks in the latest assistant message cannot be modifiedIn Multi-Turn- und Tool-Nutzungs-Konversationen sendest du vorherige Assistant-Nachrichten, einschließlich ihrer thinking- und redacted_thinking-Blöcke, an die API zurück, und die API überprüft, dass sie unverändert ankommen. Dieser Fehler tritt auf, wenn die Assistant-Nachricht, die du zurücksendest, von der abweicht, die die API zurückgegeben hat — meistens, weil dein Code Content-Blöcke nach Typ filtert und redacted_thinking-Blöcke verwirft oder die Assistant-Nachricht neu aufbaut, anstatt sie unverändert zurückzugeben.
Gib den Assistant-Turn wortwörtlich zurück, einschließlich der Denkblöcke. Siehe Denkblöcke bewahren für die Regeln und den ausgearbeiteten Round-Trip in Denken in Tool- und Multi-Turn-Workflows für korrekten Code in jedem SDK.
Die Antwort enthält thinking-Blöcke, aber ihr thinking-Feld ist ein leerer String und nur das signature-Feld ist befüllt.
Das passiert, weil display bei neueren Modellen standardmäßig "omitted" ist, wodurch Denkblöcke ohne ihren Text zurückgegeben werden.
Setze display: "summarized" in deiner Denkkonfiguration, um den zusammengefassten Denktext zu erhalten; siehe Steuerung der Denkanzeige für die Standardwerte pro Modell.
Einige Antworten enthalten überhaupt keinen thinking-Block, obwohl das Denken konfiguriert ist.
Das ist im adaptiven Modus normal: Claude überspringt das Denken bei Anfragen, die es als einfach genug einschätzt, um sie direkt zu beantworten.
Wenn du häufigeres oder tieferes Denken möchtest, erhöhe effort oder steuere über Prompting; siehe Steuern, wie oft Claude denkt.
Eine Antwort schreibt gelegentlich einen Tool-Aufruf in ihren Text, anstatt einen tool_use-Block auszugeben, oder enthält <thinking> oder andere interne XML-Tags in ihrem sichtbaren Text. Ein geleakter Tool-Aufruf wird nie ausgeführt, und in agentischen Schleifen bleibt der geleakte Text im Konversationsverlauf, sodass auch spätere Turns betroffen sind.
Das passiert bei Claude Opus 5, wenn das Denken deaktiviert ist, am häufigsten bei tool-lastigen Workloads wie Suche. System-Prompt-Regeln, die das Modell anweisen, nicht zu denken oder nicht zu schlussfolgern, erhöhen das Tag-Leakage.
Aktiviere das Denken wieder (der Standard) und verwende stattdessen niedrigere effort-Stufen, um die Token-Kosten zu kontrollieren. Wenn deine Integration das Denken deaktiviert lassen muss, wende die Prompting-Maßnahmen in Ausführung mit deaktiviertem Denken an.
stop_reason: "max_tokens"Die Antwort endet mit stop_reason: "max_tokens", oft mit einem abgeschnittenen oder fehlenden Textblock.
Das passiert, weil Denk-Token auf max_tokens angerechnet werden, sodass ein langer Denkdurchlauf das Budget aufbrauchen kann, bevor die Textantwort abgeschlossen ist.
Erhöhe max_tokens, um Platz für Denken und Text zu lassen, oder senke effort, damit Claude weniger für das Denken aufwendet; siehe Kostenkontrolle und Denken und das Kontextfenster.
cache_read_input_tokens fällt bei Anfragen, die zuvor den Cache getroffen haben, auf null.
Das passiert, weil die Denkkonfiguration und die Effort-Stufe (oder ihr Standardwert) Teil des gecachten Prompt-Präfixes sind, sodass jede Änderung daran ein neues Präfix startet: Das Wechseln des Denkmodus, das Ändern des Effort-Werts und das Ändern von budget_tokens invalidieren alle Nachrichten-Cache-Breakpoints und können je nachdem, wo das Modell die Konfiguration rendert, auch Tool- und System-Prompt-Breakpoints invalidieren.
Halte die Denkkonfiguration und die Effort-Stufe über Anfragen hinweg konstant, die eine Konversation teilen; einen Parameter explizit auf seinen Standardwert zu setzen ist gleichbedeutend damit, ihn wegzulassen, und invalidiert nicht. Siehe Denken und Prompt-Caching.
Du änderst effort, aber die Denkhäufigkeit oder -tiefe bleibt gleich.
Das passiert, weil effort nur im adaptiven Modus der primäre Denkhebel ist. Bei Modellen, die nur erweitertes Denken unterstützen, wird die Denktiefe stattdessen durch budget_tokens festgelegt.
Passe bei diesen Modellen budget_tokens an oder prüfe, in welchem Modus dein Modell läuft; siehe Denken und Effort. Bei Claude Opus 4.5, dem einzigen Modell mit ausschließlich erweitertem Denken, das effort unterstützt, wirkt effort zusammen mit dem Budget; siehe Budget-Regeln und Feinabstimmung.
Die Übersicht: was Denken ist, wie man es konfiguriert und wie es mit Tools, Caching und Streaming interagiert.
Die vollständige Fehlerreferenz, einschließlich der 400-Fehler bei der Denkkonfiguration mit ihren exakten Servermeldungen.
Konvertiere budget_tokens-Anfragen zu adaptivem Denken mit effort.
Was this page helpful?