Umgebungsvariablen
OpenClaw bezieht Umgebungsvariablen aus mehreren Quellen. Die Regel lautet: Vorhandene Werte niemals überschreiben.Vorrang (höchster → niedrigster)
- Prozessumgebung (was der Gateway-Prozess bereits von der übergeordneten Shell/dem Daemon hat).
.envim aktuellen Arbeitsverzeichnis (dotenv-Standard; überschreibt nicht).- Globale
.envunter~/.openclaw/.env(auch$OPENCLAW_STATE_DIR/.env; überschreibt nicht). - Konfigurationsblock
envin~/.openclaw/openclaw.json(wird nur angewendet, wenn Werte fehlen). - Optionaler Import aus der Login-Shell (
env.shellEnv.enabledoderOPENCLAW_LOAD_SHELL_ENV=1), wird nur auf fehlende erwartete Schlüssel angewendet.
~/.config/openclaw/gateway.env außerdem als Kompatibilitäts-Fallback nach der globalen .env. Wenn beide Dateien existieren und voneinander abweichen, behält OpenClaw ~/.openclaw/.env bei und gibt eine Warnung aus.
Wenn die Konfigurationsdatei vollständig fehlt, wird Schritt 4 übersprungen; der Shell-Import läuft weiterhin, wenn er aktiviert ist.
Konfigurationsblock env
Zwei gleichwertige Möglichkeiten, Inline-env-Variablen zu setzen (beide überschreiben nicht):
Import aus der Shell-Umgebung
env.shellEnv führt Ihre Login-Shell aus und importiert nur fehlende erwartete Schlüssel:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Zur Laufzeit injizierte env-Variablen
OpenClaw injiziert auch Kontextmarker in gestartete untergeordnete Prozesse:OPENCLAW_SHELL=exec: gesetzt für Befehle, die über das Toolexecausgeführt werden.OPENCLAW_SHELL=acp: gesetzt für Prozessstarts des ACP-Laufzeit-Backends (zum Beispielacpx).OPENCLAW_SHELL=acp-client: gesetzt füropenclaw acp client, wenn es den ACP-Bridge-Prozess startet.OPENCLAW_SHELL=tui-local: gesetzt für lokale TUI-!-Shell-Befehle.
UI-env-Variablen
OPENCLAW_THEME=light: die helle TUI-Palette erzwingen, wenn Ihr Terminal einen hellen Hintergrund hat.OPENCLAW_THEME=dark: die dunkle TUI-Palette erzwingen.COLORFGBG: wenn Ihr Terminal dies exportiert, verwendet OpenClaw den Hinweis zur Hintergrundfarbe, um die TUI-Palette automatisch auszuwählen.
Ersetzung von env-Variablen in der Konfiguration
Sie können in String-Werten der Konfiguration direkt auf env-Variablen mit der Syntax${VAR_NAME} verweisen:
SecretRefs vs ${ENV}-Strings
OpenClaw unterstützt zwei env-gesteuerte Muster:
- String-Ersetzung
${VAR}in Konfigurationswerten. - SecretRef-Objekte (
{ source: "env", provider: "default", id: "VAR" }) für Felder, die Secret-Referenzen unterstützen.
Pfadbezogene env-Variablen
| Variable | Zweck |
|---|---|
OPENCLAW_HOME | Überschreibt das Home-Verzeichnis, das für die gesamte interne Pfadauflösung verwendet wird (~/.openclaw/, Agent-Verzeichnisse, Sitzungen, Anmeldedaten). Nützlich, wenn OpenClaw als dedizierter Service-Benutzer ausgeführt wird. |
OPENCLAW_STATE_DIR | Überschreibt das Zustandsverzeichnis (Standard ~/.openclaw). |
OPENCLAW_CONFIG_PATH | Überschreibt den Pfad der Konfigurationsdatei (Standard ~/.openclaw/openclaw.json). |
Protokollierung
| Variable | Zweck |
|---|---|
OPENCLAW_LOG_LEVEL | Überschreibt das Log-Level sowohl für Datei als auch Konsole (z. B. debug, trace). Hat Vorrang vor logging.level und logging.consoleLevel in der Konfiguration. Ungültige Werte werden mit einer Warnung ignoriert. |
OPENCLAW_HOME
Wenn gesetzt, ersetzt OPENCLAW_HOME das System-Home-Verzeichnis ($HOME / os.homedir()) für die gesamte interne Pfadauflösung. Dies ermöglicht vollständige Dateisystemisolation für headless Service-Konten.
Vorrang: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir()
Beispiel (macOS LaunchDaemon):
OPENCLAW_HOME kann auch auf einen Tilde-Pfad gesetzt werden (z. B. ~/svc), der vor der Verwendung mit $HOME erweitert wird.
nvm-Benutzer: web_fetch-TLS-Fehler
Wenn Node.js über nvm installiert wurde (nicht über den Paketmanager des Systems), verwendet das integrierte fetch()
den mit nvm gebündelten CA-Speicher, dem moderne Root-CAs fehlen können (ISRG Root X1/X2 für Let’s Encrypt,
DigiCert Global Root G2 usw.). Dadurch schlägt web_fetch auf den meisten HTTPS-Seiten mit "fetch failed" fehl.
Unter Linux erkennt OpenClaw nvm automatisch und wendet die Korrektur in der tatsächlichen Startumgebung an:
openclaw gateway installschreibtNODE_EXTRA_CA_CERTSin die Umgebungsvariablen des systemd-Service- der CLI-Einstiegspunkt
openclawführt sich selbst mit gesetztemNODE_EXTRA_CA_CERTSerneut aus, bevor Node startet
node ...-Starts):
Exportieren Sie die Variable, bevor Sie OpenClaw starten:
~/.openclaw/.env zu schreiben; Node liest
NODE_EXTRA_CA_CERTS beim Prozessstart.