Falls Sie beim Verbinden von Claude Code mit AWS Bedrock auf diese Fehlermeldung stoßen:
InvokeModelWithResponseStream: operation error Bedrock Runtime:
InvokeModelWithResponseStream, https response error StatusCode: 400,
RequestID: 47574f13-c884-4b12-a003-6d0cf252d8dd,
ValidationException: system.1.cache_control.***.scope:
Extra inputs are not permitted
Besonders wenn Sie den Befehl --resume verwenden, um eine frühere Sitzung fortzusetzen, tritt dieser Fehler häufig auf – es handelt sich um ein bekanntes Kompatibilitätsproblem, nicht um einen Fehler in Ihrer Konfiguration.
Die Grundursache ist, dass Claude Code ein scope-Feld sendet, das von Bedrock nicht unterstützt wird. Die Lösung erfordert lediglich das Setzen einer Umgebungsvariablen und ist in 30 Sekunden erledigt.
Kernnutzen: Nach dem Lesen dieses Artikels verstehen Sie die Ursache des Fehlers, beherrschen 3 Lösungswege und wissen, wie Sie diese in CLI, VS Code, JetBrains und anderen Umgebungen korrekt konfigurieren.

Tiefenanalyse der Fehlermeldung bei Claude Code mit Bedrock
Um diese Fehlermeldung zu verstehen, muss man einen entscheidenden Hintergrund kennen: Die native API von Anthropic und AWS Bedrock unterstützen das cache_control-Objekt in unterschiedlichem Maße.
Die technische Ursache der Fehlermeldung
Im Januar 2026 führte Anthropic in der nativen API ein Beta-Feature namens prompt-caching-scope-2026-01-05 ein, das dem cache_control-Objekt ein scope-Feld hinzufügt:
{
"cache_control": {
"type": "ephemeral",
"scope": "turn"
}
}
Seit Claude Code v2.1.24 ist dieses scope-Feld standardmäßig in API-Anfragen enthalten.
Das Problem dabei ist: AWS Bedrock erkennt das scope-Feld nicht und die Schema-Validierung von Bedrock ist äußerst streng – bei jedem unbekannten Feld wird sofort ein 400-Fehler zurückgegeben.
| Merkmal | Anthropic native API | AWS Bedrock |
|---|---|---|
cache_control.type: "ephemeral" |
Unterstützt | Unterstützt |
cache_control.ttl: "5m" |
Unterstützt | Unterstützt |
cache_control.ttl: "1h" |
Unterstützt | Unterstützt (seit Jan. 2026) |
cache_control.scope |
Unterstützt (Beta) | Nicht unterstützt, Fehler 400 |
| Beta-Header | Akzeptiert | Abgelehnt (invalid beta flag) |
| Schema-Validierung | Locker (ignoriert unbekannte Felder) | Streng (lehnt unbekannte Felder ab) |
Kurz gesagt: Die native API von Anthropic ist tolerant und ignoriert unbekannte Felder. Bedrock hingegen ist streng und weist diese direkt ab. Da Claude Code ein Feld sendet, das Bedrock nicht kennt, tritt der Fehler auf.
🎯 Technischer Hinweis: Dieses Problem betrifft nur Nutzer, die Claude über AWS Bedrock aufrufen. Wenn Sie die native API von Anthropic nutzen (z. B. über den API-Proxy-Dienst von APIYI, apiyi.com), tritt dieser Fehler nicht auf, da die native API das
scope-Feld vollständig unterstützt.
Warum Claude Code --resume den Fehler häufiger auslöst
Obwohl dieser Fehler nicht exklusiv bei --resume auftritt, wird er beim Wiederherstellen historischer Sitzungen tatsächlich häufiger ausgelöst. Die Gründe dafür sind:

Die interne Funktionsweise von --resume:
- Laden der Sitzungshistorie: Liest den vollständigen Dialogverlauf aus
~/.claude/projects/<Projekt>/<Sitzungs-ID>.jsonl. - Wiederherstellung des Kontexts: Setzt den System-Prompt, die Tool-Definitionen und alle historischen Nachrichten wieder zu einem vollständigen
messages-Array zusammen. - Cache-Optimierung: Da der wiederhergestellte Kontext meist umfangreich ist (einschließlich des gesamten Dialogverlaufs), setzt Claude Code proaktiv
cache_control-Breakpoints in den Systemnachrichten, um die Kosten zu optimieren. - Senden der Anfrage: Der erste API-Aufruf enthält bereits den vollständigen, wiederhergestellten Kontext inklusive
cache_control(mit demscope-Feld).
Der entscheidende Punkt: Beim Wiederherstellen einer Sitzung ist der Kontext größer → die Cache-Optimierung ist aggressiver → das cache_control-Feld tritt häufiger auf → die Wahrscheinlichkeit für eine Fehlermeldung steigt.
Auch bei neuen Sitzungen kann dies auftreten, aber da der anfängliche Kontext kleiner ist, sind die Cache-Markierungen möglicherweise weniger dicht gesetzt.
Claude Code Bedrock Fehlerbehebung Lösung 1: Experimentelle Betas deaktivieren (Empfohlen)
Dies ist die empfohlene Lösung – sie behebt den Fehler und behält gleichzeitig die grundlegende Prompt-Caching-Funktionalität bei.
Funktionsweise der Lösung
Durch das Setzen von CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 bewirkt Claude Code Folgendes:
- Entfernen der Beta-Header aus den Anfragen (z. B.
prompt-caching-scope-2026-01-05) - Entfernen des
scope-Feldes auscache_control - Beibehaltung der von Bedrock unterstützten Felder wie
cache_control.typeundcache_control.ttl
Das bedeutet, Sie profitieren weiterhin von der Kostenoptimierung durch Prompt Caching, verzichten jedoch auf die neue scope-Funktion.
CLI-Terminal-Einstellungen
macOS / Linux:
# Temporäre Einstellung (nur für die aktuelle Terminalsitzung gültig)
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
# Dauerhafte Einstellung (zur Shell-Konfigurationsdatei hinzufügen)
echo 'export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1' >> ~/.zshrc
source ~/.zshrc
# Falls Sie bash verwenden
echo 'export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1' >> ~/.bashrc
source ~/.bashrc
Windows (PowerShell):
# Temporäre Einstellung
$env:CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS = "1"
# Dauerhafte Einstellung
[System.Environment]::SetEnvironmentVariable("CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS", "1", "User")
Nach der Einstellung können Sie Claude Code einfach starten:
# Neue Sitzung
claude
# Sitzung wiederherstellen (jetzt ohne Fehlermeldung)
claude --resume
VS Code Erweiterungseinstellungen (Wichtig!)
Die VS Code-Erweiterung liest keine Shell-Umgebungsvariablen – selbst wenn Sie diese in der .zshrc gesetzt haben, kann die Claude Code-Erweiterung in VS Code darauf nicht zugreifen. Sie müssen die Einstellung wie folgt vornehmen:
Methode 1: Globale Claude-Konfigurationsdatei bearbeiten (Empfohlen)
Bearbeiten Sie ~/.claude/settings.json:
{
"env": {
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}
Methode 2: Über die VS Code-Einstellungen
Öffnen Sie die VS Code-Einstellungen → suchen Sie nach claude → finden Sie den Konfigurationspunkt für Umgebungsvariablen → fügen Sie CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 hinzu.
JetBrains IDE-Einstellungen
Die Claude Code-Plugins für JetBrains-IDEs (IntelliJ, WebStorm, PyCharm usw.) müssen ebenfalls separat konfiguriert werden:
Bearbeiten Sie ~/.claude/settings.json (diese wird gemeinsam mit VS Code genutzt):
{
"env": {
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}
💡 Tipp:
~/.claude/settings.jsonist die globale Konfigurationsdatei von Claude Code, die von allen Clients (CLI, VS Code, JetBrains) gelesen wird. Die Einstellung der Umgebungsvariablen hier ist der effizienteste Weg, da sie plattformübergreifend wirksam ist.
Claude Code Bedrock Fehlerbehebung Lösung 2: Prompt Caching deaktivieren
Falls Lösung 1 Ihr Problem nicht beheben sollte (was selten vorkommt), können Sie das Prompt Caching vollständig deaktivieren.
Funktionsweise der Lösung
Durch das Setzen von DISABLE_PROMPT_CACHING=1 entfernt Claude Code alle cache_control-Felder aus den Anfragen. Ohne cache_control gibt es kein scope, und die Fehlermeldung verschwindet vollständig.
Nachteil: Sie verlieren die Kostenoptimierung durch Prompt Caching. Bei langen Dialogen kann dies zu höheren Token-Kosten führen.
Einrichtung
# CLI
export DISABLE_PROMPT_CACHING=1
# ~/.claude/settings.json (plattformübergreifend)
{
"env": {
"DISABLE_PROMPT_CACHING": "1"
}
}
Wann sollte man Lösung 2 wählen?
| Szenario | Lösung 1 wählen | Lösung 2 wählen |
|---|---|---|
| Standard Bedrock-Nutzer | ✅ Empfohlen | |
| Fehler besteht nach Lösung 1 weiterhin | ✅ | |
| Nutzung von Gateways wie LiteLLM | ✅ Sicherere Variante | |
| Kurze Dialoge, Kosten für Caching egal | ✅ Keine Auswirkungen | |
| Lange Dialoge, Fokus auf Kostenoptimierung | ✅ Caching bleibt erhalten | ❌ Erhöht die Kosten |
Claude Code Bedrock Fehlerbehebung Lösung 3: Die doppelte Absicherung
Setzen Sie beide Umgebungsvariablen gleichzeitig, um sicherzustellen, dass alle von Bedrock nicht unterstützten Felder bereinigt werden.
# CLI
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
export DISABLE_PROMPT_CACHING=1
// ~/.claude/settings.json
{
"env": {
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
"DISABLE_PROMPT_CACHING": "1"
}
}
Dies ist die sicherste Konfiguration für Produktionsumgebungen, in denen absolute Stabilität erforderlich ist.
🚀 Ein weiterer Ansatz: Wenn Sie sich nicht mit Umgebungsvariablen herumschlagen möchten oder die Kompatibilitätsprobleme von Bedrock umgehen wollen, sollten Sie den Wechsel zur nativen Anthropic-API in Betracht ziehen. Über die Plattform APIYI (apiyi.com) können Sie direkt auf die nativen Anthropic-Schnittstellen zugreifen, die volle Unterstützung für alle Prompt-Caching-Funktionen (einschließlich
scope) bieten – ganz ohne AWS-Konto.
Vollständiger Ablauf zur Fehlerbehebung bei Claude Code Bedrock
Wenn Sie sich nicht sicher sind, welche Lösung für Ihre Situation geeignet ist, folgen Sie diesem Ablauf:

Schritt 1: Fehlertyp bestätigen
Prüfen Sie, ob die Fehlermeldung eines der folgenden Schlüsselwörter enthält:
cache_control.***.scope: Extra inputs are not permitted
oder
ValidationException: ... cache_control ... scope
Wenn ja, handelt es sich um ein Kompatibilitätsproblem mit dem scope-Feld.
Schritt 2: Aufrufpfad bestätigen
# Überprüfen Sie den aktuell von Claude Code verwendeten API-Endpunkt
echo $ANTHROPIC_BASE_URL
echo $CLAUDE_CODE_USE_BEDROCK
Wenn Sie CLAUDE_CODE_USE_BEDROCK=1 oder AWS_REGION und andere Bedrock-relevante Variablen gesetzt haben, verwenden Sie Bedrock.
Schritt 3: Fehlerbehebung anwenden
# Zuerst Lösung 1 versuchen
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
# Testen, ob der Fehler behoben ist
claude --resume
Schritt 4: Fehlerbehebung verifizieren
# Überprüfen, ob die Umgebungsvariable aktiv ist
echo $CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS
# Sollte 1 ausgeben
# Neue Sitzung testen
claude
# Sitzung wiederherstellen testen
claude --resume
Schritt 5: Falls der Fehler weiterhin besteht
# Lösung 2 hinzufügen
export DISABLE_PROMPT_CACHING=1
# Gleichzeitig settings.json prüfen
cat ~/.claude/settings.json
Stellen Sie sicher, dass die settings.json korrekt formatiert ist:
{
"env": {
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
"DISABLE_PROMPT_CACHING": "1"
}
}
🎯 Technischer Hinweis: Wenn Sie Bedrock über ein Gateway wie LiteLLM anbinden, hat LiteLLM seit März 2026 eine Funktion integriert, die das
scope-Feld automatisch entfernt (PR #22867). Ein Update auf die neueste LiteLLM-Version kann das Problem ebenfalls lösen. Wenn Sie nach einer stabileren Claude-API-Anbindung suchen, bietet APIYI (apiyi.com) einen nativen Anthropic-API-Kanal, der von solchen Kompatibilitätseinschränkungen nicht betroffen ist.
Weitere häufige Kompatibilitätsprobleme bei Claude Code und Bedrock
cache_control.scope ist nicht das einzige Kompatibilitätsproblem bei Bedrock. Hier sind weitere typische Fehler, auf die Bedrock-Nutzer häufig stoßen:
| Fehler-Schlüsselwort | Ursache | Lösung |
|---|---|---|
cache_control.scope: Extra inputs |
Feld scope wird nicht unterstützt |
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 |
invalid beta flag |
Beta-Header wird nicht unterstützt | CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 |
thinking: undefined |
Format des Thinking-Parameters inkompatibel | Claude Code auf die neueste Version aktualisieren |
context_management (bezogen) |
Feld für Kontextverwaltung nicht unterstützt | CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 |
eager_input_streaming |
Optimierung für Streaming-Eingaben nicht unterstützt | CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 |
Die meisten Probleme lassen sich durch CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 pauschal lösen, da diese nicht unterstützten Felder im Wesentlichen Beta-Funktionen der nativen Anthropic-API sind.
💰 Kostenoptimierung: Das Prompt Caching von Bedrock unterstützt nur TTL-Werte von 5 Minuten und 1 Stunde. Wenn Ihr Anwendungsfall stark vom Caching abhängt, bietet die Anbindung an die native Anthropic-API über den API-Proxy-Dienst APIYI (apiyi.com) flexiblere Strategien und vermeidet zudem die oben genannten Kompatibilitätsprobleme und den damit verbundenen Fehlersuchaufwand.
FAQ zu häufigen Fehlermeldungen bei Claude Code und Bedrock
Q1: Ich habe die Umgebungsvariablen gesetzt, aber in VS Code treten immer noch Fehler auf?
Die VS Code-Erweiterung erbt nicht die Umgebungsvariablen, die Sie in Ihrer .zshrc oder .bashrc definiert haben. Sie müssen diese über das Feld env in der Datei ~/.claude/settings.json festlegen:
{
"env": {
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}
Starten Sie nach der Konfiguration VS Code neu (nicht nur das Fenster neu laden, sondern das Programm vollständig beenden und neu öffnen), damit die Einstellungen wirksam werden.
Q2: Beeinträchtigt die Deaktivierung von Prompt Caching die Leistung?
Nein, die Qualität der Modellausgabe und die Antwortgeschwindigkeit werden nicht beeinträchtigt. Prompt Caching ist lediglich ein Mechanismus zur Kostenoptimierung – bei einem Cache-Treffer werden die Kosten für die erneute Token-Berechnung reduziert. Nach der Deaktivierung wird jede Anfrage vollständig berechnet, aber das Modell verhält sich identisch. Bei kurzen Dialogen ist der Kostenunterschied minimal. Bei langen Dialogen können durch Caching 30–50 % der Kosten für Eingabe-Token eingespart werden.
Q3: Wird dieses Problem offiziell behoben?
Dies ist ein bekanntes Problem, das in mehreren GitHub-Issues verfolgt wird (#23220, #41731 usw.). Da die Schema-Validierung bei Bedrock jedoch auf AWS-Seite erfolgt, ist es für Anthropic schwierig, dies vollständig von der Claude Code-Seite aus zu lösen. Die aktuelle Lösung über Umgebungsvariablen ist der offiziell empfohlene Workaround. Langfristig müsste AWS Bedrock die Schema-Validierung lockern oder das Feld scope unterstützen.
Q4: Tritt dieses Problem auch bei Google Vertex AI auf?
Ja. Auch Google Vertex AI unterstützt das Feld cache_control.scope nicht, was zu ähnlichen Fehlermeldungen führt. Die Lösung ist identisch: Setzen Sie CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1. Vertex AI-Nutzer sollten zudem auf die Konfiguration bezüglich CLAUDE_CODE_USE_VERTEX=1 achten.
Q5: Was ist der Unterschied zwischen –resume und -c (–continue)? Führen sie zu den gleichen Fehlern?
--resume/-r: Öffnet die Sitzungsauswahl, um eine beliebige historische Sitzung wiederherzustellen.--continue/-c: Stellt direkt die letzte Sitzung wieder her.
Technisch gesehen lösen beide eine Kontext-Rekonstruktion und cache_control-Markierungen aus, daher sind die Bedingungen für Fehlermeldungen identisch. Als Bedrock-Nutzer können beide Befehle diesen 400-Fehler verursachen.
Q6: Tritt dieses Problem bei der Nutzung von LiteLLM als Proxy für Bedrock ebenfalls auf?
LiteLLM hat seit März 2026 (PR #22867) die Funktion _remove_scope_from_cache_control integriert, die das Feld scope automatisch aus Anfragen an Bedrock und Azure AI entfernt. Wenn Sie die neueste Version von LiteLLM als Bedrock-Proxy verwenden, sollte dieses Problem automatisch behoben sein. Zur Sicherheit empfiehlt es sich jedoch, dennoch CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 zu setzen.
Q7: Gibt es eine perfekte Lösung ohne Funktionseinschränkungen?
Für Bedrock-Nutzer gibt es derzeit keine Lösung ohne Kompromisse. Lösung 1 (Deaktivierung der Beta-Funktionen) verzichtet lediglich auf das neue Feature scope, was die geringsten Auswirkungen hat. Wenn Sie das volle Prompt Caching von Claude (einschließlich scope) nutzen möchten, ist die native Anthropic-API erforderlich. Über die Plattform APIYI (apiyi.com) können Sie schnell auf die native API zugreifen, ohne durch die Kompatibilitätsbeschränkungen von Bedrock eingeschränkt zu sein.
Schnellübersicht: Fehlerbehebung bei Claude Code Bedrock
| Aktion | Befehl / Konfiguration |
|---|---|
| Option 1: Beta deaktivieren (Empfohlen) | export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 |
| Option 2: Caching deaktivieren | export DISABLE_PROMPT_CACHING=1 |
| VS Code / JetBrains Konfiguration | Feld env in ~/.claude/settings.json bearbeiten |
| Umgebungsvariablen prüfen | echo $CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS |
| Sitzungswiederherstellung testen | claude --resume |
| Konfigurationsdatei anzeigen | cat ~/.claude/settings.json |
| Claude Code Version prüfen | claude --version |
| GitHub Issue Tracking | anthropics/claude-code#23220 |
Zusammenfassung
Wenn Claude Code über AWS Bedrock aufgerufen wird und der Fehler cache_control.scope: Extra inputs are not permitted auftritt, liegt das daran, dass Bedrock das Beta-Feld scope der nativen Anthropic-API nicht unterstützt.
Schnellste Lösung:
# In der CLI
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
// In ~/.claude/settings.json (Empfohlen, plattformübergreifend)
{
"env": {
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}
Drei Punkte, die man sich merken sollte:
- Es liegt nicht an Ihnen – es ist ein Funktionsunterschied zwischen Bedrock und der Anthropic-API.
- VS Code-Nutzer müssen es in der settings.json festlegen – Shell-Umgebungsvariablen werden von der VS Code-Erweiterung nicht gelesen.
--resumeist nicht die Ursache – alle Bedrock-Aufrufe können dies auslösen;--resumemacht den Fehler lediglich schneller sichtbar.
Wenn Sie sich nicht mit Kompatibilitätsproblemen bei Bedrock herumschlagen möchten, ist der Wechsel zur nativen Anthropic-API die dauerhafte Lösung. Über APIYI (apiyi.com) können Sie schnell auf die native Claude-API zugreifen, die alle Funktionen vollständig unterstützt, ohne dass eine AWS-Infrastruktur erforderlich ist.
Autor: APIYI Technik-Team
Technischer Austausch: Besuchen Sie APIYI unter apiyi.com für weitere Claude Code-Tutorials und technischen Support.
Aktualisiert: April 2026
Gültige Versionen: Claude Code v2.1.24+, AWS Bedrock
Referenzen:
- GitHub Issue #23220: Claude Code v2.1.24+ cache_control.scope Fehler
- Link:
github.com/anthropics/claude-code/issues/23220
- Link:
- GitHub Issue #41731: VS Code-Erweiterung sendet nicht unterstütztes scope-Feld
- Link:
github.com/anthropics/claude-code/issues/41731
- Link:
- AWS Bedrock Prompt Caching Dokumentation:
- Link:
docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html
- Link:
- Anthropic Prompt Caching Dokumentation:
- Link:
docs.anthropic.com/en/docs/build-with-claude/prompt-caching
- Link:
- Claude Code auf Amazon Bedrock offizielle Dokumentation:
- Link:
docs.anthropic.com/en/docs/claude-code/bedrock
- Link:
