.env ファイルは信頼度の低いソースです。OpenClaw は優先順位を適用する前に、ワークスペースの .env に含まれるプロバイダー認証情報と保護されたランタイム制御を無視します。
優先順位(高い順)
- プロセス環境(親シェルまたはデーモンから Gateway プロセスがすでに継承している環境)。
- 現在の作業ディレクトリにある
.env(dotenv のデフォルト。上書きしません。プロバイダー認証情報と保護されたランタイム制御は無視されます)。 ~/.openclaw/.envにある グローバル.env(別名$OPENCLAW_STATE_DIR/.env。プロバイダー API キーに推奨。上書きしません)。~/.openclaw/openclaw.json内の 設定envブロック(値がない場合にのみ適用)。- オプションのログインシェルからのインポート(
env.shellEnv.enabledまたはOPENCLAW_LOAD_SHELL_ENV=1)。想定されるキーがない場合にのみ適用されます。
.env の後に、~/.config/openclaw/gateway.env も互換性フォールバックとして扱います。両方のファイルが存在し、内容が異なる場合、OpenClaw は ~/.openclaw/.env を維持して警告を表示します。
設定ファイル自体が存在しない場合、手順 4 はスキップされます。シェルからのインポートは、有効になっていれば引き続き実行されます。
オペレーター向けにサポートされる変数
以下の変数は、オペレーター向けにサポートされる環境変数の契約です。文書化されていないOPENCLAW_* 変数は内部実装の詳細であり、予告なく削除される可能性があります。
パスとインスタンス
Gateway と認証
プロバイダー認証情報
コアおよびバンドルされたプロバイダー Plugin は、以下の認証情報変数とプロバイダー選択変数を認識します。プロセス全体で共有される単一の値ではなく、スコープを限定した認証情報が必要な場合は、各プロバイダーの設定フィールドまたは SecretRef フィールドを優先してください。AI_GATEWAY_API_KEY, ANTHROPIC_ADMIN_API_KEY, ANTHROPIC_ADMIN_KEY, ANTHROPIC_API_KEY, ANTHROPIC_OAUTH_TOKEN, ARCEEAI_API_KEY, AZURE_OPENAI_API_KEY, AZURE_SPEECH_API_KEY, AZURE_SPEECH_KEY, AZURE_SPEECH_REGION, BASETEN_API_KEY, BRAVE_API_KEY, BYTEPLUS_API_KEY, BYTEPLUS_SEED_SPEECH_API_KEY, CEREBRAS_API_KEY, CHUTES_API_KEY, CHUTES_OAUTH_TOKEN, CLAWROUTER_API_KEY, CLOUDFLARE_AI_GATEWAY_API_KEY, CODEX_API_KEY, COHERE_API_KEY, COMFY_API_KEY, COMFY_CLOUD_API_KEY, COPILOT_GITHUB_TOKEN, DASHSCOPE_API_KEY, DEEPGRAM_API_KEY, DEEPINFRA_API_KEY, DEEPSEEK_API_KEY, ELEVENLABS_API_KEY, EXA_API_KEY, FAL_API_KEY, FAL_KEY, FEATHERLESS_API_KEY, FIRECRAWL_API_KEY, FIREWORKS_API_KEY, GCLOUD_PROJECT, GEMINI_API_KEY, GH_TOKEN, GITHUB_TOKEN, GMI_API_KEY, GOOGLE_API_KEY, GOOGLE_APPLICATION_CREDENTIALS, GOOGLE_CLOUD_API_KEY, GOOGLE_CLOUD_LOCATION, GOOGLE_CLOUD_PROJECT, GRADIUM_API_KEY, GROQ_API_KEY, HF_TOKEN, HUGGINGFACE_HUB_TOKEN, INWORLD_API_KEY, KILOCODE_API_KEY, KIMICODE_API_KEY, KIMI_API_KEY, LITELLM_API_KEY, LM_API_TOKEN, LONGCAT_API_KEY, MINIMAX_API_KEY, MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY, MINIMAX_OAUTH_TOKEN, MISTRAL_API_KEY, MODELSTUDIO_API_KEY, MODEL_API_KEY, MOONSHOT_API_KEY, NOVITA_API_KEY, NVIDIA_API_KEY, OLLAMA_API_KEY, OPENAI_ADMIN_KEY, OPENAI_API_KEY, OPENCODE_API_KEY, OPENCODE_ZEN_API_KEY, OPENROUTER_API_KEY, PARALLEL_API_KEY, PERPLEXITY_API_KEY, PIXVERSE_API_KEY, QIANFAN_API_KEY, QWEN_API_KEY, QWEN_TOKEN_PLAN_API_KEY, RUNWAYML_API_SECRET, RUNWAY_API_KEY, SENSEAUDIO_API_KEY, SGLANG_API_KEY, SPEECH_KEY, SPEECH_REGION, STEPFUN_API_KEY, SYNTHETIC_API_KEY, TAVILY_API_KEY, TOGETHER_API_KEY, TOKENHUB_API_KEY, TOKENPLAN_API_KEY, VENICE_API_KEY, VLLM_API_KEY, VOLCANO_ENGINE_API_KEY, VOLCENGINE_TTS_API_KEY, VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOYAGE_API_KEY, VYDRA_API_KEY, XAI_API_KEY, XIAOMI_API_KEY, XIAOMI_TOKEN_PLAN_API_KEY, XI_API_KEY, ZAI_API_KEY, および Z_AI_API_KEY。
インストールされたサードパーティ Plugin は、Plugin マニフェストで追加の認証情報変数を宣言できます。それらの変数は宣言元 Plugin の契約であり、OpenClaw コアの変数ではありません。
ログと診断
機能とランタイムの切り替え
プロバイダー認証情報とワークスペースの .env
プロバイダー API キーをワークスペースの .env だけに保存しないでください。OpenClaw は、既知のすべてのプロバイダー認証環境変数(例: GEMINI_API_KEY、GOOGLE_API_KEY、XAI_API_KEY、MISTRAL_API_KEY、GROQ_API_KEY、DEEPSEEK_API_KEY、PERPLEXITY_API_KEY、BRAVE_API_KEY、TAVILY_API_KEY、EXA_API_KEY、FIRECRAWL_API_KEY)に加え、_API_HOST、_BASE_URL、_ENDPOINT、または _HOMESERVER で終わるすべてのキー、および OPENCLAW_*、CLAWHUB_*、ANTHROPIC_API_KEY_*、OPENAI_API_KEY_* の各名前空間全体を含む、多数のプロバイダー認証情報キーとエンドポイントリダイレクトキーをワークスペースの .env ファイルから読み込まないようにしています。
代わりに、プロバイダー認証情報には次のいずれかの信頼されたソースを使用してください。
- シェル、launchd/systemd ユニット、コンテナシークレット、CI シークレットなどの Gateway プロセス環境。
~/.openclaw/.envまたは$OPENCLAW_STATE_DIR/.envにあるグローバルランタイム dotenv ファイル。~/.openclaw/openclaw.json内の設定envブロック。env.shellEnv.enabledまたはOPENCLAW_LOAD_SHELL_ENV=1が有効な場合の、オプションのログインシェルからのインポート。
.env だけに保存していた場合は、上記の信頼されたソースのいずれかに移動してください。ワークスペースの .env では、認証情報、エンドポイントリダイレクト、ホストの上書き、または OPENCLAW_* ランタイム制御ではない通常のプロジェクト変数を引き続き提供できます。
セキュリティ上の理由については、ワークスペースの .env ファイルを参照してください。
設定 env ブロック
インライン環境変数を設定する、同等の 2 つの方法があります(どちらも上書きしません)。
env ブロックは、リテラル文字列値のみを受け付けます。
file:... の値は展開されません。たとえば、XAI_API_KEY: "file:secrets/xai-api-key.txt"
は、そのままの文字列としてプロバイダーに渡されます。
ファイルに保存されたプロバイダーキーには、それをサポートする認証情報フィールドで SecretRef を使用してください。
シェル環境のインポート
env.shellEnv はログインシェルを実行し、存在しない想定キーのみをインポートします。
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000(デフォルト15000)
exec シェルスナップショット
Windows 以外の Gateway ホストでは、bash および zsh のexec コマンドはデフォルトで起動時スナップショットを使用します。
このパスを無効にするには、Gateway プロセス環境に OPENCLAW_EXEC_SHELL_SNAPSHOT=0 を設定します。
値 false、no、および off でも無効になります。呼び出しごとの exec.env 値では、
スナップショットの切り替えやスナップショットキャッシュのリダイレクトはできません。
ランタイムによって注入される環境変数
OpenClaw は、生成した子プロセスにコンテキストマーカーも注入します。OPENCLAW_SHELL=exec:execツールを通じて実行されるコマンドに設定されます。OPENCLAW_SHELL=acp-client: ACP ブリッジプロセスを生成する際にopenclaw acp clientに設定されます。OPENCLAW_SHELL=tui-local: ローカル TUI の!シェルコマンドに設定されます。OPENCLAW_CLI=1: CLI エントリポイントによって生成される子プロセスに設定されます。
UI 環境変数
OPENCLAW_THEME=light: 端末の背景が明るい場合に、TUI の明るいパレットを強制します。OPENCLAW_THEME=dark: TUI の暗いパレットを強制します。COLORFGBG: 端末がこれをエクスポートしている場合、OpenClaw は背景色のヒントを使用して TUI パレットを自動選択します。
設定内での環境変数の置換
${VAR_NAME} 構文を使用すると、設定の文字列値で環境変数を直接参照できます。
シークレット参照と ${ENV} 文字列の違い
OpenClaw は、環境変数を利用する 2 つのパターンをサポートしています。
- 設定値内での
${VAR}文字列置換。 - シークレット参照をサポートするフィールド用の SecretRef オブジェクト(
{ source: "env", provider: "default", id: "VAR" })。
env ブロック自体は、SecretRef や file:...
短縮値を解決しません。
パス関連の環境変数
エージェント補助ツールのダウンロード
OpenClaw が固定バージョンのfd
および ripgrep 補助バイナリをダウンロードしないようにするには、OPENCLAW_OFFLINE=1 を設定します。OpenClaw のツール
ディレクトリにある既存の補助ツールと、動作するシステムバイナリは引き続き使用できます。補助ツールが存在しない場合は、
ネットワークリクエストを開始せず、利用不可のままとなります。
ログ
OPENCLAW_HOME
設定すると、OpenClaw の内部パスのデフォルトでは、OPENCLAW_HOME がシステムのホームディレクトリ($HOME / os.homedir())を置き換えます。これには、デフォルトの状態ディレクトリ、設定パス、エージェントディレクトリ、認証情報、インストーラーのオンボーディング用ワークスペース、openclaw update --channel dev で使用されるデフォルトの開発用チェックアウトが含まれます。
優先順位: OPENCLAW_HOME > $HOME > USERPROFILE > Android 上の Termux PREFIX ホームフォールバック > os.homedir()
例(macOS LaunchDaemon):
OPENCLAW_HOME にはチルダパス(例:~/svc)も設定でき、使用前に同じ OS ホームフォールバックチェーンを使って展開されます。
OPENCLAW_STATE_DIR、OPENCLAW_CONFIG_PATH、OPENCLAW_GIT_DIR などの明示的なパス変数が引き続き優先されます。シェル起動ファイルの検出、パッケージマネージャーのセットアップ、ホストの ~ 展開など、OS アカウントに関する処理では、実際のシステムホームが引き続き使用される場合があります。
nvm ユーザー:web_fetch の TLS エラー
Node.js がシステムのパッケージマネージャーではなく nvm 経由でインストールされている場合、組み込みのfetch() は
nvm に同梱された CA ストアを使用します。このストアには、最新のルート CA(Let’s Encrypt の ISRG Root X1/X2、
DigiCert Global Root G2 など)が含まれていない場合があります。その結果、ほとんどの HTTPS サイトで web_fetch が "fetch failed" により失敗します。
Linux では、OpenClaw が nvm を自動検出し、実際の起動環境に修正を適用します。
openclaw gateway installは、systemd サービス環境にNODE_EXTRA_CA_CERTSを書き込みますopenclawCLI エントリポイントは、Node の起動前にNODE_EXTRA_CA_CERTSを設定して自身を再実行します
node ... の直接起動用):
OpenClaw を起動する前に変数をエクスポートします。
~/.openclaw/.env への書き込みだけに依存しないでください。Node はプロセスの起動時に
NODE_EXTRA_CA_CERTS を読み取ります。
レガシー環境変数
OpenClaw が読み取るのはOPENCLAW_* 環境変数のみです。以前のリリースのレガシーな
CLAWDBOT_* および MOLTBOT_* プレフィックスは暗黙的に
無視されます。
Gateway プロセスの起動時にいずれかがまだ設定されている場合、OpenClaw は
検出されたプレフィックスと合計数を一覧表示する単一の Node 非推奨警告(OPENCLAW_LEGACY_ENV_VARS)を
出力します。レガシープレフィックスを OPENCLAW_ に置き換えて各値の名前を変更してください(例:CLAWDBOT_GATEWAY_TOKEN から
OPENCLAW_GATEWAY_TOKEN)。古い名前は一切機能しません。