Codex環境変数不足の直し方|Windowsで認証経路を確認
Codexで「missing environment variable」と表示されると、すぐにAPIキーを作り直したくなります。しかし、ChatGPTのサインインとAPIキー経路は別物です。9月10日にAgents APIが公開ベータとなり、ローカルCLIとホスト環境の違いも重要になりました。9月26日の安定版と27日の先行版を基準に、Windowsでの確認順を整理します。
Codexの環境変数不足は、単に値が空という意味とは限りません。ChatGPTサインインならAPIキー用の変数が不要な場合があり、反対にAPIキー経路を選んだCLIやアプリではOPENAI_API_KEYが起動したプロセスへ渡っていることが重要です。まず画面に出た文言と、どの入口からCodexを起動したかを分けて確認します。
いま確認方法を見直す理由は、OpenAIが9月10日にCodexの基盤を使うAgents APIを公開ベータにし、ローカルのCodex CLI、OpenAI管理の実行環境、自分で管理する環境を別々に説明しているからです。さらに公式リリース一覧では、0.157.1が9月26日のLatest、0.159.0-alpha.9が9月27日のPre-releaseとして並んでいます。入口と版を記録すると、設定の問題と版の問題を混同しにくくなります。
Windowsでは、環境変数を登録しても、すでに開いているターミナルやアプリへ直ちに届くとは限りません。現在のプロセス・ユーザー設定・新しく起動するプロセスを順番に確認し、値そのものを画面へ表示しないことが基本です。この記事では認証情報を貼り付けずに存在だけを調べ、必要な経路だけを直す手順を紹介します。
目次 (21)
- missing environment variable codex の意味
- エラー文だけでAPIキー不足と決めない
- OPENAI_API_KEYとCODEX_API_KEYは同じ用途ではない
- いま確認したいCodexの更新と環境の境界
- 公式情報と手元の状態を分けて読む
- Windowsで環境変数の有無だけを調べる
- Step 1: 現在のPowerShellから見えるか確認する
- Step 2: ユーザー設定と現在のプロセスを比較する
- Step 3: Codexがどの入口から起動したかを固定する
- OPENAI_API_KEYが不足している場合の直し方
- Step 1: 今のセッションだけで試す
- Step 2: 新しいターミナルで再確認する
- Step 3: 直した後に値を残しすぎない
- CODEX_API_KEYが出てきたときの切り分け
- ローカルCLIとホスト環境を分ける
- WIFを設定した環境だけは別の確認をする
- 直らないときの確認順と判断基準
- Step 1: 版番号と入口を記録する
- Step 2: 認証状態を値なしで確認する
- Step 3: 変数ではなくサービス側の状態も見る
- まとめ
missing environment variable codex の意味
「missing environment variable codex」という検索語で探している現象は、Codexが必要な設定を見つけられず、処理を始める前に止まる状態です。ただし、すべての利用者が同じ環境変数を設定する必要があるわけではありません。ChatGPTアカウントでブラウザサインインを使う場合と、OpenAI APIのキーで認証する場合では、参照する情報の保管場所も確認するコマンドも異なります。
エラー文だけでAPIキー不足と決めない
まずエラー文を全文で保存し、codex を実行した入口を確認します。PowerShellから起動したCodex CLIなのか、デスクトップアプリなのか、IDEから呼び出されたCLIなのかで、引き継がれる環境変数が変わります。ChatGPTサインインの状態を確認するメッセージなのに、APIキーの設定だけを追加すると、別の認証経路を選んでしまうことがあります。
OpenAIの Codex認証ドキュメント は、CLIでのサインインとAPIキー利用を分けて案内しています。したがって、最初の判断は「どの変数を足すか」ではなく、「この利用方法はブラウザサインインか、APIキーか」です。表示された一行を検索してすぐ設定を増やすより、入口と認証方式を先に確定するほうが安全です。
OPENAI_API_KEYとCODEX_API_KEYは同じ用途ではない
ローカルでOpenAI APIへ接続する代表的な環境変数は OPENAI_API_KEY です。一方、Agents APIのホスト環境では、実行環境を接続するための CODEX_API_KEY が登場します。後者は、ローカルCLIのAPIキー不足を直すために名前を変えて設定するものではありません。
OpenAIの Agents API環境のセキュリティ説明 では、環境キーは実行環境を接続する用途に限定されると説明されています。変数名にCodexが含まれているからといって、すべてのCodexで同じ意味になるわけではありません。変数名、起動場所、利用するサービスを一組で記録してください。
いま確認したいCodexの更新と環境の境界
2026年9月10日、OpenAIは Introducing the Agents API を公開し、Codexを支える基盤をAPIから利用できる公開ベータを始めました。この案内では、OpenAIが管理するサンドボックス、自分の環境、外部の環境を選べると説明されています。環境ごとに変数を読み込む場所が違うため、ローカルWindowsで設定した値が、そのままホスト環境へ渡るとは考えないでください。
9月26日にはCodex CLIの 0.157.1 がLatestとして公開され、9月27日には 0.159.0-alpha.9 がPre-releaseとして公開されています。公式ページでは安定版と先行版が同じ一覧に並ぶため、「最新版」という言葉だけで版を判断すると確認条件がずれます。現在の版を codex --version で記録し、再現した入口と一緒にメモしておくと、環境変数の不足と版の差を分けて調べられます。
公式情報と手元の状態を分けて読む
公式ドキュメントは、対応する認証方式や変数名を示します。手元のエラーは、実際に起動したプロセスがどの値を受け取ったかを示します。この二つは同じ情報ではありません。たとえば、Windowsのユーザー設定へ値があっても、古いPowerShellから起動したアプリにはまだ届いていないことがあります。
調査メモには、確認日時を固定日付の2026-09-30として、Codexの版、起動入口、認証方式、エラー全文、変数は「設定済み/未設定」だけを書きます。キーの値、トークン、認証ファイルの中身を貼る必要はありません。これだけでも、誰がどの経路で同じ症状を見たかを比較できます。
Windowsで環境変数の有無だけを調べる
WindowsのPowerShellでは、値を表示せずに OPENAI_API_KEY の存在を確認できます。ここで確認したいのはキーが正しいかではなく、Codexを起動するプロセスから見える場所に値があるかです。ユーザー設定に値があっても現在のプロセスにない、という状態は珍しくありません。
Step 1: 現在のPowerShellから見えるか確認する
まず、いま開いているPowerShellだけを調べます。次の確認ではキーの中身を出さず、Present が True かどうかだけを表示します。
$value = [Environment]::GetEnvironmentVariable('OPENAI_API_KEY', 'Process')
[pscustomobject]@{
Variable = 'OPENAI_API_KEY'
Present = -not [string]::IsNullOrWhiteSpace($value)
}
Present が False で、APIキー経路を使う予定なら、現在のPowerShellには値が届いていません。反対にChatGPTサインインを使う予定なら、False だからといって直ちに異常とは限りません。ここではまだ設定を書き換えず、利用経路との整合だけを判断します。
Step 2: ユーザー設定と現在のプロセスを比較する
次に、Windowsへ保存されたユーザー設定と、現在のプロセスを同じ形式で比較します。User が True なのに Process が False なら、設定後にターミナルを開き直していない可能性があります。Machine は管理者が管理する範囲なので、個人の修復でいきなり変更する必要はありません。
foreach ($scope in @('Process', 'User', 'Machine')) {
$value = [Environment]::GetEnvironmentVariable('OPENAI_API_KEY', $scope)
[pscustomobject]@{
Scope = $scope
Present = -not [string]::IsNullOrWhiteSpace($value)
}
}
この結果を保存するときも、値そのものは記録しません。OpenAIの SDKとCLIの設定案内 では、Windowsでユーザー環境変数を設定する例として setx OPENAI_API_KEY が示されていますが、setx の反映先は新しく起動したプロセスです。実行直後の同じ画面でCodexを続けて試すのではなく、新しいターミナルを開いてから再確認します。
Step 3: Codexがどの入口から起動したかを固定する
PowerShellで Present が True になっても、デスクトップアプリやIDEが同じ値を見ているとは限りません。設定後は、同じ種類の入口を一つだけ選び、codex --version と codex login status をその入口から実行します。アプリを先に開いていた場合は、アプリを終了して新しいプロセスとして起動し直します。
ここでChatGPTサインインを選ぶなら、APIキーを追加せず codex login を実行し、codex login status の結果を確認します。APIキー経路を選ぶなら、OPENAI_API_KEY の存在を確認してから短い読み取り作業を試します。二つの経路を同時に直そうとすると、どちらの修正が効いたのか分からなくなります。
OPENAI_API_KEYが不足している場合の直し方
APIキー経路を使うと決めた場合だけ、OPENAI_API_KEY を用意します。キーの発行場所や権限の条件はアカウントとプロジェクトの設定に依存するため、値を記事や画面へ貼り付けず、OpenAIの公式画面で作成してください。既存のキーがある場合も、まず値を再表示せず、存在・対象プロジェクト・利用経路を確かめます。
Step 1: 今のセッションだけで試す
一時的な切り分けでは、ユーザー設定へ永続的に書き込む前に、現在のPowerShellだけへ値を渡します。実際の値は利用者自身の安全な入力方法で設定し、記事や共有ログには残さないでください。設定後は、同じウィンドウで存在確認をもう一度行い、Codexを起動します。
$env:OPENAI_API_KEY = 'ここに自分のAPIキーを入力'
$value = [Environment]::GetEnvironmentVariable('OPENAI_API_KEY', 'Process')
[pscustomobject]@{ Present = -not [string]::IsNullOrWhiteSpace($value) }
この方法はPowerShellを閉じると消えるため、原因の切り分けに向いています。値を設定してもエラーが変わらない場合は、キーの発行元や利用対象が異なる、Codexが別の入口で起動している、または実はChatGPTサインインを使うべき状況である可能性があります。
Step 2: 新しいターミナルで再確認する
ユーザー設定へ保存する必要がある場合は、OpenAI公式のWindows例に沿って setx OPENAI_API_KEY "ここに自分のAPIキーを入力" を使えます。ただし、これは現在のPowerShellを書き換えません。コマンドを実行したらウィンドウを閉じ、新しいPowerShellを開いてからStep 1の存在確認を実行します。
新しいターミナルで Present が True になったら、同じターミナルから codex --version、続けて codex login status を確認します。APIキー経路での状態表示が利用版によって異なる場合は、まずCodexの起動エラー全文と版番号を残し、公式の Codex変更履歴 と 公式リリース一覧 を照合します。
Step 3: 直した後に値を残しすぎない
PowerShellの履歴、画面共有、診断ログ、リポジトリ内の設定ファイルには、APIキーを含めないようにします。確認に必要なのは、変数名、存在の真偽、認証方式、版番号、エラーの種類です。誤って公開場所へ貼り付けた場合は、そのキーを使い続けず、OpenAIの公式管理画面で無効化や作り直しを検討します。
CODEX_API_KEYが出てきたときの切り分け
Agents APIやホストされたサンドボックスを調べていると、CODEX_API_KEY という別の変数名が登場します。これはローカルのCodex CLIをAPIキー経路で使うときの OPENAI_API_KEY と同じ意味ではありません。環境の接続に使う値をローカルのPowerShellへ追加しても、ローカルCodexの認証が直るとは限らないため、どのサービスが表示したエラーかを先に確定します。
ローカルCLIとホスト環境を分ける
ローカルCLIでは、ChatGPTサインイン、またはOpenAI APIのキーという二つの入口をまず確認します。Agents APIの環境では、APIを呼び出すアプリケーション、エージェントが動く環境、その環境へ接続するキーが分かれます。OpenAIの Agents API環境の認証説明 でも、アプリ側の OPENAI_API_KEY と実行環境側の値を分けて説明しています。
この境界を確認するには、エラーが出た画面、実行したコマンド、使った環境名を三つに分けて記録します。Windows上のCodex CLIならPowerShellの確認結果を見ます。ホスト環境のエラーなら、その環境を作成した設定とログを確認します。ローカルの変数を増やして解決しないなら、対象を取り違えている可能性が高いでしょう。
WIFを設定した環境だけは別の確認をする
組織でワークロードID連携を設定している場合は、通常のAPIキーやChatGPTサインインとは別の変数とファイルを使います。OpenAIの Workload identity federationの説明 は、Codexプロセスへ必要な環境変数を読み込み、OPENAI_IDENTITY_TOKEN_FILE に絶対パスを渡すことを確認項目にしています。
この方式を自分で設定していない個人利用者は、通常のAPIキー手順へ無理に置き換える必要はありません。組織管理者から指定された変数名、ファイルの場所、対象のユーザーまたはサービスアカウントを確認し、値そのものを共有せずに不足箇所だけを直します。方式を変更すると権限や請求の経路まで変わるため、エラーを消す目的だけで切り替えないことが大切です。
直らないときの確認順と判断基準
環境変数を設定したのにCodexが動かない場合は、「変数があるか」と「その値で認証できるか」を分けます。存在確認が True でも、別プロジェクトのキー、無効化されたキー、対象モデルを使えないキーなら処理は失敗します。逆に、ChatGPTサインインが有効なのにAPIキー不足の表示が出る場合は、意図しない認証経路が選ばれている可能性があります。
Step 1: 版番号と入口を記録する
最初に codex --version、起動したPowerShellやアプリの種類、表示されたエラー全文を記録します。2026年9月30日時点では、公式リリース一覧に安定版と先行版が並んでいるため、版番号を省略した「最新版」というメモは再現性が低くなります。WindowsのPowerShell、デスクトップアプリ、IDE拡張を同じものとして扱わず、どこで止まったかを書き残します。
Step 2: 認証状態を値なしで確認する
ChatGPTサインインを使う予定なら codex login status を確認し、未ログインなら codex login を実行します。APIキー経路なら OPENAI_API_KEY の存在を確認し、キーの値は表示しません。両方が混ざっている場合は、いったん入口を一つに決めてから、短い読み取り作業で確かめます。
Step 3: 変数ではなくサービス側の状態も見る
値が存在し、認証方式も合っているのに失敗するなら、OpenAIの APIエラーコード と Codex公式リポジトリのIssue を確認します。401はキーや組織、プロジェクトの組み合わせが原因になることがあり、環境変数の有無だけでは解決しません。公式の障害情報が出ている場合は、設定を何度も変えずに発生時刻と版番号を残します。
まとめ
Codexの「missing environment variable」は、まず環境変数の存在を疑うべき表示ですが、APIキーを足せば必ず解決する問題ではありません。ChatGPTサインインとAPIキー利用、ローカルCLIとAgents APIの実行環境を分けて考え、WindowsではProcess・User・Machineのどこに値があるかを値なしで調べます。
2026年9月30日時点の確認では、9月26日の 0.157.1 がLatest、9月27日の 0.159.0-alpha.9 がPre-releaseです。版番号と入口を記録したうえで、APIキー経路だけに OPENAI_API_KEY を用意し、ホスト環境の CODEX_API_KEY と混同しないことが復旧の近道です。設定を増やす前に、表示されたエラー、認証方式、プロセスの境界を一つずつ確認してください。