Codex では、継続して使う設定を config.toml に保存します。特定のシェルで設定を上書きする場合や、自動化に使うシークレットを渡す場合、インストーラーの動作を変更する場合、診断を行う場合は、環境変数を使います。
このページでは、Codex が直接読み取る、安定版として公開されている環境変数を紹介します。内部開発用やテスト用の変数、および env_key で任意に指定するプロバイダー固有のシークレット名は対象外です。
主な保存先
| 変数 | 使用箇所 | デフォルト | 説明 |
|---|---|---|---|
CODEX_HOME |
CLI、IDE 拡張機能、app-server、インストーラー | ~/.codex |
Codex の状態を保存するルートディレクトリを指定します。設定、認証情報、ログ、セッション、スキル、スタンドアロンパッケージのメタデータがここに保存されます。指定するディレクトリは、あらかじめ作成しておく必要があります。 |
CODEX_SQLITE_HOME |
CLI と app-server の状態管理 | CODEX_HOME |
SQLite で管理する状態の保存先を指定します。設定オプション sqlite_home が優先されます。相対パスは現在の作業ディレクトリを基準に解決されます。 |
CODEX_HOME 配下に保存されるファイルについては、「設定と状態の保存先」を参照してください。
複数の Linux ホストから同じデータベースを開く場合は、「NFS ホームディレクトリでの Codex の実行」を参照してください。
インストーラーの環境変数
以下の変数は、https://chatgpt.com/codex/install.sh および https://chatgpt.com/codex/install.ps1 で配布されているスタンドアロン版のインストールスクリプトに適用されます。
| 変数 | デフォルト | 説明 |
|---|---|---|
CODEX_NON_INTERACTIVE |
false |
1、true、yes のいずれかに設定すると、インストーラーの確認プロンプトを省略します。各プロンプトにはデフォルトの回答が使われるため、初回セットアップには使わず、スクリプトでインストールや更新を行う場合に使ってください。 |
CODEX_INSTALL_DIR |
macOS/Linux では ~/.local/bin、Windows では %LOCALAPPDATA%\Programs\OpenAI\Codex\bin |
ユーザーが呼び出す codex コマンドのインストール先を変更します。スタンドアロンパッケージのキャッシュは引き続き CODEX_HOME/packages/standalone 配下に保存されます。 |
無人インストールを行うには、ダウンロードしたインストーラーを実行するシェルで CODEX_NON_INTERACTIVE=1 を設定します。
curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 sh
$env:CODEX_NON_INTERACTIVE=1; irm https://chatgpt.com/codex/install.ps1 | iex
認証とネットワーク
| 変数 | 使用箇所 | 説明 |
|---|---|---|
CODEX_API_KEY |
Exec、レビュー、TypeScript SDK、リモートの exec-server | 非対話型の Codex プロセスに API キーを渡します。リポジトリ側で管理されているコードを実行する場合は、ジョブ全体に設定せず、対象のコマンドにインラインで指定してください。 |
CODEX_ACCESS_TOKEN |
CLI、app-server、信頼できる自動化環境 | 信頼できる自動化環境に ChatGPT または Codex のアクセストークンを渡します。ログイン状態を保存するには、トークンをパイプで codex login --with-access-token に渡します。 |
OPENAI_FEDERATION_RULE_ID |
ワークロード ID | ワークロードに対して設定されたフェデレーションルールを選択します。 |
OPENAI_IDENTITY_TOKEN_FILE |
ワークロード ID | 現在の OIDC トークンまたは SPIFFE JWT-SVID を格納したファイルの絶対パスを指定します。 |
OPENAI_WORKLOAD_IDENTITY_CONTEXT |
ワークロード ID | 監査時に操作の帰属先を特定できるよう、クライアントが報告する識別子を任意で指定します。識別子は制限付きの JSON 形式で渡します。認証や認可には影響しません。 |
CODEX_CA_CERTIFICATE |
HTTPS、ログイン、WebSocket の各クライアント | 企業ネットワークで TLS インターセプションを行う場合や、プライベートルート証明書を使う場合に、PEM 形式の CA バンドルのパスを指定します。SSL_CERT_FILE より優先されます。 |
SSL_CERT_FILE |
HTTPS、ログイン、WebSocket の各クライアント | CODEX_CA_CERTIFICATE が設定されていない場合に使う PEM 形式の CA バンドルのパスです。 |
プロバイダーの API キーを使うには、モデルプロバイダーの設定で env_key を指定します。Codex はそこで指定した名前の変数を読み取るため、変数名は固定ではありません。
自動化でのシークレットの扱いについては、「API キー認証の使用」を参照してください。アクセストークンの設定については、「アクセストークン」を参照してください。
診断
| 変数 | 使用箇所 | 説明 |
|---|---|---|
RUST_LOG |
CLI と app-server | Rust のログのフィルタリングと詳細度を制御します。codex exec は、より詳細なログレベルを指定しない限り、デフォルトで error レベルのログを出力します。 |
RUST_LOG には error、warn、info、debug、trace などの値を指定できます。codex_core=debug,codex_tui=debug のように、対象を絞った Rust のログフィルターも指定できます。
対話型 CLI はデフォルトで、保存量に上限のあるローカルストレージに診断情報を記録します。プレーンテキストの codex-tui.log ファイルへの出力は、明示的に有効にした場合のみ行われます。トラブルシューティングにプレーンテキストのログが必要な場合は、log_dir を明示的に指定してください。
RUST_LOG=debug codex -c log_dir=./.codex-log
tail -F ./.codex-log/codex-tui.log
非対話モードでは、codex exec は個別の TUI ログファイルに書き込まず、実行時の出力にメッセージを直接表示します。