コンテンツにスキップ

環境変数(現在のランタイムリファレンス)

このリファレンスは、以下の現在のコードパスから導出されています:

  • packages/coding-agent/src/**
  • packages/ai/src/**(coding-agent が使用するプロバイダー/認証解決)
  • packages/utils/src/** および packages/tui/src/**(これらの変数が coding-agent のランタイムに直接影響する場合)

アクティブな動作のみを文書化しています。

ほとんどのランタイムルックアップは、@f5-sales-demo/pi-utilspackages/utils/src/env.ts)の $env を使用します。

$env の読み込み順序:

  1. 既存のプロセス環境(Bun.env
  2. プロジェクトの .env$PWD/.env)- まだ設定されていないキーのみ
  3. ホームの .env~/.env)- まだ設定されていないキーのみ

.env ファイルの追加ルール:解析時に XCSH_* キーは PI_* キーにミラーリングされます。


特に記載がない限り、getEnvApiKey()packages/ai/src/stream.ts)を介して使用されます。

変数用途必要な場合備考 / 優先順位
ANTHROPIC_OAUTH_TOKENAnthropic API 認証OAuth トークン認証で Anthropic を使用する場合プロバイダー認証解決において ANTHROPIC_API_KEY より優先
ANTHROPIC_API_KEYAnthropic API 認証OAuth トークンなしで Anthropic を使用する場合ANTHROPIC_OAUTH_TOKEN の後のフォールバック
ANTHROPIC_FOUNDRY_API_KEYAzure Foundry / エンタープライズゲートウェイ経由の AnthropicCLAUDE_CODE_USE_FOUNDRY が有効な場合Foundry モード有効時は ANTHROPIC_OAUTH_TOKEN および ANTHROPIC_API_KEY より優先
OPENAI_API_KEYOpenAI 認証明示的な apiKey 引数なしで OpenAI ファミリープロバイダーを使用する場合OpenAI Completions/Responses プロバイダーで使用
GEMINI_API_KEYGoogle Gemini 認証google プロバイダーモデルを使用する場合Gemini プロバイダーマッピングの主キー
GOOGLE_API_KEYGemini 画像ツール認証フォールバックGEMINI_API_KEY なしで gemini_image ツールを使用する場合coding-agent 画像ツールのフォールバックパスで使用
GROQ_API_KEYGroq 認証Groq モデルを使用する場合
CEREBRAS_API_KEYCerebras 認証Cerebras モデルを使用する場合
TOGETHER_API_KEYTogether 認証together プロバイダーを使用する場合
HUGGINGFACE_HUB_TOKENHugging Face 認証huggingface プロバイダーを使用する場合Hugging Face の主要トークン環境変数
HF_TOKENHugging Face 認証huggingface プロバイダーを使用する場合HUGGINGFACE_HUB_TOKEN が未設定の場合のフォールバック
SYNTHETIC_API_KEYSynthetic 認証Synthetic モデルを使用する場合
NVIDIA_API_KEYNVIDIA 認証nvidia プロバイダーを使用する場合
NANO_GPT_API_KEYNanoGPT 認証nanogpt プロバイダーを使用する場合
VENICE_API_KEYVenice 認証venice プロバイダーを使用する場合
LITELLM_API_KEYLiteLLM 認証litellm プロバイダーを使用する場合OpenAI 互換 LiteLLM プロキシキー。LITELLM_BASE_URL と併用すると models.yml の自動設定が有効になります
LM_STUDIO_API_KEYLM Studio 認証(オプション)認証付きホストで lm-studio プロバイダーを使用する場合ローカルの LM Studio は通常認証なしで動作します。キーが必要な場合は空でない任意のトークンが機能します
OLLAMA_API_KEYOllama 認証(オプション)認証付きホストで ollama プロバイダーを使用する場合ローカルの Ollama は通常認証なしで動作します。キーが必要な場合は空でない任意のトークンが機能します
LLAMA_CPP_API_KEYOllama 認証(オプション)--api-key パラメータ付きで llama-server を使用する場合ローカルの llama.cpp は通常認証なしで動作します。キーが設定されている場合は空でない任意のトークンが機能します
XIAOMI_API_KEYXiaomi MiMo 認証xiaomi プロバイダーを使用する場合
MOONSHOT_API_KEYMoonshot 認証moonshot プロバイダーを使用する場合
XAI_API_KEYxAI 認証xAI モデルを使用する場合
OPENROUTER_API_KEYOpenRouter 認証OpenRouter モデルを使用する場合優先/自動プロバイダーが OpenRouter の場合、画像ツールでも使用
MISTRAL_API_KEYMistral 認証Mistral モデルを使用する場合
ZAI_API_KEYz.ai 認証z.ai モデルを使用する場合z.ai ウェブ検索プロバイダーでも使用
MINIMAX_API_KEYMiniMax 認証minimax プロバイダーを使用する場合
MINIMAX_CODE_API_KEYMiniMax Code 認証minimax-code プロバイダーを使用する場合
MINIMAX_CODE_CN_API_KEYMiniMax Code CN 認証minimax-code-cn プロバイダーを使用する場合
OPENCODE_API_KEYOpenCode 認証OpenCode モデルを使用する場合
QIANFAN_API_KEYQianfan 認証qianfan プロバイダーを使用する場合
QWEN_OAUTH_TOKENQwen Portal 認証OAuth トークンで qwen-portal を使用する場合QWEN_PORTAL_API_KEY より優先
QWEN_PORTAL_API_KEYQwen Portal 認証API キーで qwen-portal を使用する場合QWEN_OAUTH_TOKEN の後のフォールバック
ZENMUX_API_KEYZenMux 認証zenmux プロバイダーを使用する場合ZenMux の OpenAI および Anthropic 互換ルートに使用
VLLM_API_KEYvLLM 認証/検出オプトインvllm プロバイダー(ローカル OpenAI 互換サーバー)を使用する場合認証なしのローカルサーバーでは空でない任意の値が機能します
CURSOR_ACCESS_TOKENCursor プロバイダー認証Cursor プロバイダーを使用する場合
AI_GATEWAY_API_KEYVercel AI Gateway 認証vercel-ai-gateway プロバイダーを使用する場合
CLOUDFLARE_AI_GATEWAY_API_KEYCloudflare AI Gateway 認証cloudflare-ai-gateway プロバイダーを使用する場合ベース URL は https://gateway.ai.cloudflare.com/v1/<account>/<gateway>/anthropic として設定する必要があります
変数用途チェーン
COPILOT_GITHUB_TOKENGitHub Copilot プロバイダー認証COPILOT_GITHUB_TOKENGH_TOKENGITHUB_TOKEN
GH_TOKENCopilot フォールバック; ウェブスクレイパーでの GitHub API 認証ウェブスクレイパー内: GITHUB_TOKENGH_TOKEN
GITHUB_TOKENCopilot フォールバック; ウェブスクレイパーでの GitHub API 認証ウェブスクレイパー内: GH_TOKEN より先にチェック

2) プロバイダー固有のランタイム設定

Section titled “2) プロバイダー固有のランタイム設定”

Anthropic Foundry Gateway(Azure / エンタープライズプロキシ)

Section titled “Anthropic Foundry Gateway(Azure / エンタープライズプロキシ)”

CLAUDE_CODE_USE_FOUNDRY が有効な場合、Anthropic リクエストは Foundry モードに切り替わります:

  • ベース URL は FOUNDRY_BASE_URL から解決されます(未設定の場合はモデル/デフォルトのベース URL がフォールバックとして残ります)。
  • プロバイダー anthropic の API キー解決は以下の順になります: ANTHROPIC_FOUNDRY_API_KEYANTHROPIC_OAUTH_TOKENANTHROPIC_API_KEY
  • ANTHROPIC_CUSTOM_HEADERS はカンマ/改行区切りの key: value ペアとして解析され、リクエストヘッダーにマージされます。
  • TLS クライアント/サーバーマテリアルは環境変数値から注入できます: NODE_EXTRA_CA_CERTSCLAUDE_CODE_CLIENT_CERTCLAUDE_CODE_CLIENT_KEY。 それぞれ以下のいずれかを受け入れます:
    • PEM コンテンツへのファイルシステムパス、または
    • インライン PEM(エスケープされた \n シーケンスを含む)。
変数値の型動作
CLAUDE_CODE_USE_FOUNDRYブーリアン風の文字列(1trueyesonAnthropic プロバイダーの Foundry モードを有効にする
FOUNDRY_BASE_URLURL 文字列Foundry モードでの Anthropic エンドポイントベース URL
ANTHROPIC_FOUNDRY_API_KEYトークン文字列Authorization: Bearer <token> に使用
ANTHROPIC_CUSTOM_HEADERSヘッダーリスト文字列追加ヘッダー; 形式は header-a: value, header-b: value または改行区切り
NODE_EXTRA_CA_CERTSPEM パスまたはインライン PEMサーバー証明書検証用の追加 CA チェーン
CLAUDE_CODE_CLIENT_CERTPEM パスまたはインライン PEMmTLS クライアント証明書
CLAUDE_CODE_CLIENT_KEYPEM パスまたはインライン PEMmTLS クライアント秘密鍵(証明書とペアにする必要があります)
変数デフォルト / 動作
AWS_REGIONプライマリリージョンソース
AWS_DEFAULT_REGIONAWS_REGION が未設定の場合のフォールバック
AWS_PROFILE名前付きプロファイル認証パスを有効にする
AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEYIAM キー認証パスを有効にする
AWS_BEARER_TOKEN_BEDROCKベアラートークン認証パスを有効にする
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI / AWS_CONTAINER_CREDENTIALS_FULL_URIECS タスク資格情報パスを有効にする
AWS_WEB_IDENTITY_TOKEN_FILE + AWS_ROLE_ARNウェブアイデンティティ認証パスを有効にする
AWS_BEDROCK_SKIP_AUTH1 の場合、ダミー資格情報を注入(プロキシ/非認証シナリオ)
AWS_BEDROCK_FORCE_HTTP11 の場合、Node HTTP/1 リクエストハンドラーを強制

プロバイダーコードでのリージョンフォールバック: options.regionAWS_REGIONAWS_DEFAULT_REGIONus-east-1

変数デフォルト / 動作
AZURE_OPENAI_API_KEYオプションとして API キーが渡されない限り必須
AZURE_OPENAI_API_VERSIONデフォルト v1
AZURE_OPENAI_BASE_URL直接ベース URL オーバーライド
AZURE_OPENAI_RESOURCE_NAMEベース URL の構築に使用: https://<resource>.openai.azure.com/openai/v1
AZURE_OPENAI_DEPLOYMENT_NAME_MAPオプションのマッピング文字列: modelId=deploymentName,model2=deployment2

ベース URL の解決: オプション azureBaseUrl → 環境変数 AZURE_OPENAI_BASE_URL → オプション/環境変数のリソース名 → model.baseUrl

変数必須?備考
GOOGLE_CLOUD_PROJECTはい(オプションで渡されない場合)フォールバック: GCLOUD_PROJECT
GCLOUD_PROJECTフォールバック代替プロジェクト ID ソースとして使用
GOOGLE_CLOUD_LOCATIONはい(オプションで渡されない場合)プロバイダーにデフォルトなし
GOOGLE_APPLICATION_CREDENTIALS条件付き設定されている場合、ファイルが存在する必要があります。それ以外の場合は ADC フォールバックパスがチェックされます(~/.config/gcloud/application_default_credentials.json
変数デフォルト / 動作
KIMI_CODE_OAUTH_HOSTプライマリ OAuth ホストオーバーライド
KIMI_OAUTH_HOSTフォールバック OAuth ホストオーバーライド
KIMI_CODE_BASE_URLKimi 使用エンドポイントベース URL をオーバーライド(usage/kimi.ts

OAuth ホストチェーン: KIMI_CODE_OAUTH_HOSTKIMI_OAUTH_HOSThttps://auth.kimi.com

変数デフォルト / 動作
PI_AI_ANTIGRAVITY_VERSIONGemini CLI プロバイダーの Antigravity ユーザーエージェントバージョンタグをオーバーライド

OpenAI Codex responses(機能/デバッグ制御)

Section titled “OpenAI Codex responses(機能/デバッグ制御)”
変数動作
PI_CODEX_DEBUG1/true で Codex プロバイダーのデバッグログを有効にする
PI_CODEX_WEBSOCKET1/true で WebSocket トランスポート優先を有効にする
PI_CODEX_WEBSOCKET_V21/true で WebSocket v2 パスを有効にする
PI_CODEX_WEBSOCKET_IDLE_TIMEOUT_MS正の整数オーバーライド(デフォルト 300000)
PI_CODEX_WEBSOCKET_RETRY_BUDGET非負の整数オーバーライド(デフォルト 5)
PI_CODEX_WEBSOCKET_RETRY_DELAY_MS正の整数ベースバックオフオーバーライド(デフォルト 500)
変数動作
DEBUG_CURSORプロバイダーデバッグログを有効にする; 2/verbose で詳細なペイロードスニペット表示
DEBUG_CURSOR_LOGJSONL デバッグログ出力のオプションファイルパス

プロンプトキャッシュ互換性スイッチ

Section titled “プロンプトキャッシュ互換性スイッチ”
変数動作
PI_CACHE_RETENTIONlong の場合、サポートされている場所で長期保持を有効にする(anthropicopenai-responses、Bedrock 保持解決)

変数使用元
EXA_API_KEYExa 検索プロバイダーおよび Exa MCP ツール
BRAVE_API_KEYBrave 検索プロバイダー
PERPLEXITY_API_KEYPerplexity 検索プロバイダー API キーモード
TAVILY_API_KEYTavily 検索プロバイダー
ZAI_API_KEYz.ai 検索プロバイダー(agent.db の保存済み OAuth もチェック)
OPENAI_API_KEY / DB 内の Codex OAuthCodex 検索プロバイダーの利用可能性/認証

Anthropic ウェブ検索認証チェーン

Section titled “Anthropic ウェブ検索認証チェーン”

packages/coding-agent/src/web/search/auth.ts は、以下の順序で Anthropic ウェブ検索資格情報を解決します:

  1. ANTHROPIC_SEARCH_API_KEY(+ オプションの ANTHROPIC_SEARCH_BASE_URL
  2. api: "anthropic-messages" を持つ models.json プロバイダーエントリ
  3. agent.db からの Anthropic OAuth 資格情報(5 分のバッファ内に期限切れしない必要があります)
  4. 汎用 Anthropic 環境変数フォールバック: プロバイダーキー(ANTHROPIC_FOUNDRY_API_KEY/ANTHROPIC_OAUTH_TOKEN/ANTHROPIC_API_KEY)+ オプションの ANTHROPIC_BASE_URL(Foundry モード有効時は FOUNDRY_BASE_URL

関連変数:

変数デフォルト / 動作
ANTHROPIC_SEARCH_API_KEY最優先の明示的検索キー
ANTHROPIC_SEARCH_BASE_URL省略時は https://api.anthropic.com がデフォルト
ANTHROPIC_SEARCH_MODELデフォルトは claude-haiku-4-5
ANTHROPIC_BASE_URLティア 4 認証パスの汎用フォールバックベース URL
変数動作
PI_AUTH_NO_BORROW設定されている場合、Perplexity ログインフローでの macOS ネイティブアプリトークン借用パスを無効にする

4) Python ツーリングとカーネルランタイム

Section titled “4) Python ツーリングとカーネルランタイム”
変数デフォルト / 動作
PI_PYPython ツールモードオーバーライド: 0/bash=bash-only1/py=ipy-onlymix/both=both; 無効な値は無視
PI_PYTHON_SKIP_CHECK1 の場合、Python カーネル可用性チェック/ウォームチェックをスキップ
PI_PYTHON_GATEWAY_URL設定されている場合、ローカル共有ゲートウェイの代わりに外部カーネルゲートウェイを使用
PI_PYTHON_GATEWAY_TOKEN外部ゲートウェイ用のオプション認証トークン(Authorization: token <value>
PI_PYTHON_IPC_TRACE1 の場合、カーネルモジュールの低レベル IPC トレースパスを有効にする
VIRTUAL_ENVPython ランタイム解決用の最優先 venv パス

追加の条件付き動作:

  • BUN_ENV=test または NODE_ENV=test の場合、Python 可用性チェックは OK として扱われ、ウォーミングはスキップされます。
  • Python 環境フィルタリングは一般的な API キーを拒否し、安全な基本変数 + LC_XDG_PI_ プレフィックスを許可します。

5) エージェント/ランタイム動作トグル

Section titled “5) エージェント/ランタイム動作トグル”
変数デフォルト / 動作
PI_SMOL_MODELsmol の一時的なモデルロールオーバーライド(CLI --smol が優先)
PI_SLOW_MODELslow の一時的なモデルロールオーバーライド(CLI --slow が優先)
PI_PLAN_MODELplan の一時的なモデルロールオーバーライド(CLI --plan が優先)
PI_NO_TITLE設定されている場合(空でない任意の値)、最初のユーザーメッセージでの自動セッションタイトル生成を無効にする
NULL_PROMPTtrue の場合、システムプロンプトビルダーが空文字列を返す
PI_BLOCKED_AGENTタスクツールで特定のサブエージェントタイプをブロック
PI_SUBPROCESS_CMDサブエージェントスポーンコマンドをオーバーライド(xcsh / xcsh.cmd 解決バイパス)
PI_TASK_MAX_OUTPUT_BYTESサブエージェントあたりの最大キャプチャ出力バイト数(デフォルト 500000
PI_TASK_MAX_OUTPUT_LINESサブエージェントあたりの最大キャプチャ出力行数(デフォルト 5000
PI_TIMING1 の場合、起動/ツールタイミング計測ログを有効にする
PI_DEBUG_STARTUP複数の起動パスで stderr への起動ステージデバッグ出力を有効にする
PI_PACKAGE_DIRパッケージアセットベースディレクトリの解決をオーバーライド(docs/examples/changelog パスルックアップ)
PI_DISABLE_LSPMUX1 の場合、lspmux 検出/統合を無効にし、直接 LSP サーバースポーンを強制
LITELLM_BASE_URLLiteLLM プロキシベース URL。LITELLM_API_KEY と併用すると、初回実行時に models.yml の自動生成をトリガーし、起動ごとに自己修復を行う
LM_STUDIO_BASE_URLデフォルトの暗黙的 LM Studio 検出ベース URL オーバーライド(未設定の場合は http://127.0.0.1:1234/v1
OLLAMA_BASE_URLデフォルトの暗黙的 Ollama 検出ベース URL オーバーライド(未設定の場合は http://127.0.0.1:11434
LLAMA_CPP_BASE_URLデフォルトの暗黙的 Llama.cpp 検出ベース URL オーバーライド(未設定の場合は http://127.0.0.1:8080
PI_EDIT_VARIANThashline の場合、編集ツールが利用可能な場合にハッシュライン読み取り/grep 表示モードを強制
PI_NO_PTY1 の場合、bash ツールのインタラクティブ PTY パスを無効にする

PI_NO_PTY は CLI --no-pty が使用された場合にも内部的に設定されます。


6) ストレージと設定ルートパス

Section titled “6) ストレージと設定ルートパス”

これらは @f5-sales-demo/pi-utils/dirs を介して使用され、coding-agent がデータを保存する場所に影響します。

変数デフォルト / 動作
PI_CONFIG_DIRホームディレクトリ下の設定ルートディレクトリ名(デフォルト .xcsh
PI_CODING_AGENT_DIRエージェントディレクトリの完全オーバーライド(デフォルト ~/<PI_CONFIG_DIR or .xcsh>/agent
PWDパスヘルパーでの正規カレントワーキングディレクトリのマッチングに使用

packages/utils/src/procmgr.ts および coding-agent bash ツール統合より。)

変数動作
PI_BASH_NO_CIスポーンされたシェル環境への自動 CI=true 注入を抑制
CLAUDE_BASH_NO_CIPI_BASH_NO_CI のレガシーエイリアスフォールバック
PI_BASH_NO_LOGINログインシェルモードを無効にすることを意図
CLAUDE_BASH_NO_LOGINPI_BASH_NO_LOGIN のレガシーエイリアスフォールバック
PI_SHELL_PREFIXオプションのコマンドプレフィックスラッパー
CLAUDE_CODE_SHELL_PREFIXPI_SHELL_PREFIX のレガシーエイリアスフォールバック
VISUAL優先外部エディターコマンド
EDITORフォールバック外部エディターコマンド

現在の実装に関する注記: PI_BASH_NO_LOGIN/CLAUDE_BASH_NO_LOGIN は読み取られますが、現在の getShellArgs() は両方のブランチで ['-l','-c'] を返します(実質的に現在は no-op)。


8) UI/テーマ/セッション検出(自動検出される環境変数)

Section titled “8) UI/テーマ/セッション検出(自動検出される環境変数)”

これらはランタイムシグナルとして読み取られます。通常、手動設定ではなくターミナル/OS によって設定されます。

変数用途
COLORTERM, TERM, WT_SESSIONカラー機能検出(テーマカラーモード)
COLORFGBGターミナル背景のライト/ダーク自動検出
TERM_PROGRAM, TERM_PROGRAM_VERSION, TERMINAL_EMULATORシステムプロンプト/コンテキストでのターミナルアイデンティティ
KDE_FULL_SESSION, XDG_CURRENT_DESKTOP, DESKTOP_SESSION, XDG_SESSION_DESKTOP, GDMSESSION, WINDOWMANAGERシステムプロンプト/コンテキストでのデスクトップ/ウィンドウマネージャー検出
KITTY_WINDOW_ID, TMUX_PANE, TERM_SESSION_ID, WT_SESSIONターミナルごとの安定したセッションブレッドクラム ID
SHELL, ComSpec, TERM_PROGRAM, TERMシステム情報診断
APPDATA, XDG_CONFIG_HOMElspmux 設定パス解決
HOMEMCP コマンド UI でのパス短縮

9) ネイティブローダー/デバッグフラグ

Section titled “9) ネイティブローダー/デバッグフラグ”
変数動作
PI_DEVpackages/natives での詳細なネイティブアドオンロード診断を有効にする

10) TUI ランタイムフラグ(共有パッケージ、coding-agent の UX に影響)

Section titled “10) TUI ランタイムフラグ(共有パッケージ、coding-agent の UX に影響)”
変数動作
PI_NOTIFICATIONSoff / 0 / false でデスクトップ通知を抑制
PI_TUI_WRITE_LOG設定されている場合、TUI 書き込みをファイルにログ記録
PI_HARDWARE_CURSOR1 の場合、ハードウェアカーソルモードを有効にする
PI_CLEAR_ON_SHRINK1 の場合、コンテンツが縮小した際に空の行をクリア
PI_DEBUG_REDRAW1 の場合、再描画デバッグログを有効にする
PI_TUI_DEBUG1 の場合、詳細な TUI デバッグダンプパスを有効にする

変数動作
PI_COMMIT_TEST_FALLBACKtrue(大文字小文字不問)の場合、コミットフォールバック生成パスを強制
PI_COMMIT_NO_FALLBACKtrue の場合、エージェントが提案を返さなかった場合のフォールバックを無効にする
PI_COMMIT_MAP_REDUCEfalse の場合、マップリデュースコミット分析パスを無効にする
DEBUG設定されている場合、コミットエージェントのエラースタックトレースが出力される

これらはシークレットとして扱ってください。ログに記録したりコミットしたりしないでください:

  • プロバイダー/API キーおよび OAuth/ベアラー資格情報(すべての *_API_KEY*_TOKEN、OAuth アクセス/リフレッシュトークン)
  • クラウド資格情報(AWS_*GOOGLE_APPLICATION_CREDENTIALS パスはサービスアカウントマテリアルを露出する可能性があります)
  • 検索/プロバイダー認証変数(EXA_API_KEYBRAVE_API_KEYPERPLEXITY_API_KEY、Anthropic 検索キー)
  • Foundry mTLS マテリアル(CLAUDE_CODE_CLIENT_CERTCLAUDE_CODE_CLIENT_KEY、プライベート CA バンドルを指す場合の NODE_EXTRA_CA_CERTS

Python ランタイムも、カーネルサブプロセスをスポーンする前に多くの一般的なキー変数を明示的にストリップします(packages/coding-agent/src/ipy/runtime.ts)。