OAuth
OpenClaw unterstützt „Subscription-Authentifizierung“ per OAuth für Anbieter, die dies anbieten (insbesondere OpenAI Codex (ChatGPT OAuth)). Für Anthropic ist die praktische Aufteilung jetzt:- Anthropic API key: normale Anthropic-API-Abrechnung
- Anthropic Claude CLI / Subscription-Authentifizierung innerhalb von OpenClaw: Anthropic-Mitarbeiter haben uns mitgeteilt, dass diese Nutzung wieder erlaubt ist
- wie der OAuth-Tokenaustausch funktioniert (PKCE)
- wo Tokens gespeichert werden (und warum)
- wie mit mehreren Konten umgegangen wird (Profile + sitzungsbezogene Überschreibungen)
Die Token-Senke (warum sie existiert)
OAuth-Anbieter stellen bei Login-/Refresh-Abläufen häufig einen neuen Refresh-Token aus. Einige Anbieter (oder OAuth-Clients) können ältere Refresh-Tokens ungültig machen, wenn für denselben Benutzer/dieselbe App ein neuer ausgestellt wird. Praktisches Symptom:- Sie melden sich über OpenClaw und über Claude Code / Codex CLI an → eines von beiden wird später zufällig „abgemeldet“
auth-profiles.json als Token-Senke:
- die Laufzeit liest Anmeldedaten aus einem Ort
- wir können mehrere Profile beibehalten und sie deterministisch routen
- wenn Anmeldedaten aus einer externen CLI wie Codex CLI wiederverwendet werden, spiegelt OpenClaw sie mit Herkunftsinformationen und liest diese externe Quelle erneut, statt den Refresh-Token selbst zu rotieren
Speicherung (wo Tokens gespeichert werden)
Secrets werden pro Agent gespeichert:- Auth-Profile (OAuth + API keys + optionale Referenzen auf Wertebene):
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - Legacy-Kompatibilitätsdatei:
~/.openclaw/agents/<agentId>/agent/auth.json(statischeapi_key-Einträge werden beim Auffinden bereinigt)
~/.openclaw/credentials/oauth.json(wird bei der ersten Verwendung inauth-profiles.jsonimportiert)
$OPENCLAW_STATE_DIR (Überschreibung des Zustandsverzeichnisses). Vollständige Referenz: /gateway/configuration
Für statische Secret-Referenzen und das Aktivierungsverhalten von Laufzeit-Snapshots siehe Secrets Management.
Anthropic-Legacy-Token-Kompatibilität
OpenClaw stellt außerdem das Anthropic-Setup-Token als unterstützten Token-Authentifizierungspfad bereit, bevorzugt jetzt aber die Wiederverwendung von Claude CLI undclaude -p, wenn verfügbar.
Migration der Anthropic Claude CLI
OpenClaw unterstützt die Wiederverwendung der Anthropic Claude CLI wieder. Wenn Sie bereits einen lokalen Claude-Login auf dem Host haben, kann das Onboarding bzw. die Konfiguration diesen direkt wiederverwenden.OAuth-Austausch (wie der Login funktioniert)
OpenClaws interaktive Login-Abläufe sind in@mariozechner/pi-ai implementiert und in die Assistenten/Befehle eingebunden.
Anthropic-Setup-Token
Ablauf:- Anthropic-Setup-Token oder Paste-Token aus OpenClaw starten
- OpenClaw speichert die resultierende Anthropic-Anmeldeinformation in einem Auth-Profil
- die Modellauswahl bleibt bei
anthropic/... - vorhandene Anthropic-Auth-Profile bleiben für Rollback/Reihenfolgenkontrolle verfügbar
OpenAI Codex (ChatGPT OAuth)
OpenAI Codex OAuth wird ausdrücklich für die Nutzung außerhalb der Codex CLI unterstützt, einschließlich OpenClaw-Workflows. Ablauf (PKCE):- PKCE-Verifier/Challenge + zufälligen
stategenerieren https://auth.openai.com/oauth/authorize?...öffnen- versuchen, den Callback auf
http://127.0.0.1:1455/auth/callbackzu erfassen - wenn der Callback nicht gebunden werden kann (oder Sie remote/headless sind), die Redirect-URL bzw. den Code einfügen
- Austausch bei
https://auth.openai.com/oauth/token accountIdaus dem Access-Token extrahieren und{ access, refresh, expires, accountId }speichern
openclaw onboard → Auth-Auswahl openai-codex.
Refresh + Ablauf
Profile speichern einenexpires-Zeitstempel.
Zur Laufzeit:
- wenn
expiresin der Zukunft liegt → den gespeicherten Access-Token verwenden - wenn abgelaufen → aktualisieren (unter einer Dateisperre) und die gespeicherten Anmeldedaten überschreiben
- Ausnahme: wiederverwendete Anmeldedaten externer CLI bleiben extern verwaltet; OpenClaw liest den CLI-Auth-Speicher erneut und verwendet den kopierten Refresh-Token nie selbst
Mehrere Konten (Profile) + Routing
Zwei Muster:1) Bevorzugt: separate Agents
Wenn „privat“ und „beruflich“ nie miteinander interagieren sollen, verwenden Sie isolierte Agents (separate Sitzungen + Anmeldedaten + Workspace):2) Fortgeschritten: mehrere Profile in einem Agent
auth-profiles.json unterstützt mehrere Profil-IDs für denselben Anbieter.
Wählen Sie aus, welches Profil verwendet wird:
- global über die Konfigurationsreihenfolge (
auth.order) - pro Sitzung über
/model ...@<profileId>
/model Opus@anthropic:work
openclaw channels list --json(zeigtauth[])
- /concepts/model-failover (Rotations- + Cooldown-Regeln)
- /tools/slash-commands (Befehlsoberfläche)
Verwandt
- Authentication — Überblick über die Authentifizierung von Modellanbietern
- Secrets — Speicherung von Anmeldedaten und SecretRef
- Configuration Reference — Auth-Konfigurationsschlüssel