
先日、VS CodeでCodexを使おうとしたら、stream error: exceeded retry limit, last status: 401 というエラーが出て動かないことがあったので、解決方法を載せておきます。
エラー内容
- エディタ上の Codex 実行時に下記が連続表示
stream error: exceeded retry limit, last status: 401 Unauthorized; retrying 1/5 in 181ms… - Codex の呼び出しがすべて 401 で失敗し、再試行しても回復しない。
- エディタを再読み込みしても改善しない。
⚠ stream error: exceeded retry limit, last status: 401 Unauthorized; retrying 1/5 in 211ms…
⚠ stream error: exceeded retry limit, last status: 401 Unauthorized; retrying 2/5 in 410ms…
⚠ stream error: exceeded retry limit, last status: 401 Unauthorized; retrying 3/5 in 864ms…
⚠ stream error: exceeded retry limit, last status: 401 Unauthorized; retrying 4/5 in 1.755s…
⚠ stream error: exceeded retry limit, last status: 401 Unauthorized; retrying 5/5 in 3.087s…エラー解消方法
1.エディタと Codex 関連プロセスを完全に終了
2.認証キャッシュを退避
mv ~/.codex/auth.json ~/.codex/auth.json.bak3.Codex を再起動 → 再ログイン(GUI/CLI どちらでも可)
原因
Codex のローカル認証キャッシュ ~/.codex/auth.json が期限切れまたは破損。
エディタや Codex 拡張がこのファイルを参照して起動するため、無効トークンが使われ続けて 401 が発生。
備考:今回は OPENAI_API_KEY は無関係。Codex が OpenAI へ到達する前段で、Codex 自身の認証がコケていました。
再発防止
- 再ログインやトークン更新の前に必ずエディタを完全終了(プロセスがファイルを掴んだままだと新トークンが反映されない)。
- ローカルキャッシュに依存しない運用
- CI や自動化は 環境変数(Secrets)で鍵を注入し、
~/.codex/auth.jsonを前提にしない。
- CI や自動化は 環境変数(Secrets)で鍵を注入し、
- 古いキャッシュの掃除(任意)
find ~/.codex -name "auth.json.*.bak" -mtime +30 -delete - もし組織側で SSO・トークンローテーションがある場合:
- ローテ後は エディタ再起動→再ログイン の手順をチーム標準手順に明記。
これで、無事にCodexを再び利用できるようになりました。もしお困りの方は、お試しください。