OpenClaw Umgebungsvariablen konfigurieren: Anleitung
Kennst du das? Lokal funktioniert alles perfekt, aber sobald du dein Tool als Hintergrunddienst startest, findet es plötzlich keine API-Keys mehr. Das Debuggen von Umgebungsvariablen kann echt nervig sein, besonders wenn verschiedene Prozesse und Shell-Konfigurationen im Spiel sind.
Hier erfährst du, wie OpenClaw mit Umgebungsvariablen umgeht und wie du sicherstellst, dass deine Keys immer dort ankommen, wo sie gebraucht werden.
Umgebungsvariablen
Abschnitt betitelt „Umgebungsvariablen“Wie OpenClaw Umgebungsvariablen lädt und verwaltet.
Wie lädt OpenClaw Umgebungsvariablen?
Abschnitt betitelt „Wie lädt OpenClaw Umgebungsvariablen?“OpenClaw liest Umgebungsvariablen aus dem Parent Process (Shell, launchd/systemd, CI usw.) und lädt zusätzlich:
.envaus dem aktuellen Arbeitsverzeichnis- Eine globale Fallback-Datei
.envunter~/.openclaw/.env(auch bekannt als$OPENCLAW_STATE_DIR/.env)
Keine dieser .env-Dateien überschreibt bereits vorhandene Umgebungsvariablen.
Du kannst auch Inline-Umgebungsvariablen in der Config definieren (diese werden nur angewendet, wenn sie im Process Env fehlen):
{ env: { OPENROUTER_API_KEY: "sk-or-...", vars: { GROQ_API_KEY: "gsk-..." } }}“Ich habe das Gateway über den Service gestartet und meine Umgebungsvariablen sind weg.” Was nun?
Abschnitt betitelt „“Ich habe das Gateway über den Service gestartet und meine Umgebungsvariablen sind weg.” Was nun?“Zwei gängige Lösungen:
-
Pack die fehlenden Keys in
~/.openclaw/.env, damit sie auch dann erkannt werden, wenn der Service deine Shell-Umgebung nicht übernimmt. -
Aktiviere den Shell-Import (ein praktisches Opt-in-Feature):
{env: {shellEnv: {enabled: true,timeoutMs: 15000}}}
Das führt deine Login-Shell aus und importiert nur die fehlenden Keys (bereits vorhandene Werte werden nie überschrieben). Die entsprechenden Umgebungsvariablen dafür sind: OPENCLAW_LOAD_SHELL_ENV=1, OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000.
Ich habe COPILOT_GITHUB_TOKEN gesetzt, aber der Status zeigt “Shell env: off”. Warum?
Abschnitt betitelt „Ich habe COPILOT_GITHUB_TOKEN gesetzt, aber der Status zeigt “Shell env: off”. Warum?“openclaw models status gibt an, ob der Shell Env Import aktiviert ist. “Shell env: off” bedeutet nicht, dass deine Umgebungsvariablen fehlen – es heißt nur, dass OpenClaw deine Login-Shell nicht automatisch lädt.
Wenn das Gateway als Service läuft (launchd/systemd), übernimmt es deine Shell-Umgebung nicht automatisch.
Löse das Problem mit einer dieser Optionen:
- Schreib den Token in
~/.openclaw/.env - Aktiviere den Shell-Import (
env.shellEnv.enabled: true) - Füge ihn zu deinem Config-Block
envhinzu - Setze die Variable direkt in deiner System-Konfiguration
Dann starte das Gateway neu:
openclaw gateway restartopenclaw models statusCopilot-Tokens werden aus COPILOT_GITHUB_TOKEN gelesen (ebenso aus GH_TOKEN oder GITHUB_TOKEN).
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“Brauchst du Hilfe bei der Einrichtung? Frag den AI Setup Assistant.
OpenClaw Expert
Noch festgefahren?
Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.