Codexで「401 Unauthorized」が出る原因|ログイン方式別の直し方

ChatGPTデスクトップアプリのCodex、Codex CLI、VS CodeなどのIDE拡張でCodexを使っていると、作業の途中で突然次のようなエラーが出て止まることがあります。
unexpected status 401 Unauthorized
401は「認証が通らなかった」という意味ですが、原因が自分の設定ミスとは限りません。OpenAI側の障害、社内ネットワークの検査装置、設定した接続先の3つの系統があり、どれに当たるかでやることが変わります。
この記事では、エラー文の続きとログイン方式から原因を絞り込み、何をすればよいかを整理します。
⚠️ まずはCodex側の障害かどうかを確認
401はOpenAI側の障害で一斉に出ることがあります。先に稼働状況を見ると「待つ」か「直す」かがすぐ決まります。
表示される場所と文面
デスクトップアプリでは会話の画面に、CLIではターミナルに表示され、多くは「unexpected status 401 Unauthorized:」のあとに説明の英文と通信先のURLなどが続きます。
たとえば2026年9月25日(米国時間)にGitHubへ寄せられた報告では、続きが「Incorrect API key provided」でした。この続きの英文が原因を見分ける手がかりです。
意味は「認証が通らなかった」
Codexはサーバーへ依頼を送るたびに、ログイン済みであることを示す情報(ChatGPTのログイン情報かAPIキー)を添えています。401はその情報が受け付けられなかったときの番号で、情報の誤りだけでなく、途中の通信で情報が落ちた場合やOpenAI側の不具合でも出ます。
似たエラーとの違い
作業が突然止まる点は同じでも、「Selected model is at capacity」はサーバーの混雑、429は送信回数の上限に当たったことを示し、どちらも認証の問題ではありません。401が出たときは、待つより先にログインの状態と通信経路を疑います。
関連記事:Codexで「Selected model is at capacity」と出る原因と対処

まずログイン方式を確認する
Codexの公式の認証ドキュメントによれば、サインインの方法は2つあります。どちらを使っているかで401の原因と直し方が変わります。
ChatGPTでサインインしている場合
ChatGPTのプランの利用枠でCodexを使う方式です。サインイン時はブラウザが開き、その後の認証情報の更新は使っている間にCodexが自動で行います。
会社の管理者がログイン方法やワークスペースを指定している場合、条件に合わない認証ではCodexがログアウトして終了します。
APIキーでサインインしている場合
OpenAIの管理画面で作ったAPIキーで使う方式です。料金は通常のAPI料金で、ChatGPTのプランの利用枠は使いません。自動処理での利用に向いた方式です。
確認するコマンド
CLIでは次のコマンドで、今どちらの方式で認証しているかを表示できます。アプリとIDE拡張ではプロフィールメニューで確認できます。
codex login status
ログイン情報は ~/.codex/auth.json か、OSの資格情報の保管場所に保存され、CLIとIDE拡張は同じログイン情報を共有しています。なお、このファイルには認証用の情報が入っているため、公式は次のように注意しています。
Treat ~/.codex/auth.json like a password: it contains access tokens.(訳:~/.codex/auth.json はパスワードと同じように扱ってください。アクセストークンが含まれています。)

エラー文の続きで原因を見分ける
「401 Unauthorized:」に続く英文は、主に次の3通りが報告されています。
| エラー文の続き | 主な原因 | まずやること |
|---|---|---|
| Incorrect API key provided | APIキーの誤り。ChatGPTでサインイン中なら障害の可能性 | 稼働状況を見る→APIキーを確認 |
| …your ChatGPT login did not make it… | 社内ネットワークで認証情報が落ちている | ネットワーク管理者に伝える |
| {"detail":"Unauthorized"} | 独自の接続先やアクセストークンの認証 | 接続先と認証方式を見直す |
Incorrect API key providedと出る
APIキーで使っている場合は、キーの誤りや削除をまず疑います。注意したいのは、ChatGPTでサインインしていてAPIキーを一切設定していない人にも、この文が出た例があることです。
unexpected status 401 Unauthorized: Incorrect API key provided: sk-svcac***(伏せ字), url: https://chatgpt.com/backend-api/codex/responses
これは日本時間2026年9月26日の7時33分ごろから8時47分ごろにかけて起きたOpenAI側の障害です。公式の事後報告によると、ChatGPTでサインインしていた利用者に401と502が出ました。内部のサービス同士が使う認証情報を、漏えい検知の仕組みが誤って無効にしたことが原因です。
Codex access through customer-provided API keys was unaffected.(訳:利用者が用意したAPIキーでのCodexの利用には影響がありませんでした。)
ChatGPTでサインインしているのに「APIキーが違う」と出たら、設定を変える前に障害を疑いましょう。
ChatGPT login did not make it と出る
unexpected status 401 Unauthorized: We got your request, but your ChatGPT login did not make it to this service., url: https://chatgpt.com/backend-api/codex/responses
2026年2〜4月にGitHubで100件超のやり取りが続いた事例で、OpenAIの担当者は4月17日にこの件を次のように結論づけています。
That means the request reached OpenAI, but the expected ChatGPT auth did not arrive with it.(訳:リクエストはOpenAIに届いたが、本来一緒に届くはずのChatGPTの認証情報が届いていない、という意味です。)
調べた例の原因は、Cisco Umbrellaなどのセキュリティ製品や、通信の中身を検査する仕組み(TLSインスペクション)、プロキシ設定といった利用者側のネットワーク経路でした。自分のパソコンでは直らないため、管理者への相談が必要です。
{"detail":"Unauthorized"}と出る
この文は説明がなく原因を1つに決められませんが、報告例は2つあります。先ほどのGitHubのやり取りの初期には、設定ファイル(config.toml)でAzure上のモデルを接続先にしていた人の401があり、担当者は「Azure側に問い合わせてほしい」と答えています。独自の接続先を設定している場合は、OpenAIではなく接続先側の認証を確認します。
また、Businessプランでアクセストークン(人が操作しない自動処理向けの認証情報)を使ったコマンド実行がこの文で失敗するという報告もあり、2026年11月2日時点で未解決のままです。
ログイン方式別の直し方
上から順に試します。手順3はAPIキーで使っている人、手順4は会社のネットワークから使っている人向けです。
手順1:稼働状況を確認する
まずCodex稼働状況ページで、障害が出ていないかを確認します。多くの人で同時に401が出ているなら、設定をいじらず復旧を待つのが正解です。
手順2:サインインし直す
障害が出ていないのに401が続く場合は、一度ログアウトして入り直します。CLIでは次の2つを順に実行し、開いたブラウザでログインします。アプリとIDE拡張はプロフィールメニューからログアウトしてやり直します。
codex logout
codex login
手順3:APIキーを確認する
APIキーで使っている場合、OpenAIのAPIエラー一覧には401が4種類載っています。表示された文に合わせて、次のように確認します。
- Invalid Authentication:キーと組織の指定が正しいか確認
- Incorrect API key provided:キーが正しいか確認し、必要なら作り直す
- You must be a member of an organization to use the API:組織への招待を管理者に依頼
- IP not authorized:プロジェクトのIP制限に今の接続元が入っているか確認
キーを作り直したら、CLIでは次のように環境変数に入れたキーを渡してサインインし直します。
printenv OPENAI_API_KEY | codex login --with-api-key
手順4:社内のネットワーク管理者に伝える
「ChatGPT login did not make it」が出た場合や、社内ネットワークのときだけ401になる場合は、OpenAIの担当者がGitHubで示した内容をもとに、エラー文と次の3点を管理者に伝えます。
- ポート443のHTTPSで通信していること
- 通信先は
https://chatgpt.com/backend-api/codex/responsesとhttps://chatgpt.com/backend-api/codex/modelsであること - 途中の検査装置が
Authorizationヘッダーを書き換えたり削除したりしていないか確認してほしいこと

サインイン自体ができない場合
ログインの段階で失敗する場合は、公式の認証ドキュメントに専用の手順があります。
リモート環境ではデバイスコード認証
リモートのサーバーなどブラウザが開けない環境や、ログイン後の戻りの通信が止められる環境では、デバイスコード認証(ベータ版)が推奨されています。codex login --device-auth を実行し、表示されたリンクを手元のブラウザで開いて、1回限りのコードを入力します。事前に、個人はChatGPTのセキュリティ設定、ワークスペースは管理者の権限設定で有効にしておく必要があります。
社内のTLS検査がある場合
会社のネットワークが通信を検査するプロキシや、独自のルート証明書を使っている場合は、ログインの前に環境変数 CODEX_CA_CERTIFICATE へ証明書ファイル(PEM形式)の場所を指定します。この設定はログイン後の通常の通信にも使われます。ログインの失敗を調べるときは、CLIの codex login が書き出す codex-login.log も手がかりになります。
アプリの更新直後に戻される場合
Mac版アプリでは、自動更新(26.814.41407)の直後に既存の会話を開くと401でログイン画面に戻される、という報告があります。11月2日時点で未解決です。ログインし直しても繰り返す場合は、アプリの更新を待つか、CLIで作業を続けるのが現実的です。
直らない時の代替手段
一時的にAPIキーでサインインする
ChatGPTでのサインインだけが失敗する障害では、APIキーに切り替えると作業を続けられることがあります。9月26日にも公式の障害情報で次のように案内されました。
Login via API key will unblock access at this time.(訳:現時点では、APIキーでのログインで利用できるようになります。)
ただし、APIキーでの利用はChatGPTのプランの枠ではなく、通常のAPI料金がかかります。復旧したらChatGPTでのサインインに戻しましょう。
/feedbackでログを送る
障害も出ておらず、ここまでの手順でも直らない場合は、OpenAIへ記録を送ります。GitHubでOpenAIの担当者は、401を再現させたうえでCodexの中で /feedback と入力してログを送り、表示されたIDを報告に添えるよう案内しています。
まとめ
Codexの「401 Unauthorized」は認証が通らなかったという意味ですが、原因はOpenAI側の障害、社内ネットワーク、設定した接続先の3系統に分かれます。まず稼働状況と codex login status でのログイン方式を確かめ、エラー文の続きで原因を絞り込みましょう。急ぎのときはAPIキーでの一時的なサインイン、直らないときは /feedback でのログ送信が次の手です。




