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

ChatGPTデスクトップアプリのCodex、Codex CLI、VS CodeなどのIDE拡張でCodexを使っていると、作業の途中で突然次のようなエラーが出て止まることがあります。

unexpected status 401 Unauthorized

401は「認証が通らなかった」という意味ですが、原因が自分の設定ミスとは限りません。OpenAI側の障害、社内ネットワークの検査装置、設定した接続先の3つの系統があり、どれに当たるかでやることが変わります。

この記事では、エラー文の続きとログイン方式から原因を絞り込み、何をすればよいかを整理します。

⚠️ まずはCodex側の障害かどうかを確認

401はOpenAI側の障害で一斉に出ることがあります。先に稼働状況を見ると「待つ」か「直す」かがすぐ決まります。

▶ Codexで障害は今起きてる?リアルタイム稼働状況と確認方法

Codexの「401 Unauthorized」とは

表示される場所と文面

デスクトップアプリでは会話の画面に、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の「401 Unauthorized」とは

まずログイン方式を確認する

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 でのログ送信が次の手です。

メルマガ登録CTA B2(MCPカオスマップ無料プレゼント)