Variáveis de ambiente
O OpenClaw obtém variáveis de ambiente de múltiplas fontes. A regra é nunca sobrescrever valores existentes.Precedência (mais alta → mais baixa)
- 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 sobrescreve)..envglobal em~/.openclaw/.env(também conhecido como$OPENCLAW_STATE_DIR/.env; não sobrescreve).- Bloco de Configuração
envem~/.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.
Bloco de Configuração env
Duas formas equivalentes de definir variáveis de ambiente inline (ambas não sobrescrevem):
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
Env var substitution in config
Você pode referenciar variáveis de ambiente diretamente em valores de string da configuração usando a sintaxe${VAR_NAME}:
Path-related env vars
| Variável | Propósito |
|---|---|
OPENCLAW_HOME | Substitui o diretório home usado para toda a resolução interna de caminhos (~/.openclaw/, diretórios de agente, sessões, credenciais). Useful when running OpenClaw as a dedicated service user. |
OPENCLAW_STATE_DIR | Substitui o diretório de estado (padrão ~/.openclaw). |
OPENCLAW_CONFIG_PATH | Substitua o caminho do arquivo de configuração (padrão ~/.openclaw/openclaw.json). |
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 habilita isolamento completo do sistema de arquivos para contas de serviço headless.
Precedência: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir()
Exemplo (LaunchDaemon no macOS):
OPENCLAW_HOME também pode ser definido como um caminho com til (por exemplo, ~/svc), que é expandido usando $HOME antes do uso.