Base URL in Claude Code: ANTHROPIC_BASE_URL richtig setzen

Wokey Team · 2026-09-24

Kurz gesagt: Die Base URL von Claude Code wird über die Umgebungsvariable ANTHROPIC_BASE_URL gesetzt. Trage nur den Origin des Gateways ein, ohne /v1. Für Wokey ist das https://api.wokey.ai; /v1/messages hängt Claude Code selbst an. Deinen Key trägst du in ANTHROPIC_AUTH_TOKEN ein, er wird als Authorization: Bearer gesendet. Setzt du die Base URL, aber keinen Key, nutzt Claude Code weiter deine gespeicherte claude.ai-Anmeldung.

Minimale Einrichtung

export ANTHROPIC_BASE_URL="https://api.wokey.ai"
export ANTHROPIC_AUTH_TOKEN="your Wokey API key"
claude

Führe in Claude Code /status aus. Die Anfragen laufen über Wokey, wenn der Tab Status Folgendes zeigt:

  • Anthropic base URL mit dem Wert https://api.wokey.ai
  • eine Zeile Auth token, die ANTHROPIC_AUTH_TOKEN nennt

Fehlt die Zeile Anthropic base URL, ist die Variable nie in der Sitzung angekommen.

Warum /v1 zum Fehler führt

Claude Code behandelt ANTHROPIC_BASE_URL als Präfix und ruft $ANTHROPIC_BASE_URL/v1/messages auf. Setzt du den Wert auf https://api.wokey.ai/v1, geht die Anfrage an /v1/v1/messages, und Wokey antwortet mit:

{"message":"Route POST:/v1/v1/messages not found","error":"Not Found","statusCode":404}

OpenAI-kompatible Clients wie Cursor oder Cherry Studio erwarten üblicherweise .../v1. Claude Code folgt dagegen der Konvention von Anthropic, und beides lässt sich nicht mischen. Hänge auch weder /v1/messages noch einen abschließenden Schrägstrich an.

AUTH_TOKEN oder API_KEY

Variable Gesendet als Wann verwenden
ANTHROPIC_AUTH_TOKEN Authorization: Bearer <key> Das Gateway verlangt ein Bearer-Token, oder du bist dir nicht sicher
ANTHROPIC_API_KEY x-api-key: <key> Das Gateway verlangt einen x-api-key-Header

Wokey akzeptiert beide Header. Der Unterschied liegt bei Claude Code:

  • ANTHROPIC_AUTH_TOKEN gilt sofort.
  • ANTHROPIC_API_KEY verlangt im interaktiven Modus eine einmalige Bestätigung, bevor der Key verwendet wird. Ein Key, den du früher abgelehnt hast, wird stillschweigend ignoriert.

Setze nicht beide auf unterschiedliche Werte. Enthalten die beiden Header verschiedene Keys, lehnt Wokey die Anfrage ab:

{"error":{"code":"conflicting_api_key_headers","message":"conflicting_api_key_headers","type":"invalid_request_error"}}

Derselbe Key in beiden Headern ist in Ordnung.

Was passiert, wenn nur die Base URL gesetzt ist

Eine Base URL ersetzt keine Zugangsdaten. Ist nur ANTHROPIC_BASE_URL gesetzt und weder AUTH_TOKEN noch API_KEY, sendet Claude Code die Anfragen weiter mit deiner gespeicherten claude.ai-Anmeldung. Wokey erkennt darin keinen Wokey-Key und antwortet mit 401.

Sobald Zugangsdaten für ein Gateway gesetzt sind, bleibt deine claude.ai-Anmeldung gespeichert, wird aber nicht verwendet; entferne die Variable, um zu ihr zurückzukehren.

Beim Start kann eine Warnung erscheinen, die auf auth may not work as expected endet. Ältere Versionen melden stattdessen Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set. Beides bedeutet, dass sowohl Gateway-Zugangsdaten als auch eine gespeicherte Anmeldung vorhanden sind. Wenn du nur das Gateway nutzen willst, führe in Claude Code /logout aus, um die gespeicherte Anmeldung zu löschen.

Dauerhaft in settings.json speichern

Ein export gilt nur für das aktuelle Terminal, und Editoren, die aus dem Dock oder dem Startmenü gestartet werden, sehen ihn nicht. Trage die Werte für den Alltag in den env-Block von ~/.claude/settings.json ein:

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.wokey.ai",
    "ANTHROPIC_AUTH_TOKEN": "your Wokey API key"
  }
}
  • Setzen die Shell und eine Einstellungsdatei dieselbe Variable, gewinnt die Einstellungsdatei. Scheint eine geänderte Shell-Variable nichts zu bewirken, sieh zuerst hier nach.
  • Für ein einzelnes Projekt nimmst du dessen .claude/settings.local.json und stellst sicher, dass die Datei in .gitignore steht.
  • Schreibe den Key nie in die .claude/settings.json eines Projekts. Diese Datei wird ins Repository committet.

Modelle auswählen

Wokey verwendet dieselben Claude-Modell-IDs wie Anthropic, etwa claude-opus-5, claude-sonnet-5 und claude-haiku-4-5. Während einer Sitzung wechselst du mit /model. Um festzulegen, welches Modell die Stufen Opus, Sonnet und Haiku in Claude Code jeweils verwenden, ergänze env:

{
  "env": {
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-5",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
  }
}

ANTHROPIC_DEFAULT_HAIKU_MODEL legt auch das Modell für Hintergrundaufgaben wie Sitzungstitel fest.

VS-Code-Erweiterung und Desktop-App

Die VS-Code-Erweiterung nutzt für ihre Anmeldeprüfung keine Shell-Variablen. Setze sie stattdessen in den Benutzereinstellungen von VS Code: Führe in der Befehlspalette Preferences: Open User Settings (JSON) aus und ergänze:

{
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://api.wokey.ai" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "your Wokey API key" }
  ]
}

Werte aus ~/.claude/settings.json erreichen den Prozess, den die Erweiterung startet, aber nicht die Anmeldeprüfung der Erweiterung selbst. Fordert dich die Erweiterung immer wieder zur Anmeldung auf, verwende die Einstellung oben.

Die Claude-Desktop-App liest weder ANTHROPIC_BASE_URL noch settings.json. So richtest du ein Gateway ein:

  1. Öffne Help → Troubleshooting → Enable Developer Mode.
  2. Öffne Developer → Configure Third-Party Inference und trage die Adresse des Gateways ein.

Alle Schritte findest du in der Einrichtung von Claude Desktop.

Zuerst mit curl prüfen

Teste aus demselben Terminal, ohne dass Claude Code beteiligt ist:

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":"claude-sonnet-5","max_tokens":1,"messages":[{"role":"user","content":"."}]}'

Was dir die Antwort sagt:

  • Beginnt mit {"id":"msg_: URL und Key sind in Ordnung; das Problem liegt in deiner Konfiguration von Claude Code.
  • 401 mit dem Code invalid_api_key: Der Key fehlt, enthält einen Tippfehler oder wurde gelöscht.
  • 404 mit einem Hinweis auf /v1/v1/messages: Die Base URL enthält ein überflüssiges /v1.
  • curl funktioniert, aber Claude Code fordert dich weiter zur Anmeldung auf: Claude Code hat selbst keine Zugangsdaten. Prüfe, ob die Variablen in demselben Terminal gesetzt wurden, das claude gestartet hat, oder verschiebe sie in ~/.claude/settings.json.

Häufige Fragen

Gehört /v1 in ANTHROPIC_BASE_URL?

Nein. Claude Code hängt /v1/messages an die Base URL an; mit https://api.wokey.ai/v1 geht die Anfrage an /v1/v1/messages und endet mit einem 404. Verwende für Wokey https://api.wokey.ai.

ANTHROPIC_AUTH_TOKEN oder ANTHROPIC_API_KEY?

ANTHROPIC_AUTH_TOKEN wird als Authorization: Bearer gesendet und gilt sofort. ANTHROPIC_API_KEY wird als x-api-key gesendet und braucht im interaktiven Modus eine einmalige Bestätigung. Wokey akzeptiert beides; empfohlen ist ANTHROPIC_AUTH_TOKEN. Setzt du beide auf unterschiedliche Werte, bekommst du einen 401 conflicting_api_key_headers.

Ich habe nur die Base URL gesetzt. Warum wird weiter mein Claude-Abo verwendet?

Eine Base URL ersetzt keine Zugangsdaten. Ohne ANTHROPIC_AUTH_TOKEN oder ANTHROPIC_API_KEY nutzt Claude Code weiter deine gespeicherte claude.ai-Anmeldung. Trage den Gateway-Key ein, und führe /logout aus, wenn du die gespeicherte Anmeldung löschen willst.

Ich habe die Umgebungsvariable geändert. Warum hat sich nichts getan?

Der env-Block in ~/.claude/settings.json hat Vorrang vor Shell-Variablen. Prüfe, ob dort ein alter Wert steht, und führe dann /status aus, um die aktive Base URL und die Quelle der Zugangsdaten zu sehen.

Wie setze ich die Base URL in der VS-Code-Erweiterung?

Trage ANTHROPIC_BASE_URL und ANTHROPIC_AUTH_TOKEN in claudeCode.environmentVariables in der JSON-Datei deiner VS-Code-Benutzereinstellungen ein. Die Anmeldeprüfung der Erweiterung liest ~/.claude/settings.json nicht.