「codex 401」と検索している人の多くは、Codex CLI、VS Code / Cursor拡張、Codex App、MCP連携、APIキー利用のどこかで、401 Unauthorizedstream error: exceeded retry limit, last status: 401 Unauthorized にぶつかっているはずです。画面上は同じ401でも、実際には「ChatGPTログインの認証情報が古い」「APIキー権限が足りない」「プロバイダー設定が混ざっている」「MCP側の認可が切れている」など、原因がいくつかに分かれます。

この記事では、OpenAI Developer Community、GitHub Issues、Vercel Community、Figma Forumなどで確認できる事例をもとに、codex 401の見方、よくある原因、再ログイン・auth.json退避・APIキー権限・環境変数・MCP再認証までを整理します。体験談ではなく、公開されている事例を横断して「まずどこを見るべきか」がわかる形にまとめます。

この記事のポイント
✅ codex 401で最初に確認すべき場所
✅ 401エラーとは何か、なぜ起きるのか
✅ ChatGPTログインとAPIキー利用で対処が違う理由
✅ VS Code / Cursor / Codex App / MCP / 外部プロバイダー別の切り分け方
本日のセール・タイムセールをまとめてチェックできます。

codex 401でまず疑う認証まわりの全体像

codex 401でまず疑う認証まわりの全体像
  1. 401エラーの解消方法はまず再ログインとauth.json退避から試すこと
  2. 401エラーとは認証に失敗したときに返るエラーであること
  3. 401エラーの原因はログイン情報・APIキー・権限・環境変数に分かれること
  4. codex 401はChatGPTログインとAPIキー利用で対処が変わること
  5. VS CodeやCursorのcodex 401は古い認証ファイルが残っている可能性があること
  6. APIキー利用のcodex 401は権限と反映待ちを確認すること

401エラーの解消方法はまず再ログインとauth.json退避から試すこと

【AI】【業務効率化】【職場】401エラーの解消方法はまず再ログインとauth.json退避から試すこと

codex 401で最初に見るべきなのは、Codex側が今どの認証情報を使っているかです。OpenAI Developer Communityでは、VS Code / Cursorプラグインで stream error: exceeded retry limit, last status: 401 Unauthorized が出た事例に対して、.codex/auth.json を退避し、再ログインする方法が共有されています。特に「ChatGPTでログインする」方式を使っている場合、古い認証情報が残っているだけで401が出る可能性があります。

この方法は、難しい設定変更ではありません。いったんエディタやCodex関連アプリを終了し、認証ファイルをバックアップ名に変更してから、もう一度ログインし直す流れです。ただし、ファイルを消すのではなく退避にしておくのが安全です。万一別の問題だった場合でも、元の状態を確認しやすくなります。

🔧 基本の切り分け手順

順番 確認すること 目的
1 VS Code / Cursor / Codex Appを終了 認証ファイルの読み込み中を避ける
2 ~/.codex/auth.json を退避 古い認証情報を使わせない
3 Codexを再起動 新しい認証フローを出す
4 ChatGPTログインを選択 APIキー混在を避ける
5 再度コマンドを実行 401が消えたか確認

Windowsの場合は、環境によってパスが少し変わることがあります。一般的にはユーザーフォルダ配下の .codex を確認します。PowerShellで探すなら、$env:USERPROFILE\.codex のような場所を確認するのが自然です。WSLを使っている場合は、Windows側とWSL側で .codex が別になることもあるため、どちらのCodexを起動しているかも見ます。

💻 環境別のauth.json確認先

環境 見る場所の例 注意点
macOS / Linux ~/.codex/auth.json コミュニティ事例でよく出る形式
Windows PowerShell $env:USERPROFILE\.codex\auth.json Windows版Codex App利用時はこちらを確認
WSL /home/<user>/.codex/auth.json Windows側とは別管理の可能性
VS Code Remote リモート先のホーム配下 ローカルとリモートで認証が分かれる場合あり

OpenAI Developer Communityの事例では、auth.json を退避して再ログインしたことで解消したという反応が複数あります。もちろん、すべての401がこれで直るとは言い切れません。APIキー利用、外部プロバイダー、MCP認可の問題では別の確認が必要です。

参考: 「mv ~/.codex/auth.json ~/.codex/auth.json.bak」という対処が共有されています。
https://community.openai.com/t/fix-for-vscode-cursor-plugin-stream-error-exceeded-retry-limit-last-status-401-unauthorized/1358372

重要なのは、最初からAPIキーを作り直したり、Codexを何度も再インストールしたりしないことです。401は「認証されていない」という意味なので、まずは現在保存されている認証状態をリセットして、正しい入口からログインし直すのが効率的です。


401エラーとは認証に失敗したときに返るエラーであること

【AI】【業務効率化】【職場】401エラーとは認証に失敗したときに返るエラーであること

401エラーは、一般的には「リクエストに必要な認証が通っていない」状態を示すHTTPステータスです。Codexで表示される401も、多くの場合は「Codexが送ったリクエストに対して、サーバー側が認証できないと判断した」という意味で考えると整理しやすくなります。

ただし、画面に出る文言は少しずつ違います。401 UnauthorizedMissing Authentication headerOpenAI rejected the requestexceeded retry limit などが組み合わさることがあります。見た目が違っても、まずは「認証情報がない、古い、違う、権限が足りない」のどれかを疑うのが基本です。

📌 401表示の読み方

表示例 ざっくりした意味 最初に見る場所
401 Unauthorized 認証に失敗 ログイン状態・APIキー
Missing Authentication header 認証ヘッダーが送られていない可能性 環境変数・プロバイダー設定
exceeded retry limit 再試行しても通らなかった 根本原因は401側
OpenAI rejected the request OpenAI側で認証拒否 APIキー・ログイン方式
Token exchange failed ログイン連携の交換処理に失敗 再ログイン・ブラウザ認証

Codexの401では、exceeded retry limit という言葉に引っ張られすぎないほうがよいです。これは「何度か再試行したが、最後まで401だった」という意味合いに近く、原因そのものは再試行回数ではなく認証側にあります。再試行を増やしても、認証情報が間違っていれば解決しないことが多いです。

🧭 エラー文と対応のマトリクス

エラーの中心 よくある状況 優先対応
認証ファイル ChatGPTログイン後に突然401 auth.json退避と再ログイン
APIキー APIキーでログイン後に401 キー権限・キー保存場所を確認
環境変数 外部プロバイダー利用時に401 env名と値の有無を確認
MCP Figmaなどの連携で401 プラグイン再認証・CLI経由設定
プロバイダー OpenRouter / Vercelなどで401 baseURL / envKey / modelを確認

「401エラーとは何エラーですか?」という検索意図に対しては、ログインやAPIキーなどの認証が通っていないエラーと答えるのが自然です。ただし、Codexの場合は単純なパスワード間違いだけではなく、保存済みトークン、APIキー権限、プロバイダー設定、MCP認可など複数の層があります。

特に外部プロバイダーを使っている場合は、「Codexが悪い」のか「プロバイダー側のキーが悪い」のかを分ける必要があります。Vercel Communityの事例では、直接curlでAPIに投げて200が返るかどうかを確認する話が出ています。これは、Codexを通さずキー単体の有効性を見るための切り分けです。

参考: Vercel Communityでは、curlで直接APIを試し、Codex側とキー側を分けて確認する流れが示されています。
https://community.vercel.com/t/401-unauthorized-from-v0-dev-api-when-using-codex-cli/13431

つまり、codex 401は「Codexで起きている401」ではありますが、原因はCodex本体だけとは限りません。認証ファイル、APIキー、環境変数、プロバイダー、MCP認可のどこで止まっているかを順番に見ることが、遠回りに見えて最短です。


401エラーの原因はログイン情報・APIキー・権限・環境変数に分かれること

【AI】【業務効率化】【職場】401エラーの原因はログイン情報・APIキー・権限・環境変数に分かれること

「401エラーの原因は?」と検索している人にまず伝えたいのは、原因を1つに決め打ちしないことです。Codex関連の事例を見ると、同じ401でも発生場所が違います。VS Code / Cursor拡張では保存済み認証ファイル、CLIではAPIキー、外部プロバイダーでは環境変数、Codex AppのMCPでは認可連携が問題になっている例があります。

原因を切り分けるときは、エラー文そのものよりも「何を使ってCodexを動かしているか」を先に見ます。ChatGPTログインなのか、OpenAI APIキーなのか、VercelやOpenRouterなどのプロバイダーなのか、Figma MCPのような連携なのかで、見る場所が変わります。

🧩 codex 401の主な原因分類

原因カテゴリ 起きやすい場面 具体例
古いログイン情報 ChatGPTログイン利用 auth.jsonが古い
APIキー権限不足 APIキー利用 Read-onlyやRestrictedで通らない可能性
反映待ち キー権限を変更直後 数分待つ必要がある場合
環境変数ミス 外部プロバイダー OPENROUTER_API_KEYなどが空
provider設定ミス Vercel / OpenRouter baseURLやenvKeyの不一致
MCP認可不良 Figmaなど プラグイン認証が通っていない

APIキーの権限については、OpenAI Developer Communityの事例で「All permissionにしたら動いた」「変更後は5分ほど待つ必要がありそう」という投稿があります。これは個別事例であり、常に同じとは言い切れませんが、APIキー利用時の401ではかなり重要な確認ポイントです。

🔑 APIキー利用時の確認ポイント

確認項目 見る理由 補足
キーが正しいか 別キーや古いキーを使っていないか コピー時の欠落にも注意
権限が足りるか Restrictedだと通らない場合あり 事例ではAll permissionで解消報告あり
変更後に待ったか 権限反映に時間がかかる可能性 数分待って再試行
envに入っているか CLIが参照できないと401 別シェルでは未設定のことあり
auth.jsonに保存されたか Codexがそこから読む場合あり envやconfigより優先関係に注意

また、環境変数の問題は見落としやすいです。たとえばPowerShell、cmd、WSL、VS Code内ターミナルでは、それぞれ環境変数の見え方が違うことがあります。「さっき設定したはず」でも、別のターミナルや別の環境でCodexを起動していると、値が渡っていない可能性があります。

外部プロバイダーでは、envKey の名前も重要です。OpenRouterならOpenRouter用、Vercel v0ならVercel用のキー名をCodex設定が参照している必要があります。キーが有効でも、Codexが別の環境変数を見ていれば401になります。

結論として、codex 401の原因は大きく分けて「保存済みログイン」「APIキー」「権限」「環境変数」「プロバイダー設定」「MCP認可」です。まず自分の利用パターンを分類し、その分類に合う場所から確認するほうが、無駄な再インストールを避けやすくなります。


codex 401はChatGPTログインとAPIキー利用で対処が変わること

【AI】【業務効率化】【職場】codex 401はChatGPTログインとAPIキー利用で対処が変わること

Codexでは、ChatGPTログインを使うケースと、APIキーを使うケースがあります。この2つは似ているようで、401の直し方がかなり違います。ChatGPTログインではブラウザ認証や保存済みトークンが中心になり、APIキー利用ではキーの値、権限、保存場所、環境変数が中心になります。

OpenAI Developer CommunityのVS Code / Cursor事例では、「ChatGPTでログインし直す」対処が共有されています。一方、APIキー利用の人は同じ方法だけでは直らず、キー権限や保存先を確認する必要があるという流れになっています。つまり、自分がどちらの認証方式を選んだかが第一分岐です。

🚦 認証方式別の最初の一手

利用方式 最初に試すこと 次に見ること
ChatGPTログイン /logout や再ログイン auth.json退避
OpenAI APIキー キー権限確認 auth.json / env / config
外部APIキー 直接curlで確認 provider設定
MCP連携 プラグイン再認証 CLI経由でMCP設定
不明 Codexのログイン状態確認 .codex配下の設定

ChatGPTログインの場合、エラーが突然出たならセッション切れやトークン不整合が考えられます。特に、モデル更新やアプリ更新のタイミングで認証状態が噛み合わなくなる可能性があります。公開事例でも、gpt-5-codexリリース後に401が出るようになり、認証ファイル退避で直ったという流れが見られます。

🧪 ChatGPTログイン側の切り分け

症状 可能性 対応
突然401になった 保存済みトークンが古い ログアウト・再ログイン
VS Codeだけ失敗 拡張が古い認証を参照 エディタ終了後にauth退避
ブラウザ認証後も失敗 認証交換の不整合 再起動・別ブラウザ確認
AppとCLIで挙動が違う 参照設定が別 それぞれの.codexを見る

APIキー利用では、話が変わります。キーそのものが無効、権限が足りない、権限変更がまだ反映されていない、Codexが別のキーを見ている、などが起きます。GitHub Issue #2896では、APIキーでログインしてコマンドを実行すると401が出る事例が報告されています。

参考: GitHubのopenai/codex Issue #2896では、APIキー利用時の401が報告されています。
https://github.com/openai/codex/issues/2896

ここで注意したいのは、APIキーを環境変数にもconfigにもauth.jsonにも入れてしまうと、どれが使われているか分かりにくくなることです。事例では「auth.jsonに入っていれば十分で、envやconfigに追加しなくてもよさそう」という投稿もありますが、これは環境やバージョンで変わる可能性があります。

そのため、codex 401では「ログインし直す」だけでなく、自分はChatGPTログインなのか、APIキーなのか、外部プロバイダーなのかを先に決めてから対処しましょう。認証方式を混ぜたまま試行錯誤すると、原因がかえって見えにくくなります。


VS CodeやCursorのcodex 401は古い認証ファイルが残っている可能性があること

【AI】【業務効率化】【職場】VS CodeやCursorのcodex 401は古い認証ファイルが残っている可能性があること

VS CodeやCursorでCodexを使っている場合、CLI単体とは別に、拡張機能側が保存済みの認証情報を参照している可能性があります。そのため、ターミナルではログインできているように見えても、拡張側では401が出続けることがあります。

OpenAI Developer Communityの事例では、VS Code / Cursorを終了し、~/.codex/auth.jsonauth.json.bak に変更してから再起動し、ChatGPTログインを選ぶ流れが紹介されています。この流れで直ったという返信も複数あります。つまり、VS Code / Cursor周りでは古い認証ファイルの残留が有力な原因の1つです。

🧰 VS Code / Cursor向けの確認表

確認項目 内容 補足
エディタを閉じたか 認証ファイルの再読み込みを確実にする 起動中だと反映しない場合あり
auth.jsonを退避したか 古いトークンを使わせない 削除より退避が安全
ChatGPTログインを選んだか APIキー混在を避ける 事例ではこちらが有効
拡張を再起動したか 新しい認証を読ませる VS Code本体ごと再起動
CLIでも確認したか 拡張固有か全体か切り分け CLIで動けば拡張側の可能性

また、CursorやVS Codeでは、拡張機能の更新、Codex側の更新、モデル更新が重なると、以前の認証状態が合わなくなる可能性があります。もちろん、これは推測の域を出ませんが、公開事例ではgpt-5-codexリリース後に同様の401が増えたという文脈があります。

📎 やりがちな遠回り

遠回りな対応 なぜ先にやらないほうがよいか 先にやること
拡張を何度も再インストール 認証ファイルが残ると変わらない可能性 auth.json退避
APIキーを何本も作る ChatGPTログインの問題なら無関係 ログイン方式を確認
PCを何度も再起動 認証情報が変わらなければ同じ 保存ファイルを確認
configを書き換える 参照元がauthなら効かない可能性 どこを読んでいるか確認

VS Code / Cursorで401が出る人は、「Codex CLIではどうか」も確認するとよいです。CLIでも401なら認証全体の問題、CLIでは動くが拡張だけ失敗するなら拡張側の認証参照やMCP連携の問題に寄せて考えられます。

短く言えば、VS Code / Cursorのcodex 401は、拡張の不具合と決める前に、古い認証情報を退避して再ログインするのが第一候補です。特にChatGPTログイン利用者は、この手順が最もシンプルな確認になります。


APIキー利用のcodex 401は権限と反映待ちを確認すること

【AI】【業務効率化】【職場】APIキー利用のcodex 401は権限と反映待ちを確認すること

APIキーでCodexを使っている場合、401の原因は「キーが間違っている」だけではありません。権限が足りない、キー変更直後で反映されていない、Codexが別のキーを参照している、キーを保存した場所が想定と違う、などが考えられます。

OpenAI Developer CommunityのAPIキー利用者の投稿では、Read-onlyやRestrictedではうまくいかず、All permissionにしたら動いたという趣旨の報告があります。また、権限変更後に数分待つ必要がありそうだという話もあります。これは個別事例ですが、APIキー利用時の401では優先度の高い確認です。

🔐 APIキー権限の確認表

状態 起きる可能性 対応
Read-only リクエストが許可されない可能性 必要権限を見直す
Restricted 対象APIに権限がない可能性 利用範囲を確認
All permission 事例上は解消報告あり セキュリティ方針と相談
変更直後 反映前の可能性 数分待って再試行
古いキー 失効・削除済みの可能性 新しいキーと差し替え

APIキーを使うときは、保存先も重要です。Codexが初回ログイン時にAPIキーを auth.json に保存する場合、環境変数やconfigに同じキーを重ねて入れる必要がないこともあります。逆に複数箇所に違うキーがあると、「どのキーで401が出ているのか」が分かりにくくなります。

🧭 キー保存場所ごとの注意点

保存場所 メリット 注意点
auth.json Codexが直接参照しやすい 古いキーが残ると混乱
環境変数 CLIや外部ツールで使いやすい ターミナルごとに見え方が違う
config.toml / config.yaml 設定として管理しやすい バージョンで形式が違う可能性
シェル設定ファイル 永続化しやすい WSL / Windowsで別管理
拡張機能の入力欄 GUIで簡単 実際の保存先が見えにくい

APIキー利用者がやるべきことは、まずキーの有効性を単体で確認することです。OpenAIのAPIキーであればOpenAI側の確認、Vercel v0のキーであればVercel APIへ直接確認、OpenRouterであればOpenRouterのAPIへ直接確認する、という形です。Codexを挟まないテストで401なら、Codexではなくキー側の問題に寄ります。

GitHub Issue #1332やVercel Communityの事例では、Vercel v0のAPIキーを使ったときの401が話題になっています。そこでは、curlで直接APIを叩いて401か200かを見る流れが重要視されています。これは、Codex設定の問題とAPIキー自体の問題を分けるためです。

参考: Vercel v0 APIキーをCodex CLIで使う際の401事例。
https://github.com/openai/codex/issues/1332

APIキー利用のcodex 401では、「キーを入れ直したのに直らない」と感じることが多いです。しかし実際には、権限、反映待ち、保存場所、参照先のズレが絡みます。まずはキーを1つに絞り、どこに保存され、Codexが何を読んでいるかを見える状態にするのが近道です。

ふるさと納税のポイント付与は2025年10月に廃止になりました。

codex 401を潰すための実践チェックリスト

【AI】【業務効率化】【職場】APIキー利用のcodex 401は権限と反映待ちを確認すること
  1. Codex CLIの401は/logout後の再ログインで直る場合があること
  2. Codex AppやMCPの401はプラグイン認可を疑うこと
  3. OpenRouterやVercelの401は認証ヘッダーと環境変数を見ること
  4. 「codex 401」についてAI回答を見る前に公式コミュニティとIssueを確認すること
  5. 再インストールより先に設定ファイルと参照キーを整理すること
  6. それでも直らない場合は最小再現とログを揃えて問い合わせること
  7. 総括:codex 401のまとめ

Codex CLIの401は/logout後の再ログインで直る場合があること

【AI】【業務効率化】【職場】Codex CLIの401は/logout後の再ログインで直る場合があること

Codex CLIで stream error: exceeded retry limit, last status: 401 Unauthorized が出る場合、まずはCLIのログイン状態を疑います。OpenAI Developer CommunityのCodex CLI関連スレッドでは、/logout してログインし直す、API利用なら環境変数を確認する、という方向のコメントがあります。

CLIでは、認証情報がターミナル環境、.codex 配下のファイル、設定ファイルのいずれかに依存します。そのため、GUIアプリよりも切り分けはしやすい一方で、複数環境を使っていると混乱しやすいです。Windows、WSL、VS Code内ターミナル、PowerShellで状態が違うこともあります。

🧪 CLIで最初に試す順番

順番 操作 目的
1 Codexのログイン方式を確認 ChatGPTかAPIキーかを分ける
2 /logout またはログアウト操作 古い認証を外す
3 再ログイン 新しい認証情報を取得
4 まだ401ならauth.json退避 保存済み情報をリセット
5 APIキー利用ならenv確認 キーが渡っているか確認

/logout で直るケースは、ログイン情報が期限切れ、破損、またはアカウント切り替えで不整合を起こしている場合に考えられます。ただし、APIキーや外部プロバイダーの問題では、ログアウトだけでは直らない可能性があります。

🧩 CLIの401切り分けマトリクス

CLIでの状況 推測される方向 次の確認
ChatGPTログイン後に401 セッション不整合 /logout → 再ログイン
APIキー入力後に401 キー権限・キー保存 権限とauth.json確認
外部providerで401 env / config envKeyとbaseURL確認
AppでもCLIでも401 共通認証の問題 .codex全体を確認
CLIだけ401 CLI側設定の問題 configと実行環境確認

OpenAI Developer CommunityのCLIスレッドでは、数時間使ったあとに401が出続けるようになったという投稿もあります。このような場合、サーバー側の一時的な問題の可能性もゼロではありませんが、まず自分の認証状態を更新するほうが現実的です。

参考: Codex CLIで401が出る事例と、ログアウト・再ログインの提案。
https://community.openai.com/t/codex-cli-toast-exceeded-retry-limit-401-unauthorized/1361830

CLIの良いところは、エラーの再現が取りやすいことです。どのコマンドで、どのモデルで、どのproviderで、どの環境変数を使ったかを記録すれば、問い合わせ時にも伝えやすくなります。逆に、毎回違う設定を試すと原因が追えなくなります。

Codex CLIの401では、ログアウト・再ログイン、auth.json退避、APIキー権限、環境変数の順で確認するのが実務的です。特に複数の認証方式を試したあとなら、一度設定を整理してから再テストするのが重要です。


Codex AppやMCPの401はプラグイン認可を疑うこと

【AI】【業務効率化】【職場】Codex AppやMCPの401はプラグイン認可を疑うこと

Codex AppでFigmaなどのMCP連携を使っている場合、401はOpenAIアカウントのログインだけでなく、MCPサーバーや外部サービス側の認可で起きている可能性があります。Figma Forumでは、Codex App内のFigmaプラグインで401が出続けた事例があり、プラグインの削除・再追加、再認証、VPN確認などが話題になっています。

この種の401は、通常のCodex CLIの401と少し違います。Codex本体にはログインできていても、Figma MCPの認可だけが通っていなければ、MCP操作時に401になる可能性があります。つまり、「Codexにログインできているから認証問題ではない」とは言い切れません。

🔌 MCP連携で見る場所

確認対象 内容 補足
Codex本体ログイン OpenAIアカウント側 ここが通っていてもMCPは別
MCPプラグイン Codex App内の連携 削除・再追加で改善する場合あり
外部サービス認可 Figmaなどの接続許可 connected appsを確認
ネットワーク VPNや社内制限 別回線で変わるか確認
CLI経由設定 App側設定の代替 事例ではCLI経由で改善報告あり

Figma Forumのやり取りでは、プラグインを何度も再インストールしても直らず、VPNでもなく、最終的にCodex CLIをインストールしてCLI経由でFigma MCPを入れたらCodex App側も動いた、という流れが紹介されています。これは個別事例ですが、App側のMCP設定がうまく作られていない場合の参考になります。

🧭 MCP 401の切り分け順

順番 試すこと 判断できること
1 プラグイン削除・再追加 認可の作り直しで直るか
2 ブラウザで再認証 外部サービスの承認が通るか
3 VPNを切る / 別回線 ネットワーク要因か
4 connected apps確認 認可済みとして見えているか
5 CLI経由でMCP設定 App側設定不備の回避になるか

MCPの401では、Codexのログイン情報だけを何度も消しても直らないことがあります。なぜなら、問題がOpenAIログインではなく、Figmaなど外部サービスとの接続許可にあるかもしれないからです。プラグインごとに認証の仕組みがあると考えると理解しやすいです。

参考: Figma Forumでは、Codex AppのFigmaプラグインで401が出る事例が共有されています。
https://forum.figma.com/report-a-problem-6/figma-plug-in-does-not-work-in-codex-app-53545

MCP関連で401が出るときは、「Codex本体」「MCP設定」「外部サービス認可」「ネットワーク」の4層に分けると整理できます。特にチーム内の複数人で同じ401が出る場合、個人のトークンだけでなく、プラグイン側やネットワーク側の問題も候補になります。

Codex AppやMCPの401は、再ログインだけで終わらせず、プラグイン認可を作り直すことが大切です。削除・再追加、外部サービス側のconnected apps確認、必要に応じたCLI経由の設定まで見ると、原因に近づきやすくなります。


OpenRouterやVercelの401は認証ヘッダーと環境変数を見ること

【AI】【業務効率化】【職場】OpenRouterやVercelの401は認証ヘッダーと環境変数を見ること

CodexでOpenRouter、Vercel v0、DeepSeek、Geminiなど外部プロバイダーを使う場合、401はOpenAI側ではなく外部プロバイダー側から返っていることがあります。この場合、Codexのログインを直しても改善しない可能性があります。

GitHub Issue #13888では、OpenRouterのResponses API向けURLで Missing Authentication header が出ている事例があります。この文言は、APIキーが送られていない、またはCodex設定が期待した環境変数を参照できていない可能性を考える材料になります。

🌐 外部プロバイダー利用時の見る場所

項目 確認内容
baseURL 正しいAPIエンドポイントか https://openrouter.ai/api/v1 など
envKey 正しい環境変数名か OPENROUTER_API_KEY
環境変数の値 空ではないか 同じシェルで確認
model名 provider側で使えるか 指定ミスに注意
認証ヘッダー Bearerが付くか 直接curlで確認

外部プロバイダーで大事なのは、Codexを通さず直接APIを叩くテストです。Vercel Communityでは、curlで直接Vercel v0 APIに投げ、200が返るか確認する流れが示されています。直接curlで401ならキーやプロバイダー側の問題、curlで200なのにCodexで401ならCodex設定や環境変数参照の問題に寄ります。

🧪 direct APIテストの考え方

結果 解釈 次に見る場所
curlでも401 キー側・権限側の問題が濃い プロバイダー管理画面
curlは200、Codexは401 Codex設定側が怪しい config / envKey
curlが環境により違う 環境変数の引き継ぎ問題 実行シェル
Missing header キーが送られていない可能性 envの空値
別キーで変わる キー個別の問題 キー再発行や権限

Vercelの事例では、OPENAI_API_KEY と外部プロバイダー用キーが混在していることが原因に見える報告もあります。Codexが本来のproviderではなくOpenAI側のキーを使ってしまう、あるいはprovider切り替えが期待通りに効かない、といった問題です。

参考: OpenRouter向けURLで Missing Authentication header が出るGitHub Issue。
https://github.com/openai/codex/issues/13888

外部プロバイダーの401では、Codexの「provider」「model」「baseURL」「envKey」の組み合わせを1セットで確認します。どれか1つでもズレると、正しいキーを持っていても401になります。特にWindowsとWSLをまたぐ場合、環境変数を設定した場所とCodexを実行する場所が違うことがあるため注意が必要です。

つまり、OpenRouterやVercelのcodex 401は、OpenAIログイン問題ではなく、認証ヘッダーが正しく作られているかの問題として見るべき場面があります。直接APIテストでキー単体を確認し、その後Codex設定を確認する順番がわかりやすいです。


「codex 401」についてAI回答を見る前に公式コミュニティとIssueを確認すること

【AI】【業務効率化】【職場】「codex 401」についてAI回答を見る前に公式コミュニティとIssueを確認すること

検索結果には「『codex 401』についてAI回答を見る」という意図も含まれています。AI回答は概要をつかむには便利ですが、401のような環境依存のエラーでは、実際のIssueやコミュニティ投稿のほうが具体的な手がかりになることがあります。

特にCodexは、CLI、App、拡張機能、MCP、外部providerなど利用形態が広いです。AI回答だけを見ると「再ログインしてください」で終わりがちですが、実際にはAPIキー権限、auth.json、envKey、MCP認可、provider設定など、別々の原因が混在しています。

📚 情報源ごとの使い方

情報源 向いていること 注意点
OpenAI Developer Community 同様の症状と対処例 個別環境の報告も多い
GitHub Issues バージョン・再現条件の確認 Close済みでも参考になる
Vercel Community 外部provider固有の確認 OpenAI側とは別問題
Figma Forum MCP / プラグイン連携 Codex本体以外の認可を見る
AI回答 全体像の把握 最新状況は必ず確認したい

AI回答を使うなら、エラー文をそのまま入れるより、状況を分けて質問したほうが精度が上がります。たとえば「Codex CLIでChatGPTログイン後に401」「CodexでOpenRouter providerを使うとMissing Authentication header」「Figma MCP in Codex Appで401」のように、利用形態を入れると原因候補が絞られます。

🔎 検索・質問時に入れるべき情報

入れる情報 なぜ必要か
Codex CLI / App / VS Code / Cursor 対処が変わる
ChatGPTログイン / APIキー 認証方式が違う
エラー全文 Missing headerなどが手がかり
OS Windows / WSL / macOSでパスが違う
provider OpenAI / Vercel / OpenRouterで確認先が違う
model名 provider側対応モデルか確認できる

GitHub Issue #2896では、Codexのバージョン、モデル、OS、再現手順、実際のエラーが整理されています。この形式は、自分で問い合わせるときにも役立ちます。単に「401で動きません」より、再現条件があるほうが原因を見つけやすいです。

参考: Codexの401 Issueでは、バージョン・モデル・OS・再現手順が整理されています。
https://github.com/openai/codex/issues/2896

また、Redditの検索結果が出ることもありますが、今回確認できる範囲では本文が取得できず「Please wait for verification」と表示されるものがありました。このようなページは中身を確認できないため、根拠としては扱いにくいです。読める一次情報に近いページを優先したほうが安全です。

結論として、「codex 401」についてAI回答を見るのは入口としては有用です。ただし実際に直す段階では、公式コミュニティ、GitHub Issue、利用中providerのコミュニティ、MCP提供元のフォーラムを確認し、自分の環境に近い事例を探すほうが実用的です。


再インストールより先に設定ファイルと参照キーを整理すること

【AI】【業務効率化】【職場】再インストールより先に設定ファイルと参照キーを整理すること

codex 401が続くと、Codex本体や拡張機能を再インストールしたくなります。しかし公開事例を見る限り、再インストールだけでは解消しないケースがあります。理由は、認証ファイルや設定ファイルが残っていれば、再インストール後も同じ古い情報を読み続ける可能性があるからです。

先にやるべきなのは、Codexが参照している設定ファイルとキーを整理することです。auth.jsonconfig.tomlconfig.yamlconfig.json、環境変数、拡張機能の設定などが候補になります。どれか1つに古いキーや別providerの設定が残っていると、401の原因になります。

🧹 再インストール前の整理リスト

対象 何を確認するか メモ
auth.json 古いログインやAPIキーがないか 退避して再ログイン
config系ファイル provider / model / envKey 形式は環境で異なる
環境変数 不要なキーが残っていないか WSLとWindowsで別
拡張機能設定 APIキー入力欄やログイン状態 VS Code / Cursor
MCP設定 外部サービス認可 Figmaなど

特に外部providerを試したあとにOpenAIへ戻す場合、設定が混ざることがあります。Vercel Communityの事例では、provider切り替えやconfigコマンドの挙動に関する問題も話題になっています。バージョンやNode環境によっては、設定コマンドが期待通り動かない可能性もあるため、設定ファイルの中身を直接確認する価値があります。

🧭 参照キーを整理する考え方

状況 起きやすい問題 整理方針
OpenAI APIキーと外部キーが両方ある 誤ったキーを使う 使わないキーを一時的に外す
envとauth.jsonに別キー どちらが使われるか不明 片方に寄せる
WindowsとWSLで設定が違う 片方だけ直している 実行環境側を確認
providerを何度も変えた baseURLやmodelが混在 現在使うproviderだけ残す
GUIとCLIを併用 保存先が複数 CLIで再現確認する

再インストールは最後の手段ではありませんが、最初の手段としては効率が悪いことが多いです。アプリを入れ直しても .codex 配下が残るなら、認証状態は変わらない可能性があります。逆に、設定ファイルを正しく整理すれば、再インストールなしで直ることがあります。

また、設定ファイルを触るときは、削除ではなくバックアップが安全です。auth.json.bak のように名前を変えて残せば、必要に応じて戻せます。特に仕事環境や複数providerを使っている場合、いきなり削除すると復旧が面倒になるかもしれません。

codex 401では、再インストールよりも先に「今Codexがどの認証情報を使っているか」を見える化することが大切です。使う認証方式を1つに絞り、不要な環境変数や古い設定を外してから試すと、原因が見えやすくなります。


それでも直らない場合は最小再現とログを揃えて問い合わせること

【AI】【業務効率化】【職場】それでも直らない場合は最小再現とログを揃えて問い合わせること

ここまで確認してもcodex 401が直らない場合は、闇雲に設定を変え続けるより、問い合わせやIssue投稿に使える材料を揃えたほうがよいです。GitHub Issuesの投稿例を見ると、バージョン、モデル、OS、再現手順、実際のエラー文があると状況が伝わりやすくなります。

最小再現とは、「問題が起きる最も短い手順」のことです。たとえば、codex --provider vercel --model v0-1.0-md で401になる、curlでは200になる、WindowsではだめだがWSLでは違う、というように条件を絞ります。これにより、Codex側の問題か、キー側の問題か、環境側の問題かが見えやすくなります。

📝 問い合わせ前に集める情報

項目 目的
Codexの種類 CLI / App / VS Code拡張 対象を明確にする
バージョン About CodexやCLI表示 既知不具合と照合
OS Windows / WSL / macOS パスやenv差を確認
認証方式 ChatGPT / APIキー / provider 原因候補を絞る
エラー全文 401本文・request id 調査の手がかり
再現手順 何を実行したか 第三者が追える

ログを出すときは、APIキーやトークンをそのまま貼らないように注意が必要です。キーの末尾数文字や、キーの種類だけなら文脈として役立つことがありますが、完全なキーを公開すると悪用リスクがあります。GitHub Issueでもキーの一部だけを伏せる形が見られます。

🔒 公開してよい情報・伏せる情報

種類 扱い
Codexバージョン 公開してよい
OS情報 公開してよい範囲が多い
エラー文 キーが含まれなければ公開可
APIキー全文 公開しない
auth.json本文 原則公開しない
request id サポート用途では役立つ場合あり

問い合わせ先は、問題の所在に合わせて選びます。OpenAIログインやCodex CLI本体ならOpenAI CommunityやGitHub Issues、Vercel v0ならVercel Community、Figma MCPならFigma Forumやプラグイン提供元、OpenRouterならOpenRouter側の確認が候補になります。

また、既存Issueがある場合は、新規投稿より既存Issueの内容を確認したほうが早いことがあります。Closedになっていても、回避策や重複先へのリンクがある場合があります。GitHub Issue #13888のようにduplicateとして閉じられているものも、関連する本体Issueを追う入口になります。

それでも原因が特定できない場合は、「直接APIでは通るか」「Codexだけで落ちるか」「ChatGPTログインでも落ちるか」「別providerでも落ちるか」を整理して伝えましょう。ここまで分けると、サポート側も「認証ファイル」「provider設定」「キー権限」「ネットワーク」のどれを見るべきか判断しやすくなります。


総括:codex 401のまとめ

【AI】【業務効率化】【職場】総括:codex 401のまとめ

最後に記事のポイントをまとめます。

  1. codex 401は認証に失敗している状態を示すエラーである。
  2. exceeded retry limit は再試行の結果であり、根本原因は401側にある。
  3. ChatGPTログイン利用時は、まずログアウト・再ログインを試すべきである。
  4. VS CodeやCursorでは、古い auth.json が残って401になる場合がある。
  5. auth.json は削除より退避が安全である。
  6. APIキー利用時は、キーの値だけでなく権限も確認する必要がある。
  7. APIキー権限を変更した直後は、反映まで数分待つ場合がある。
  8. OpenRouterやVercelなど外部providerでは、環境変数と認証ヘッダーを確認すべきである。
  9. curlなどで直接APIを試すと、キー側とCodex側を切り分けやすい。
  10. Codex AppやMCPの401は、OpenAIログインではなくプラグイン認可が原因の場合がある。
  11. 再インストールより先に、認証ファイル・config・環境変数を整理すべきである。
  12. Windows、WSL、VS Codeターミナルでは、同じ環境変数が見えているとは限らない。
  13. AI回答だけで判断せず、公式コミュニティやGitHub Issueの事例を確認すべきである。
  14. 直らない場合は、Codexの種類、バージョン、OS、認証方式、エラー全文、再現手順を揃えるべきである。
  15. codex 401は原因を分類して順番に潰せば、解決に近づきやすいエラーである。

記事作成にあたり参考にさせて頂いたサイト

各サイト運営者様へ
有益な情報をご公開いただき、誠にありがとうございます。
感謝の意を込め、このリンクはSEO効果がある形で設置させていただいております。
※リンクには nofollow 属性を付与しておりませんので、一定のSEO効果が見込まれるなど、サイト運営者様にとってもメリットとなれば幸いです。
当サイトは、インターネット上に散在する有益な情報を収集し、要約・編集してわかりやすくお届けすることを目的としたメディアです。
引用や参照の方法に不備、あるいはご不快に感じられる点がございましたら、お問い合わせフォームよりご連絡ください。
今後とも、どうぞよろしくお願いいたします。

ABOUT ME
カシワギ
『エグゼクティブワーク』編集長のカシワギです。 普段はITベンチャーで執行役員の40代男です。 元コンサルタントですが、今はテクノロジー企業で日々奮闘中。 仕事では厳しい顔をしていますが、家では小学生の子供2人のやんちゃなパパ。 休日はゴルフに行ったり、妻とワインを楽しんだり。
当サイトについて
当サイトでは、インターネット上に散らばるさまざまな情報を収集し、AIを活用しながら要約・編集を行い、独自の切り口で見解を交えながらわかりやすい形でお届けしています。 情報の整理・編集にあたっては、読者やオリジナル記事の筆者へご迷惑をおかけしないよう、細心の注意を払って運営しておりますが、万が一、掲載内容に問題がある場合や修正・削除のご要望がございましたら、どうぞお気軽にお問い合わせください。 迅速に対応をさせていただきます。 その際には、該当記事の URLやタイトルをあわせてお知らせいただけますと、より速やかに対応 することができますのでそちらもご協力いただけますと大変幸いでございます。 今後とも当サイトをよろしくお願いいたします。