Variáveis de ambiente
O OpenClaw obtém variáveis de ambiente de várias fontes. A regra é nunca substituir valores existentes.Precedência (maior → menor)
- Ambiente do processo (o que o processo do Gateway já possui do shell/daemon pai).
.envno diretório de trabalho atual (padrão do dotenv; não substitui)..envglobal em~/.openclaw/.env(também conhecido como$OPENCLAW_STATE_DIR/.env; não substitui).- Bloco
envda configuração em~/.openclaw/openclaw.json(aplicado apenas se estiver ausente). - Importação opcional do shell de login (
env.shellEnv.enabledouOPENCLAW_LOAD_SHELL_ENV=1), aplicada apenas para chaves esperadas ausentes.
~/.config/openclaw/gateway.env como fallback de compatibilidade após o .env global. Se ambos os arquivos existirem e divergirem, o OpenClaw manterá ~/.openclaw/.env e imprimirá um aviso.
Se o arquivo de configuração estiver totalmente ausente, a etapa 4 será ignorada; a importação do shell ainda será executada se estiver ativada.
Bloco env da configuração
Duas formas equivalentes de definir variáveis de ambiente inline (ambas sem substituição):
Importação de env do shell
env.shellEnv executa seu shell de login e importa apenas chaves esperadas ausentes:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Variáveis de ambiente injetadas em runtime
O OpenClaw também injeta marcadores de contexto em processos filhos iniciados:OPENCLAW_SHELL=exec: definido para comandos executados pela ferramentaexec.OPENCLAW_SHELL=acp: definido para processos iniciados pelo backend de runtime ACP (por exemploacpx).OPENCLAW_SHELL=acp-client: definido paraopenclaw acp clientquando ele inicia o processo de bridge ACP.OPENCLAW_SHELL=tui-local: definido para comandos de shell!locais da TUI.
Variáveis de ambiente da UI
OPENCLAW_THEME=light: força a paleta clara da TUI quando seu terminal tem fundo claro.OPENCLAW_THEME=dark: força a paleta escura da TUI.COLORFGBG: se seu terminal a exportar, o OpenClaw usa a dica de cor de fundo para escolher automaticamente a paleta da TUI.
Substituição de variáveis de ambiente na configuração
Você pode referenciar variáveis de ambiente diretamente em valores de string da configuração usando a sintaxe${VAR_NAME}:
Referências de segredos vs strings ${ENV}
O OpenClaw oferece suporte a dois padrões orientados por env:
- substituição de string
${VAR}em valores de configuração. - objetos SecretRef (
{ source: "env", provider: "default", id: "VAR" }) para campos que aceitam referências de segredo.
Variáveis de ambiente relacionadas a caminho
| Variable | Purpose |
|---|---|
OPENCLAW_HOME | Substitui o diretório home usado para toda a resolução interna de caminhos (~/.openclaw/, diretórios de agente, sessões, credenciais). Útil ao executar o OpenClaw como um usuário de serviço dedicado. |
OPENCLAW_STATE_DIR | Substitui o diretório de estado (padrão ~/.openclaw). |
OPENCLAW_CONFIG_PATH | Substitui o caminho do arquivo de configuração (padrão ~/.openclaw/openclaw.json). |
Logging
| Variable | Purpose |
|---|---|
OPENCLAW_LOG_LEVEL | Substitui o nível de log tanto para arquivo quanto para console (por exemplo debug, trace). Tem precedência sobre logging.level e logging.consoleLevel na configuração. Valores inválidos são ignorados com um aviso. |
OPENCLAW_HOME
Quando definido, OPENCLAW_HOME substitui o diretório home do sistema ($HOME / os.homedir()) para toda a resolução interna de caminhos. Isso permite isolamento completo do sistema de arquivos para contas de serviço headless.
Precedência: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir()
Exemplo (macOS LaunchDaemon):
OPENCLAW_HOME também pode ser definido para um caminho com til (~/svc), que será expandido usando $HOME antes do uso.
Usuários do nvm: falhas de TLS em web_fetch
Se o Node.js foi instalado via nvm (e não pelo gerenciador de pacotes do sistema), o fetch() integrado usa
o armazenamento de CAs empacotado pelo nvm, que pode não incluir CAs raiz modernas (ISRG Root X1/X2 para Let’s Encrypt,
DigiCert Global Root G2 etc.). Isso faz com que web_fetch falhe com "fetch failed" na maioria dos sites HTTPS.
No Linux, o OpenClaw detecta automaticamente o nvm e aplica a correção no ambiente real de inicialização:
openclaw gateway installgravaNODE_EXTRA_CA_CERTSno ambiente do serviço systemd- o ponto de entrada da CLI
openclawse reexecuta comNODE_EXTRA_CA_CERTSdefinido antes da inicialização do Node
node ...):
Exporte a variável antes de iniciar o OpenClaw:
~/.openclaw/.env para essa variável; o Node lê
NODE_EXTRA_CA_CERTS na inicialização do processo.