Diese Seite behandelt die häufigsten Fehler beim Konfigurieren des Denkens oder beim Round-Tripping von Thinking-Blöcken (dem Zurücksenden zurückgegebener Thinking-Blöcke in späteren Anfragen). Der erste Abschnitt ordnet jedem Modell seine unterstützten Thinking-Konfigurationen und die abgelehnten zu; die Abschnitte danach beginnen jeweils mit einem Symptom, das du beobachtest, sodass du eine Fehlermeldung oder unerwartete Antwort direkt ihrer Ursache und Lösung zuordnen kannst. Wie das Denken funktioniert, erfährst du in der Übersicht zum Denken.
Die meisten Thinking-Konfigurationsfehler entstehen durch 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 manuellen Legacy-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 nicht als abgelehnt aufgeführte Wert wird akzeptiert.
| Modell | Thinking-Typen | 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" |
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 niedriger; 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 mit der Kennzeichnung Immer an können das Denken nicht ausschalten. Modelle mit der Kennzeichnung An denken standardmäßig, akzeptieren aber thinking: {type: "disabled"}.
Frühere Claude-4-Modelle (Claude Opus 4.1, 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.Dies passiert, weil das angeforderte Modell das erweiterte 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 dich 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.Dies 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 trifft auch der Vorschlag "thinking.type.enabled" im Fehlertext nicht zu: Diese Modelle lehnen ihn ebenfalls ab.
Lass den thinking-Parameter weg; diese Modelle denken ohne jegliche Konfiguration. Wenn dein Ziel war, den Thinking-Text aus den Antworten herauszuhalten, verwende display: "omitted" statt das Denken zu deaktivieren; siehe Steuerung der Thinking-Anzeige.
Ein 400-Fehler bei "disabled" kann auch bei Claude Opus 5 auftreten, das thinking: {type: "disabled"} nur bei effort high oder niedriger 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 modelDies 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 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, statt sie unverändert zurückzugeben.
Gib den Assistant-Turn wortwörtlich zurück, einschließlich der Thinking-Blöcke. Siehe Thinking-Blöcke beibehalten 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.
Dies passiert, weil display bei neueren Modellen standardmäßig auf "omitted" steht, wodurch Thinking-Blöcke ohne ihren Text zurückgegeben werden.
Setze display: "summarized" in deiner Thinking-Konfiguration, um den zusammengefassten Thinking-Text zu erhalten; siehe Steuerung der Thinking-Anzeige für die Standardwerte pro Modell.
Manche 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 direkt zu antworten.
Wenn du möchtest, dass Claude häufiger oder tiefer denkt, erhöhe effort oder steuere per Prompting; siehe Steuern, wie oft Claude denkt.
Eine Antwort schreibt gelegentlich einen Tool-Aufruf in ihren Text, statt einen tool_use-Block auszugeben, oder enthält <thinking>- oder andere interne XML-Tags in ihrem sichtbaren Text. Ein durchgesickerter Tool-Aufruf wird nie ausgeführt, und in agentischen Schleifen bleibt der durchgesickerte Text im Konversationsverlauf, sodass auch spätere Turns betroffen sind.
Dies 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, verstärken das Durchsickern von Tags.
Aktiviere das Denken wieder (der Standard) und verwende niedrigere effort-Stufen, um stattdessen die Token-Kosten zu steuern. 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.
Dies passiert, weil Thinking-Token auf max_tokens angerechnet werden, sodass ein langer Thinking-Durchlauf 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.
Dies passiert, weil die Thinking-Konfiguration 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 Thinking-Modus, das Ändern des Effort-Werts und das Ändern von budget_tokens invalidieren alle Message-Cache-Breakpoints und können auch Tool- und System-Prompt-Breakpoints invalidieren, je nachdem, wo das Modell die Konfiguration rendert.
Halte die Thinking-Konfiguration 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 Häufigkeit oder Tiefe des Denkens bleibt gleich.
Dies passiert, weil effort nur im adaptiven Modus der primäre Thinking-Hebel 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 Tuning.
Die Übersicht: was Denken ist, wie du es konfigurierst und wie es mit Tools, Caching und Streaming interagiert.
Die vollständige Fehlerreferenz, einschließlich der 400-Fehler bei der Thinking-Konfiguration mit ihren exakten Server-Meldungen.
Konvertiere budget_tokens-Anfragen zu adaptivem Denken mit effort.
Was this page helpful?