Claude Code auto mode scheitert hinter einem Gateway in jeder Runde? 2.1.317 behebt 403/422 (Update und Tests)

Claude Code 2.1.317 (veröffentlicht am 3. November) behebt, dass der Auto-Modus in jeder Runde scheitert, wenn ANTHROPIC_BASE_URL auf ein LLM-Gateway zeigt, das die serverseitige Sicherheitsprüfung mit 403 oder 422 beantwortet. Dieser Leitfaden zeigt, was sich ändert, wer betroffen ist, wie Sie aktualisieren und die Version prüfen, wie Sie Base URL und Schlüssel setzen und den Auto-Modus einschalten, dazu Vergleichstests von 2.1.316 und 2.1.317, eine Fehlertabelle und FAQ.

8 分钟阅读
Claude Code auto mode scheitert hinter einem Gateway in jeder Runde? 2.1.317 behebt 403/422 (Update und Tests)

Kurz gesagt: Wenn Sie Claude Code über ein Gateway oder einen Relay eines Drittanbieters nutzen (eigene ANTHROPIC_BASE_URL) und jede Runde mit 403 oder 422 scheitert, sobald der Auto-Modus aktiv ist, aktualisieren Sie auf 2.1.317.

  • Laut dem offiziellen Claude Code CHANGELOG behebt 2.1.317, dass „der Auto-Modus in jeder Runde scheitert, wenn ein als Base URL gesetztes LLM-Gateway die serverseitige Sicherheitsprüfung mit 403 oder 422 beantwortet“; ein 403 mit apiKeyHelper bleibt unverändert. 2.1.317 erschien auf npm am 2. November 2026 um 23:57 UTC.
  • Am Nachmittag des 3. November (Pekinger Zeit) haben wir mit einem lokalen Proxy ein Gateway simuliert, das die Prüfung ablehnt: 2.1.316 scheiterte bei der ersten Anfrage und danach in jeder Runde; 2.1.317 versuchte es einmal ohne das Prüffeld erneut und erledigte die Aufgabe.
  • Direkt mit aicodewith verbunden (https://api.aicodewith.ai) erledigte der Auto-Modus die Aufgabe mit 2.1.316 und 2.1.317. Unsere API beantwortet die Prüfanfrage mit 200, und Claude Code wechselt zu seinem lokalen Klassifikator.
  • Noch kein Update möglich? Setzen Sie CLAUDE_CODE_AUTO_MODE_SERVER=0, damit der Auto-Modus den Server nicht mehr um die Prüfung bittet. Auf 2.1.316 getestet, funktioniert.

API Key erstellen und Claude in Claude Code, Codex und Cursor nutzen →

Was sich in 2.1.317 ändert

Der Auto-Modus ist ein Berechtigungsmodus von Claude Code: Statt jede Aktion selbst zu bestätigen, prüft ein Klassifikator im Hintergrund, ob jede Aktion sicher ist. Laut der Dokumentation zu Berechtigungsmodi bittet Claude Code zuerst den Server um diese Prüfung (serverseitiger Klassifikator), wenn ANTHROPIC_BASE_URL auf ein LLM-Gateway oder einen Proxy zeigt, und fällt auf einen lokalen Klassifikator zurück, wenn der Server nicht prüft.

Das Problem liegt in diesem Schritt: Claude Code fügt der Anfrage ein Feld safeguards und einen Beta-Header hinzu. Manche Gateways kennen beides nicht und antworten mit 403 (abgelehnt) oder 422 (ungültiges Feld). Ältere Versionen behandelten das als normalen Fehlschlag, also scheiterte jede Runde.

Laut CHANGELOG sind die Einträge in 2.1.317 zu Auto-Modus und Gateways:

EintragInhalt
HauptfixDer Auto-Modus scheitert nicht mehr in jeder Runde, wenn ein als Base URL gesetztes Gateway die serverseitige Prüfung mit 403 oder 422 beantwortet (ein 403 mit apiKeyHelper bleibt unverändert)
Neuer HinweisEin Hinweis, wenn die Prüfung des Auto-Modus für den Tool-Aufruf eines Subagenten keine Antwort hat; früher erschien in der Hauptansicht nichts
403-MeldungEine Regions- oder Netzwerksperre (HTTP 403) wird nicht mehr als Anmeldefehler angezeigt; die Meldung erklärt die Sperre
OTelanthropic.plan, anthropic.seat_type, anthropic.provider und anthropic.custom_base_url in Metriken, Events und Spans

Frühere Versionen arbeiteten bereits an diesem Bereich:

VersionZugehöriger Eintrag
2.1.316Behoben: CLAUDE_CODE_AUTO_MODE_SERVER=1 wurde in Sitzungen ignoriert, die eine Host-App (etwa Claude Desktop) hinter einem Proxy oder LLM-Gateway mit abgeschalteten experimentellen Betas startete
2.1.314Behoben: Der Auto-Modus meldete einen Aufruf als blockiert und listete ihn in /permissions, wenn die Sicherheitsprüfung kein Urteil lieferte
2.1.304Geführte Einrichtung /auto-mode-setup, auch auf Bedrock, Vertex, Foundry, Claude apps gateway und in Sitzungen ohne Telemetrie
2.1.302Neu: CLAUDE_CODE_AUTO_MODE_MODEL für das Modell des clientseitigen Klassifikators (serverseitiger Auto-Modus unverändert); claude -p ohne Berechtigungsmodus startet bei Drittanbietern, ohne Telemetrie oder bei frischer Installation in default, --permission-mode auto bleibt auto

Wer betroffen ist

Alle drei Punkte müssen zutreffen:

  1. Sie nutzen den Auto-Modus. Laut Dokumentation ist er ab 2.1.283 der Startmodus im Terminal und in VS Code.
  2. ANTHROPIC_BASE_URL zeigt auf ein LLM-Gateway eines Drittanbieters, einen Relay oder einen Firmenproxy.
  3. Dieses Gateway beantwortet Anfragen mit dem Feld safeguards oder dem Beta-Header dangerous-tool-use mit 403 oder 422. Typische Ursachen: strenge Prüfung des Request-Body (unbekanntes Feld → 422) oder eine Sicherheitsrichtlinie (403).

Wer direkt bei der Anthropic API angemeldet ist oder hinter einem Gateway sitzt, das unbekannte Felder durchreicht, ist nicht betroffen. Siehe die Dokumentation zu LLM-Gateways.

So sieht die Prüfanfrage aus

Wir haben zwischen Claude Code und aicodewith einen lokalen Proxy gesetzt, der Anfragen nur protokolliert. Die erste Anfrage einer Sitzung im Auto-Modus enthielt Folgendes (Auszug):

text
POST /v1/messages?beta=true
anthropic-beta: claude-code-20250219, ..., dangerous-tool-use-2026-09-03, afk-mode-2026-01-31

"safeguards": [{"type": "dangerous_tool_use",
                "classifier_context": {"v": 1, "permission_mode": "auto", "platform": "linux", ...}}]

Wenn der Server nicht prüft, fehlt safeguards in späteren Anfragen. Vor jedem Bash-Befehl schickt Claude Code dann eine eigene Anfrage an das Modell des lokalen Klassifikators (standardmäßig claude-sonnet-5).

Tests: 2.1.316 gegen 2.1.317

Aufbau: 3. November 2026, 15:12–15:35 Pekinger Zeit, Linux, Modell claude-opus-5-5, ein aicodewith-Schlüssel, für jeden Lauf ein frisches Konfigurationsverzeichnis. Die Aufgabe: Claude soll fib.py schreiben, das Fibonacci-Zahlen ausgibt, und es mit python3 ausführen, also ein Dateischreibvorgang und ein Bash-Befehl, der durch die Prüfung des Auto-Modus läuft.

bash
claude -p "Create a file fib.py that prints the first 10 Fibonacci numbers, then run it with python3 and tell me the output." \
  --permission-mode auto --model claude-opus-5-5 \
  --output-format json --debug-file ./cc-debug.log

grep -E "server-classifier|API error" ./cc-debug.log

Das „simulierte Gateway“ ist eine Regel in unserem lokalen Proxy: Jede Anfrage mit dem Feld safeguards bekommt 403 oder 422, alles andere geht an aicodewith weiter. Es bildet den Fall aus dem CHANGELOG nach; so verhält sich aicodewith nicht.

Fall2.1.3162.1.317
Direkt zu aicodewithErfolg, 3 Runden, 12.0 sErfolg, 4 Runden, 17.7 s
Simuliertes Gateway, 403 auf die PrüfungFehlschlag nach 0.6 s, Failed to authenticate. API Error: 403 ...; die nächste Runde scheiterte ebensoErfolg, 3 Runden, 11.8 s
Simuliertes Gateway, 422 auf die PrüfungFehlschlag nach 0.7 s, API Error: 422 ...; die nächste Runde scheiterte ebensoErfolg, 3 Runden, 15.7 s
Simuliertes 403 + apiKeyHelper—Fehlschlag nach 11 Versuchen, 248.4 s, Failed to authenticate
2.1.316 + CLAUDE_CODE_AUTO_MODE_SERVER=0, simuliertes 403 / 422Erfolg, 13.7 s / 10.8 sNicht nötig

Die zusätzliche Runde im direkten 2.1.317-Lauf kam daher, dass Claude das Skript zur Bestätigung ein zweites Mal ausführte; mit der Version hat das nichts zu tun. Jeder erfolgreiche Lauf gab 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 aus.

Direkt zu aicodewith: beide Versionen funktionieren

Unsere API beantwortet die Anfrage mit safeguards mit 200, liefert aber kein Urteil. Im Debug-Log stellt Claude Code fest, dass der Server nicht prüft, und nutzt für den Rest der Sitzung den lokalen Klassifikator:

text
[server-classifier] the platform gave no classification for this request (server_no_result);
  treating that as this deployment's answer: auto mode classifies locally for the rest of
  this session and stops sending the classifier context
[auto-mode] new action being classified: tool=Bash actionChars=26
[Stall] classifier_request_finished tool=Bash stage=xml_s1 outcome=ok durationMs=2727

Jede lokale Prüfung eines Bash-Befehls dauerte etwa 2.5–2.7 s. Beim Start gibt stderr einen Hinweis aus, dass die aktuelle Adresse die neue serverseitige Klassifizierung nicht unterstützt und der Auto-Modus weiter funktioniert; den können Sie ignorieren.

2.1.316 hinter einem Gateway, das die Prüfung ablehnt: jede Runde scheitert

{OLD403}

Der 403 erscheint als Failed to authenticate und sieht nach einem falschen Schlüssel aus. Der Schlüssel stimmt: Dieselbe Konfiguration funktioniert im manuellen Modus.

2.1.317: ein neuer Versuch ohne das Prüffeld

Mit demselben Gateway nach dem Update zeigt das Debug-Log:

text
[ERROR] API error (attempt 1/11): 403 403 {"type":"error","error":{"type":"permission_error",
        "message":"gateway policy: field safeguards is not allowed"}}
[WARN] [server-classifier] HTTP 403 with no cause Claude Code recognises, on a request that
       carried the dangerous-tool-use beta header; sending it once more without that header
       and the safeguards field, to learn whether they caused the refusal
[WARN] [server-classifier] a request was refused (HTTP 403) and answered when sent again
       without the dangerous-tool-use beta header and the safeguards field. Until Claude Code
       restarts, neither is sent and auto mode does not ask the server to check actions.
       To keep the check, let the gateway pass that header and field, then restart Claude Code.

Bekommt 2.1.317 einen 403 oder 422, den es nicht erklären kann, sendet es die Anfrage einmal ohne den Beta-Header dangerous-tool-use und ohne das Feld safeguards. Klappt das, fragt es bis zum Neustart keine Serverprüfung mehr an und nutzt den lokalen Klassifikator. Aktionen werden weiterhin geprüft, nur lokal. Um die Serverprüfung zurückzubekommen, lassen Sie das Gateway Header und Feld durchreichen und starten Claude Code neu.

Ein 403 mit apiKeyHelper scheitert weiterhin

Laut CHANGELOG bleibt ein 403 mit apiKeyHelper unverändert, und genau das haben wir gesehen: 2.1.317 versuchte es 11-mal und brach nach rund vier Minuten ab.

text
# 2.1.317 + apiKeyHelper, gateway answers 403 to the safety check
[ERROR] API error (attempt 1/11): 403 ...
...
[ERROR] API error (attempt 10/11): 403 ...
Failed to authenticate. API Error: 403 gateway policy: field safeguards is not allowed
# exit 1 after 248.4 s

Mit apiKeyHelper lassen Sie entweder das Gateway safeguards durchreichen oder nutzen CLAUDE_CODE_AUTO_MODE_SERVER=0 (siehe unten).

Auf 2.1.317 aktualisieren

Laut Installationsdokumentation aktualisiert sich die native Installation im Hintergrund; Installationen über npm, Homebrew und WinGet müssen Sie selbst aktualisieren. Bei npm npm install -g ...@latest verwenden, nicht npm update -g.

bash
# native install (curl -fsSL https://claude.ai/install.sh | bash)
claude update

# npm install
npm install -g @anthropic-ai/claude-code@latest

# Homebrew (the claude-code cask follows the stable channel)
brew upgrade claude-code@latest

# Windows WinGet
winget upgrade Anthropic.ClaudeCode

# check
claude --version
# 2.1.317 (Claude Code)

claude --version sollte 2.1.317 oder höher zeigen. Der Homebrew-Cask claude-code folgt dem Stable-Kanal, meist etwa eine Woche hinter latest; mit claude-code@latest bekommen Sie diesen Fix sofort. In einer Sitzung zeigt /status, ob Auto mode server auf Enabled steht.

ANTHROPIC_BASE_URL und Schlüssel setzen

Erstellen Sie zuerst einen API-Schlüssel bei aicodewith:

API Key erstellen für Claude Code →

macOS / Linux:

bash
export ANTHROPIC_BASE_URL="https://api.aicodewith.ai"
export ANTHROPIC_AUTH_TOKEN="IHR_API_KEY"
claude --permission-mode auto

Windows PowerShell:

powershell
$env:ANTHROPIC_BASE_URL = "https://api.aicodewith.ai"
$env:ANTHROPIC_AUTH_TOKEN = "IHR_API_KEY"
claude --permission-mode auto

Dauerhaft geht es über ~/.claude/settings.json. permissions.defaultMode auf auto wirkt nur in den Benutzereinstellungen, nicht in der .claude/settings.json eines Projekts (laut Dokumentation):

json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.aicodewith.ai",
    "ANTHROPIC_AUTH_TOKEN": "IHR_API_KEY"
  },
  "permissions": {
    "defaultMode": "auto"
  }
}

Weitere Optionen (dauerhafte Windows-Variablen, Modelle) in Claude Code mit einer Drittanbieter-API verbinden.

Auto-Modus einschalten

  • Beim Start: claude --permission-mode auto.
  • In einer Sitzung: Shift+Tab drücken; die Statusleiste zeigt ⏵⏵ auto mode on.
  • Nicht interaktiv (claude -p): Nach dem CHANGELOG-Eintrag zu 2.1.302 startet es bei Drittanbietern, ohne Telemetrie oder bei frischer Installation in default, außer Sie übergeben --permission-mode auto.
  • Modell des lokalen Klassifikators ändern: CLAUDE_CODE_AUTO_MODE_MODEL (ab 2.1.302); die Serverprüfung bleibt davon unberührt.

Wenn Sie noch nicht aktualisieren können und Ihr Gateway die Prüfung ablehnt, schalten Sie die Serverprüfung ab und nutzen nur den lokalen Klassifikator:

{SERVER0}

Auf 2.1.316 mit den simulierten 403- und 422-Gateways getestet: Die Aufgabe lief beide Male durch.

Fehlertabelle

Was Sie sehenUrsacheLösung
API Error: 403 ... in jeder Runde, davor Failed to authenticate; manueller Modus funktioniertDas Gateway lehnt die serverseitige Sicherheitsprüfung des Auto-Modus abAuf 2.1.317 aktualisieren oder CLAUDE_CODE_AUTO_MODE_SERVER=0 setzen
API Error: 422 ... in jeder Runde, Meldung nennt safeguardsDas Gateway prüft den Body streng und lehnt das Feld safeguards abWie oben, oder das Gateway das Feld durchreichen lassen
403 mit apiKeyHelperIn 2.1.317 unverändert, weiter als Authentifizierungsfehler behandeltsafeguards und Beta-Header durchreichen lassen oder CLAUDE_CODE_AUTO_MODE_SERVER=0
403 durch Regions- oder NetzwerksperreRegionale oder NetzwerkbeschränkungAb 2.1.317 erklärt die Meldung die Sperre statt eines Anmeldefehlers; Netzwerk wechseln oder ein erreichbares Gateway nutzen
Aktion gestoppt, Sicherheitsprüfung ohne UrteilDer Server hat für die Aktion kein Urteil geliefertAb 2.1.314 nicht mehr als blockiert gemeldet; ab 2.1.317 gibt es auch für Subagenten einen Hinweis. Laut Dokumentation stoppen zehn Antworten ohne Urteil in Folge die Runde
403 / 401 in jeder Runde, auch im manuellen ModusUngültiger Schlüssel oder falsche Base URLSchlüssel und ANTHROPIC_BASE_URL prüfen; kein Problem des Auto-Modus

FAQ

Ich nutze aicodewith. Muss ich aktualisieren?

In unseren Tests liefen 2.1.316 und 2.1.317 im Auto-Modus mit unserer API problemlos, diesen Fehler werden Sie also nicht sehen. 2.1.317 enthält weitere Fixes, ein Update lohnt sich trotzdem.

Ist der Auto-Modus nach 2.1.317 noch sicher?

Aktionen werden weiter geprüft. Nur der Schritt „Server fragen“ fällt weg; der lokale Klassifikator prüft jede betroffene Aktion, und unsere Logs zeigen eine lokale Prüfung pro Bash-Befehl.

Warum erscheint der 403 als „Failed to authenticate“?

Ältere Versionen behandelten einen 403 auf die Prüfung des Auto-Modus als Authentifizierungsfehler. Wenn Ihr Schlüssel funktioniert, der manuelle Modus läuft und der 403 nur im Auto-Modus auftritt, ist das sehr wahrscheinlich die Ursache.

Wie bestätige ich, dass es dieses Problem ist?

Einmal mit --debug-file starten und im Log nach server-classifier und API error suchen. Nennt der Fehler safeguards oder schreibt 2.1.317 „sending it once more without that header and the safeguards field“, lehnt das Gateway die Prüfung ab.

Hat Codex etwas Vergleichbares?

Codex steuert die Befehlsausführung über Sandbox und Freigaberichtlinie; siehe Codex Sandbox und /permissions einrichten.

Weiterlesen

相关文章

DeepSeek Harness Creator Mode: Installation, Drittanbieter-API anbinden und erstes Plugin im Test

DeepSeek Harness Creator Mode: Installation, Drittanbieter-API anbinden und erstes Plugin im Test

Am 2. November hat der offizielle DeepSeek-Harness-Account Creator Mode vorgestellt: Sie beschreiben ein Tool in einem Satz, und der Agent schreibt das Plugin, installiert es in Harness und prüft, ob es geladen wurde. Dieser Leitfaden erklärt, was Creator Mode ist, wie Sie Harness mit npx starten, wie Sie eine OpenAI-kompatible Drittanbieter-API (aicodewith Base URL + Key) für Claude-, GPT- und DeepSeek-Modelle anbinden, und baut mit Creator Mode ein todo_scan-Plugin – mit echten Ausgaben, häufigen Fehlern und den Entsprechungen in Claude Code / Codex.

Claude Message Threads nutzen: Beta der Messages-API-Threads, nur neue Nachrichten senden, erstes Token ~35 % schneller (Claude Code / API im Test)

Claude Message Threads nutzen: Beta der Messages-API-Threads, nur neue Nachrichten senden, erstes Token ~35 % schneller (Claude Code / API im Test)

Am 2. November hat Anthropic Message Threads für die Messages API als öffentliche Beta gestartet. Die erste Anfrage schickt das ganze Gespräch und legt einen Thread an; danach sendet jede Runde nur die neuen Nachrichten und die id der vorherigen Antwort. In langen Gesprächen kommt das erste Token früher, Token-Verbrauch und Abrechnung bleiben gleich. Dieser Leitfaden erklärt nach der offiziellen Doku den thread-Parameter, den Beta-Header, den Ablauf nach 5 Minuten und das erneute Senden nach einem 404, zeigt Beispiele für curl, Python und TypeScript und berichtet von unserem Test mit einem aicodewith-Key: Über aicodewith wird das thread-Feld derzeit ignoriert und die Fortsetzungsrunde verliert den Kontext, Claude Code ist nicht betroffen, dazu der Ausweg und häufige Fehler.

Karpathys HackerTube nachbauen mit Claude Code oder Codex: Videos aus Hacker-News-Kommentaren für eine eigene Videoseite ohne Algorithmus (getestet)

Karpathys HackerTube nachbauen mit Claude Code oder Codex: Videos aus Hacker-News-Kommentaren für eine eigene Videoseite ohne Algorithmus (getestet)

Karpathy hat HackerTube in etwa zwei Stunden mit Claude Code und Opus 5.5 gebaut und dabei 6.454 YouTube-Videos ausgewählt, die sich Hacker-News-Kommentatoren seit 20 Jahren gegenseitig empfehlen. Mit unserem API Key haben Claude Code und Codex je eine Mini-Version gebaut: zwei Monate Kommentare über die offizielle HN-Algolia-API abrufen, YouTube-Links extrahieren, deduplizieren, zählen und eine statische Seite erzeugen. Mit vollständigem Prompt, gemessenen Laufzeiten, Vergleich beider Clients und den Schritten bis zu HackerTube.