Zurück zu den Leitfäden
Fehlerbehebung·28. August 2026·6 Min. Lesezeit

Claude Code „API Error: 401 authentication_error“ mit einer benutzerdefinierten Base-URL — alle Ursachen

Ein 401 betrifft hier Ihre Zugangsdaten oder Ihre Base-URL, niemals Ihr Modell — ein Modellproblem liefert 404 mit einer Meldung, die das Modell nennt. Diese eine Unterscheidung klärt die meisten Fälle mit einem einzigen curl-Aufruf.

Zuletzt überprüft am .

Ein 401 betrifft hier Ihre Zugangsdaten oder Ihre Base-URL, niemals Ihr Modell — ein Modellproblem liefert 404 mit einer Meldung, die das Modell nennt. Diese eine Unterscheidung klärt die meisten Fälle mit einem einzigen curl-Aufruf.

Der Fehler

terminal
API Error: 401 {"type":"error","error":{"type":"authentication_error","message":"Missing or invalid API key"}}

Ursachen und Lösungen im Überblick

UrsacheLösung
ANTHROPIC_API_KEY gesetzt, obwohl ANTHROPIC_AUTH_TOKEN vorgesehen warVerwenden Sie AUTH_TOKEN für eine Base-URL eines Drittanbieters; API_KEY löst zunächst eine einmalige Bestätigungsabfrage aus.
Base-URL mit einem /v1-PfadSetzen Sie nur den Ursprung — Claude Code hängt /v1/messages selbst an.
Schlüssel widerrufen oder Konto gesperrtBeides führt zu 401, niemals zu 403. Erstellen Sie einen neuen Schlüssel und prüfen Sie das Konto.
Ein Modell, das der Messages-Endpunkt nicht anbietetDas führt zu 404 mit dem Modellnamen, nicht zu 401 — es handelt sich daher um eine andere Fehlerbehebung.

Geben Sie die drei Variablen aus und prüfen Sie, dass die Base-URL keinen Pfad enthält

Die häufigste Ursache ist hier sichtbar. Die Base-URL muss ein Ursprung sein — kein /v1 und kein nachgestellter Pfad —, da der Client den Endpunkt selbst ergänzt. Eine Base-URL mit /v1 am Ende erzeugt eine Anfrage an /v1/v1/messages.

check-env.sh
env | grep -E '^ANTHROPIC_(BASE_URL|AUTH_TOKEN|API_KEY|MODEL)='

# Right: https://api.kunavo.com
# Wrong: https://api.kunavo.com/v1

Rufen Sie den Endpunkt auf beide Arten direkt auf

Kunavos /v1/messages akzeptiert die Zugangsdaten sowohl als x-api-key als auch als Authorization: Bearer. Deshalb benötigt Claude Code davor kein Plugin und keinen Proxy. Wenn curl funktioniert und die CLI nicht, liegt das Problem in Ihrer Shell-Umgebung und nicht auf dem Server.

probe.sh
curl -s https://api.kunavo.com/v1/messages   -H "x-api-key: $ANTHROPIC_AUTH_TOKEN"   -H "anthropic-version: 2023-06-01"   -H "content-type: application/json"   -d '{"model":"claude-sonnet-5","max_tokens":8,
       "messages":[{"role":"user","content":"hi"}]}'

# Same call, other header style — both are accepted:
#   -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN"

Entfernen Sie die Variable, die Sie nicht verwenden

Wenn ANTHROPIC_API_KEY und ANTHROPIC_AUTH_TOKEN beide gesetzt sind, kann die falsche Variable gewinnen. Entfernen Sie ANTHROPIC_API_KEY, starten Sie eine neue Shell und versuchen Sie es erneut — ein veralteter Export in einem Shell-Profil bleibt länger bestehen als jede andere von Ihnen vorgenommene Korrektur.

Wenn der Status 404 ist, hören Sie auf, den Schlüssel zu debuggen

Ein 404-Fehler, dessen Meldung das Modell nennt, bedeutet, dass die Zugangsdaten akzeptiert wurden, der Modellname jedoch nicht. Korrigieren Sie stattdessen ANTHROPIC_MODEL; mit dem Schlüssel ist nichts falsch. Bei einer neuen Einrichtung liegt die übliche Ursache darin, dass kein Modell festgelegt ist: Claude Code sendet dann seinen integrierten Standardwert, das neueste Opus-Modell, das Kunavo möglicherweise noch nicht anbietet; und /model sonnet fordert Sonnet 5.5 an, das Kunavo nicht anbietet — setzen Sie ANTHROPIC_MODEL, ANTHROPIC_DEFAULT_OPUS_MODEL und ANTHROPIC_DEFAULT_SONNET_MODEL auf IDs aus GET /v1/models.

Wenn Sie Kunavo verwenden

Ein 401 von Kunavo hat fünf mögliche Ursachen: Es wurde kein Schlüssel über Authorization: Bearer oder x-api-key übermittelt; der Schlüssel trägt nicht das Präfix sk-kn-; es handelt sich um einen sk-kn-Schlüssel, den Kunavo nie ausgestellt hat (Tippfehler oder abgeschnittenes Einfügen); der Schlüssel wurde widerrufen; oder das Konto ist gesperrt. Keine dieser Ursachen führt zu 403. Der Statuscode zeigt daher allein, zu welcher Fehlerfamilie Sie gehören — und ein gültiger Schlüssel für ein Modell, das der Messages-Endpunkt nicht anbietet, liefert 404 mit dem Modellnamen, nicht 401. Das ist der vollständige Diagnosebaum.

Häufig gestellte Fragen

Warum funktioniert mein Schlüssel mit curl, aber nicht mit Claude Code?

Fast immer ist eine zweite Variable im Shell-Profil gesetzt oder die Base-URL enthält einen Pfad. Der Endpunkt akzeptiert beide Header-Varianten, daher liegt der Unterschied nicht am Header.

ANTHROPIC_AUTH_TOKEN oder ANTHROPIC_API_KEY?

AUTH_TOKEN für eine Base-URL eines Drittanbieters — es wird sofort verwendet. API_KEY löst zuerst eine einmalige Bestätigungsabfrage aus, die häufig fälschlicherweise für einen Fehler gehalten wird.

Deckt ein Claude-Abonnement eine benutzerdefinierte Base-URL ab?

Nein. Ein Abonnement authentifiziert Sie am eigenen Endpunkt des Anbieters. Wenn Sie die CLI auf einen anderen Endpunkt richten, gelten dessen Zugangsdaten und dessen Abrechnung.

Verwandte Anleitungen

Weitere Informationen zur Fehlersemantik finden Sie unter Fehlerreferenz; einen Schlüssel erhalten Sie in einer Minute über Registrierung und die Authentifizierungsanleitung.