Wenn Claude Code ANTHROPIC_AUTH_TOKEN-Fehler: Vollständige Konfigurationskorrekturen die Suchanfrage ist, beginnt die Lösung in der Regel mit einer Frage: Sendet Claude Code die Anmeldedaten im Header, den Ihr Gateway tatsächlich ausliest?
Für das Routing über ein Claude-Code-Gateway sendet ANTHROPIC_AUTH_TOKEN Authorization: Bearer .... ANTHROPIC_API_KEY sendet x-api-key: .... Ein Token in der falschen Variable kann wie ein ungültiger Schlüssel, ein veralteter Login oder ein fehlerhaftes Gateway aussehen, selbst wenn der Wert selbst gültig ist.
Verwenden Sie dieses Runbook, wenn Claude Code fehlschlägt, nachdem Sie ANTHROPIC_AUTH_TOKEN, ANTHROPIC_BASE_URL, eine Claude-Code-Settings-Datei, die VS-Code-Erweiterung oder einen CI-Workflow gesetzt haben.
Die schnelle Lösung
Beginnen Sie mit der kleinstmöglichen Diagnose, bevor Sie auf Ihrem Rechner jede Settings-Datei bearbeiten.
- Wählen Sie eine einzige Anmeldedaten-Variable aus.
- Exportieren Sie die Basis-URL des Gateways und diese Anmeldedaten in derselben Shell.
- Führen Sie eine
curl-Anfrage mit einem Token gegen$ANTHROPIC_BASE_URL/v1/messagesaus. - Starten Sie Claude Code aus derselben Shell.
- Führen Sie
/statusaus und prüfen Sie, ob sowohlAnthropic base URLals auch die erwartete Anmeldedatenquelle angezeigt werden. - Wenn
curlerfolgreich ist, Claude Code Sie aber weiterhin zur Anmeldung auffordert, verschieben Sie die Anmeldedaten an einen Ort, den Claude Code vor der Ersteinrichtung liest, z. B.~/.claude/settings.json, einen Shell-Export oder verwaltete Einstellungen.
Für ein Gateway mit Bearer-Token:
export ANTHROPIC_BASE_URL="https://llm-gateway.example.com"
export ANTHROPIC_AUTH_TOKEN="REPLACE_WITH_GATEWAY_TOKEN"
curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "replace-with-a-gateway-supported-claude-model",
"max_tokens": 1,
"messages": [{"role": "user", "content": "."}]
}'Für ein Gateway mit x-api-key:
export ANTHROPIC_BASE_URL="https://llm-gateway.example.com"
export ANTHROPIC_API_KEY="REPLACE_WITH_GATEWAY_KEY"
curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "replace-with-a-gateway-supported-claude-model",
"max_tokens": 1,
"messages": [{"role": "user", "content": "."}]
}'Eine JSON-Antwort mit einer Nachrichten-ID und content bedeutet, dass die URL und die Anmeldedaten funktionieren. Ein 401 bedeutet, dass das Gateway die Anmeldedaten abgelehnt hat oder sie in einem Header empfangen hat, den es nicht ausliest.
Checkliste zu Claude Code ANTHROPIC_AUTH_TOKEN-Fehler: Vollständige Konfigurationskorrekturen
Verwenden Sie diese Tabelle als laufende Diagnose. Rotieren Sie keine Schlüssel, bevor die aktive Variable, der Header und die Priorität der Einstellungen bekannt sind.
| Symptom | Wahrscheinlichste Ursache | Behebung |
|---|---|---|
401 ungültiges oder nicht erkanntes Token | Die Anmeldedaten wurden widerrufen, falsch eingegeben oder im falschen Header gesendet | Wenn das Gateway eine Bearer-Authentifizierung erwartet, verwenden Sie ANTHROPIC_AUTH_TOKEN. Wenn es x-api-key erwartet, verwenden Sie ANTHROPIC_API_KEY. Erneuern Sie den Token erst, nachdem der Header korrekt ist. |
| Die Startwarnung sagt, dass zwei Anmeldedatenquellen aktiv sind | Ein Gateway-Anmeldedatum und ein gespeicherter Claude-Login oder API-Schlüssel sind beide aktiv | Wählen Sie einen Pfad. Entfernen Sie die Gateway-Variable, um den gespeicherten Login zu verwenden, oder führen Sie /logout aus und behalten Sie nur die Gateway-Anmeldedaten. |
/status hat keine Zeile Anthropic base URL | ANTHROPIC_BASE_URL hat den Claude Code-Prozess nicht erreicht | Starten Sie claude aus derselben Shell, verschieben Sie die Variable nach ~/.claude/settings.json oder konfigurieren Sie die Oberfläche, die Sie tatsächlich verwenden. |
| Curl funktioniert, Claude Code fordert Sie auf, sich anzumelden | Die CLI hat eine erreichbare Basis-URL, aber vor der Ersteinrichtung ist keine Anmeldedatenquelle verfügbar | Tragen Sie ANTHROPIC_AUTH_TOKEN als Shell-Export, in Benutzereinstellungen oder verwalteten Einstellungen ein, die Claude Code vor dem Assistenten liest. |
ANTHROPIC_API_KEY ist gesetzt, wird aber ignoriert | Interaktives Claude Code benötigt eine einmalige Freigabe für einen benutzerdefinierten API-Schlüssel, oder ein früherer Schlüssel wurde abgelehnt | Aktivieren Sie ihn unter /config mit Use custom API key. |
| Leere oder fehlerhafte Antwort mit HTTP 200 | Das Gateway oder der Proxy hat HTML, eine Anmeldeseite oder eine andere Antwort zurückgegeben, die keine API-Antwort ist | Führen Sie die Curl-Anfrage aus und beheben Sie die Route, die JSON zurückgibt, das nicht von der Claude API stammt. |
| DNS-, Firewall- oder Verbindungsfehler | Nichts erreichbar antwortet unter ANTHROPIC_BASE_URL | Bestätigen Sie DNS-, VPN-, Proxy- und Firewall-Zugriff auf den Gateway-Host. |
400 nennt context_management, Extra inputs are not permitted oder Tool-Schema-Felder | Das Gateway leitet Claude-Code-Anfragen im Anthropic-Format an ein Upstream-System weiter, das Felder ablehnt, die Claude Code sendet | Leiten Sie kompatible Felder korrekt weiter, verwenden Sie den anbieterspezifischen Pfad oder setzen Sie vorübergehend CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1, wenn dies sinnvoll ist. |
400 nennt thinking oder adaptive | Der Upstream-Modell-Release akzeptiert kein adaptives Reasoning | Aktualisieren Sie das Upstream-System oder verwenden Sie den dokumentierten Workaround CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 für unterstützte Claude-4.6-Fälle. |
/fast schlägt fehl, während Inferenz funktioniert | Fast-Mode-Prüfungen können direkt zu Anthropic gehen, statt der Gateway-URL zu folgen | Behandeln Sie dies getrennt vom Nachrichtenrouting; erlauben Sie die direkte Prüfung oder verwenden Sie die dokumentierte Skip-Variable, wenn zutreffend. |
| Zertifikatsfehler, während Curl funktioniert | Die Laufzeitumgebung von Claude Code vertraut auf einen anderen CA-Bundle als Curl | Setzen Sie NODE_EXTRA_CA_CERTS auf den Pfad des unternehmensweiten CA-Bundles. |
Wählen Sie ANTHROPIC_AUTH_TOKEN oder ANTHROPIC_API_KEY
ANTHROPIC_AUTH_TOKEN ist für ein Bearer-Token. Claude Code sendet es als:
Authorization: Bearer <token>ANTHROPIC_API_KEY ist für einen API-Schlüssel gedacht. Claude Code sendet ihn als:
x-api-key: <key>Wenn Ihr Gateway-Team nur "Token" oder "Authorization header" sagt, beginnen Sie mit ANTHROPIC_AUTH_TOKEN. Wenn es "API key" oder "x-api-key" sagt, verwenden Sie ANTHROPIC_API_KEY. Wenn Sie geraten haben und 401 erhalten haben, wechseln Sie die Variablen, bevor Sie den Schlüssel rotieren.
Setzen Sie während der Fehlersuche nicht beide. So wird aus Claude Code ANTHROPIC_AUTH_TOKEN-Fehler: Vollständige Konfigurationskorrekturen statt eines Authentifizierungsproblems ein Problem mit der Authentifizierungs-Priorität.
Platzieren Sie die Variablen dort, wo Claude Code sie tatsächlich liest
Shell-Exporte sind gut für den ersten Test, weil sie sich leicht zurücksetzen lassen:
export ANTHROPIC_BASE_URL="https://llm-gateway.example.com"
export ANTHROPIC_AUTH_TOKEN="REPLACE_WITH_GATEWAY_TOKEN"
claudeSie gelten nur für diese Terminal-Sitzung und die von dort gestarteten Programme. Wenn Sie VS Code, eine Desktop-App oder einen Hintergrund-Agenten von woanders aus öffnen, ist der Export möglicherweise nicht sichtbar.
Für eine persistente CLI-Einrichtung auf Benutzerebene verwenden Sie ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",
"ANTHROPIC_AUTH_TOKEN": "REPLACE_WITH_GATEWAY_TOKEN"
}
}Für ein einzelnes Projekt verwenden Sie .claude/settings.local.json und stellen Sie sicher, dass es in .gitignore aufgenommen ist, bevor Sie eine Anmeldeinformation hinzufügen. Legen Sie keine Anmeldeinformation in .claude/settings.json ab, da diese Datei zum Teilen mit dem Repository gedacht ist.
Wenn ein Shell-Export und ein env-Block in einer Settings-Datei dieselbe Variable setzen, verwendet Claude Code den Wert aus der Settings-Datei. Deshalb ist /status eine bessere Wahrheitsquelle als echo $ANTHROPIC_AUTH_TOKEN.
Beheben Sie die VS-Code-Erweiterung
Die Claude Code VS-Code-Erweiterung hat ihre eigenen Startprüfungen. Konfigurieren Sie Gateway-Variablen in den VS-Code-Benutzereinstellungen unter claudeCode.environmentVariables:
{
"claudeCode.environmentVariables": [
{ "name": "ANTHROPIC_BASE_URL", "value": "https://llm-gateway.example.com" },
{ "name": "ANTHROPIC_AUTH_TOKEN", "value": "REPLACE_WITH_GATEWAY_TOKEN" }
]
}Verwenden Sie den VS-Code-Befehl Preferences: Open User Settings (JSON). Starten Sie dann die Erweiterungssitzung neu und führen Sie /status aus. Wenn die Erweiterung weiterhin zur Anmeldung auffordert, sieht sie die Anmeldeinformation bei ihrer eigenen Login-Prüfung nicht.
Beheben Sie GitHub Actions
Claude Code GitHub Actions liest ANTHROPIC_BASE_URL aus dem Workflow-env-Block. Für ein x-api-key-Gateway übergeben Sie den Gateway-Schlüssel als Action-Eingabe:
env:
ANTHROPIC_BASE_URL: https://llm-gateway.example.com
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}Für ein Bearer-Token-Gateway benötigt die Action weiterhin anthropic_api_key, um ihre Startprüfung zu erfüllen, während ANTHROPIC_AUTH_TOKEN der Wert ist, den Claude Code als Authorization: Bearer sendet:
env:
ANTHROPIC_BASE_URL: https://llm-gateway.example.com
ANTHROPIC_AUTH_TOKEN: ${{ secrets.GATEWAY_API_KEY }}
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}Bewahren Sie diese Werte in GitHub Secrets auf. Fügen Sie Gateway-Anmeldedaten nicht in Workflow-Logs, Issue-Kommentare oder commitete Dateien ein.
Verwenden Sie /status als Wahrheitscheck
Führen Sie nach jeder Konfigurationsänderung Folgendes aus:
/statusBei einem Gateway im Anthropic-Format sollte die Registerkarte Status Folgendes anzeigen:
Anthropic base URL: https://llm-gateway.example.com
Auth token: ANTHROPIC_AUTH_TOKENoder:
Anthropic base URL: https://llm-gateway.example.com
API key: ANTHROPIC_API_KEYWenn die Zeile für die Basis-URL fehlt, hat ANTHROPIC_BASE_URL die Sitzung nicht erreicht. Wenn die Anmeldeinformationsquelle ein gespeicherter Login ist, verwendet Claude Code nicht die Gateway-Anmeldedaten. Wenn beides korrekt aussieht und die Meldung trotzdem fehlschlägt, liegt das Problem nun wahrscheinlich beim Gateway-Routing, bei der Kompatibilität des Upstreams, beim Proxy-Verhalten oder beim Zertifikatsvertrauen.
Flatkey-Hinweis für das Claude Code Gateway-Routing
Flatkey ist in zwei verschiedenen Claude-Code-Workflows nützlich, und der Unterschied ist wichtig.
Für OpenAI-kompatible Modellaufrufe aus einem Projekt oder einer Agent-Fähigkeit ist die Basis-URL von Flatkey:
https://router.flatkey.ai/v1Für den eigenen Gateway-Pfad von Claude Code folgen Sie dem Gateway-Setup im Anthropic-Messages-Format und fügen Sie /v1 nicht zu ANTHROPIC_BASE_URL hinzu, sofern die Claude-Code-Anweisungen des Gateways nicht ausdrücklich etwas anderes sagen. Ein typisches Provider-Muster ist:
export ANTHROPIC_BASE_URL="https://router.flatkey.ai"
export ANTHROPIC_API_KEY="$FLATKEY_API_KEY"Dann führen Sie /status aus, senden Sie eine kurze Eingabeaufforderung und prüfen Sie das Gateway-Ledger oder die Protokolle. Halten Sie das Claude Code SKILL.md-Setup von diesem Pfad getrennt: Eine Skill zeigt Claude Code, wie Flatkey-unterstützte Modelle und Tools aus Ihrem Repo aufgerufen werden; das Gateway-Routing steuert, wohin Claude Code seinen eigenen Claude-Familienverkehr sendet.
Wenn Sie Agentenverkehr über Anbieter hinweg standardisieren, kombinieren Sie diesen Artikel mit den Anleitungen Claude API proxy vs multi-model router und Flatkey API quickstart.
Prüfungen für Gateway-Betreiber, wenn das Token nicht das eigentliche Problem ist
Einige Suchanfragen zu Claude Code ANTHROPIC_AUTH_TOKEN Errors: Complete Configuration Fixes beginnen als lokales Einrichtungsproblem und enden beim Gateway. Wenn der Curl-Aufruf mit einem Token authentifiziert und /status korrekt aussieht, überprüfen Sie diese gatewayseitigen Bedingungen:
| Gateway-Prüfung | Warum das wichtig ist |
|---|---|
Stelle das Anthropic-Messages-Format unter /v1/messages bereit | ANTHROPIC_BASE_URL veranlasst Claude Code, das Gateway als Endpunkt im Anthropic-Format zu behandeln. |
Leite anthropic-version und anthropic-beta unverändert weiter | Die Funktionen von Claude Code ändern sich von Release zu Release; statische Allowlists können spätere Anfragen beschädigen. |
| Behalte Streaming- und Keep-Alive-Verhalten bei | Pufferung oder das Entfernen von Stream-Bytes kann dazu führen, dass Claude Code hängen bleibt. |
| Leite Fehlerantworten unverändert weiter | Claude Code verwendet die Fehlermeldungen des Upstream-Dienstes für einige Wiederherstellungswege. |
| Vermeide es, HTML mit HTTP 200 zurückzugeben | Claude Code erwartet Claude-API-JSON- oder Event-Stream-Antworten, nicht eine Browser-Login-Seite. |
Halte /v1/messages von Request-Body-WAF-Regeln ausgenommen | Claude-Code-Prompts können XML-ähnliche Tags und Quellcode enthalten, die generische Body-Filter auslösen. |
| Gib nützliche Retry-Header zurück | retry-after und x-should-retry beeinflussen das Wiederholungsverhalten. |
Wenn dein Gateway vor einem Anbieter sitzt, der die vollständige Anthropic-Messages-Request-Struktur nicht akzeptiert, verwende die anbieterspezifischen Variablen statt ANTHROPIC_BASE_URL, oder bilde das Schema innerhalb des Gateways ab. Entferne Felder nicht blind; das tauscht einen sichtbaren Fehler gegen einen späteren Funktionsausfall.
Kopierbarer Debug-Datensatz
Verwende diesen Datensatz, wenn du das Problem an einen Teamkollegen oder Gateway-Operator weitergibst:
claude_code_auth_debug:
date_checked: 2026-09-22
surface: cli # cli | vscode | github_actions | agent_sdk | desktop
claude_code_version: ""
expected_gateway_base_url: "https://llm-gateway.example.com"
variable_used: "ANTHROPIC_AUTH_TOKEN"
expected_header: "Authorization: Bearer"
status_tab_base_url_seen: false
status_tab_credential_source: ""
curl_status_code: ""
curl_response_shape: "json_message | 401 | html_200 | dns_error | tls_error | other"
settings_files_checked:
- "~/.claude/settings.json"
- ".claude/settings.local.json"
- ".claude/settings.json"
shell_started_claude: false
saved_login_present: unknown
gateway_logs_received_request: unknown
suspected_fix: ""Dieser Datensatz zwingt die Untersuchung dazu, drei Dinge zu trennen: wo Claude Code die Konfiguration gelesen hat, welchen Header es gesendet hat und was das Gateway zurückgegeben hat.
Häufig gestellte Fragen
Soll ich ANTHROPIC_AUTH_TOKEN oder ANTHROPIC_API_KEY verwenden?
Verwende ANTHROPIC_AUTH_TOKEN, wenn das Gateway ein Bearer-Token oder den Authorization-Header erwartet. Verwende ANTHROPIC_API_KEY, wenn das Gateway x-api-key erwartet. Wenn du es nicht weißt, beginne mit ANTHROPIC_AUTH_TOKEN, prüfe es mit der curl-Anfrage und wechsle, falls du 401 erhältst.
Warum zeigt /status meine Base-URL nicht an?
ANTHROPIC_BASE_URL hat den Claude-Code-Prozess nicht erreicht. Starte claude aus derselben Shell, verschiebe den Wert in die richtige Einstellungsdatei, oder konfiguriere die Oberfläche, die du verwendest, etwa die VS-Code-Einstellungen oder das env von GitHub Actions.
Warum funktioniert curl, aber Claude Code fordert mich trotzdem auf, mich anzumelden?
Die Basis-URL ist erreichbar, aber Claude Code hat an dem Punkt, an dem ein Credential benötigt wird, keines verfügbar. Hinterlegen Sie ANTHROPIC_AUTH_TOKEN oder die richtige Credential-Variable in einem Shell-Export, in Benutzereinstellungen oder verwalteten Einstellungen, die Claude Code vor der Ersteinrichtung liest.
Kann ich das Token in .claude/settings.json ablegen?
Legen Sie keine Geheimnisse in .claude/settings.json ab, da es sich um eine gemeinsam genutzte Projektdatei handelt. Verwenden Sie ~/.claude/settings.json, .claude/settings.local.json, verwaltete Einstellungen, einen Secret Manager oder CI-Secrets.
Leitet ANTHROPIC_AUTH_TOKEN Claude Code auf Nicht-Claude-Modelle um?
Nein. Es ändert nur, wie Claude Code sich beim konfigurierten Anthropic-Format-Gateway authentifiziert. Das Gateway kann Anfragen gemäß seiner eigenen Implementierung weiterleiten oder überbrücken, aber Claude Code erwartet auf dem Pfad ANTHROPIC_BASE_URL weiterhin die Claude-API-Struktur.
Was ist die sicherste abschließende Verifikation?
Führen Sie die Curl-Anfrage mit einem Token aus, starten Sie Claude Code über die konfigurierte Oberfläche, führen Sie /status aus, senden Sie eine kurze Eingabeaufforderung und bestätigen Sie, dass das Gateway-Ledger oder die Logs die Anfrage zeigen. Diese Vier-Schritte-Prüfung ist die dauerhafte Lösung hinter Claude Code ANTHROPIC_AUTH_TOKEN-Fehler: Vollständige Konfigurationskorrekturen.
Geprüfte Quellen
- Anthropic Claude Code docs: Connect Claude Code to an LLM gateway, abgerufen am 2026-09-22.
- Anthropic Claude Code docs: Settings files and precedence, abgerufen am 2026-09-22.
- Anthropic Claude Code docs: Claude Code gateway compatibility guide, abgerufen am 2026-09-22.
- Claude Help Center: Manage API key environment variables in Claude Code, abgerufen am 2026-09-22.
- Flatkey public
SKILL.md, abgerufen am 2026-09-22. - Flatkey knowledge base: Product Overview, Marketing Strategy, Brand Voice.



