「Your access token could not be refreshed. Please log out and sign in again」と表示されたら、現在の Codex プロセスは保存済みセッションを継続できません。ただし、この一文だけでリフレッシュトークンの再利用、失効、別アカウントへの切り替えのどれが原因かは断定できません。別の端末に残った古い認証情報を読んでいる可能性もあります。
重要なのは、むやみに全環境を初期化することではなく、エラーを出したプロセスと、そのプロセスが使う認証ストアを一致させることです。
ログアウト前に作業を保全する
認証エラーで、すでに書き込まれたファイルが自動的に消えるわけではありません。危険なのは、複数の App や IDE で同じタスクを再実行したり、「キャッシュ削除」のつもりでプロジェクトまで消したりすることです。
先に次を残してください。
- リポジトリ内の未コミット変更
- 個人情報を除いた完全なエラー文
- 発生時刻とタイムゾーン
- Codex App、CLI、IDE のどこで発生したかとバージョン
- プロジェクトパスと最後に成功した操作
auth.json の内容、access token、refresh token、API key、OTP、Cookie、未処理の HAR は共有しません。OpenAI の認証ドキュメントでは、ファイル保存の auth.json にアクセストークンが含まれるため、パスワード同様に扱うよう案内しています。
画面ではなく実行ホストを確認する
ローカル画面にエラーが出ても、認証情報がローカルにあるとは限りません。VS Code のウィンドウは手元の Mac や Windows にあっても、extension host は Remote SSH 側かもしれません。ターミナルが WSL や dev container の中なら、Codex はその環境の home や keyring を使います。
| 利用面 | 最初に確認する場所 | よくある取り違え |
|---|---|---|
| Codex App | App の現在のプロフィールとローカル認証ストア | 別ブラウザの ChatGPT だけログアウトする |
| Codex CLI | その shell の OS ユーザーと CODEX_HOME | Web 版が使えるので CLI も正常だと考える |
| IDE 拡張 | extension host が local か remote か | エディタ UI だけ再インストールする |
| WSL、SSH、container、VM | 環境内の home または keyring | ホスト PC だけでログアウトする |
| 外部 harness | そのツール固有の認証 profile | 単体 CLI の成功を全ツールに当てはめる |
公式資料によると、Codex CLI と IDE 拡張は保存済み認証情報を共有する場合があります。保存先は ~/.codex/auth.json または OS の資格情報ストアです。したがって、推測でファイルを削除するより、まずサポートされる logout を使う方が安全です。
CLI と IDE の認証情報を作り直す
エラーを出した Codex が動く環境で、現在の方式を確認します。
bashcodex login status
このコマンドは認証情報の有無と active authentication mode を表示します。ChatGPT プランを使っているつもりでも API key 認証になっている、Remote SSH 先が別の OS ユーザーになっている、といったずれを発見できます。ただし status が成功しても、モデルへの実リクエストまで成功する保証にはなりません。
保存済み認証情報を消してログインし直します。
bashcodex logout codex login
ブラウザでは、利用したい ChatGPT アカウントと workspace を確認して完了します。その後、もう一度 codex login status を実行します。
OpenAI のDeveloper commandsは、codex logout を ChatGPT と API key の保存済み認証情報を削除するコマンドとして説明しています。CLI と IDE がキャッシュを共有していても、起動中の extension host が古い状態を持つことがあるため、再ログイン後は IDE を完全に終了して開き直します。
Codex App ではプロフィールメニューで現在のアカウントまたは API key の状態を確認し、App 内からログアウトします。App を完全終了してから再起動し、意図した方式でログインしてください。ブラウザの chatgpt.com だけをログアウトしても、App のローカル認証情報が消えた証拠にはなりません。
新しいログインが完了しない場合
古い認証情報を消した後、ブラウザから Codex へ戻れないなら、元のトークン更新問題とは別の段階です。
Remote SSH や headless 環境ではローカルのコールバック先へ戻れないことがあります。アカウントまたは workspace で許可されている場合は device code を使います。
bashcodex login --device-auth
表示されたリンクを開き、ログイン後に一回限りの code を入力します。code を他人に送らないでください。機能が無効なら、個人設定または workspace 管理者による許可が必要です。
企業ネットワークの TLS proxy や private root CA が原因なら、公式ガイドは信頼済み PEM bundle を指定する CODEX_CA_CERTIFICATE を案内しています。また、直接実行した codex login は設定済みログディレクトリに codex-login.log を書きます。callback、証明書、ブラウザ認証を切り分ける材料になりますが、共有前に token、メール、workspace ID、非公開パスを削除します。
管理環境では ChatGPT または API key の方式が強制され、特定 workspace に限定されることがあります。新しいアカウントがすぐ拒否される場合は、ローカルファイルを繰り返し消さず、管理者に membership、provisioning、許可された方式、対象 workspace を確認します。
workload identity を使う実行環境では、認証はプロセス環境から与えられます。公式資料では、この場合の codex login と codex logout は拒否されます。修復対象はユーザーキャッシュではなく、identity provider、federation rule、runtime 設定です。

小さな実タスクで復旧を判定する
復旧完了はログイン画面ではなく、次の三つで判断します。
codex login statusが意図した方式を示す。- App または IDE が、表示可能な範囲で正しいアカウントと workspace を示す。
- 元と同じプロジェクト・実行環境で、小さな低リスクのタスクが完了する。
最初は機密性のない一ファイルを読み取り要約する程度にします。すぐに大規模な書き込みを再開せず、既存の変更を確認してから元のタスクへ戻ります。

別のエラーになったら診断も切り替えます。HTTP 429 は Codex のレート制限、接続やツールの停止は Codex タイムアウト、電話番号・MFA・device verification は Codex の認証確認の対象です。
サポートへ渡す情報
正しい実行ホストで新規ログインしても同じ更新エラーが出る場合は、秘密情報ではなく再現条件を渡します。
- マスク済みエラー文、時刻、タイムゾーン
- App、CLI、IDE とバージョン
- OS、および local、WSL、SSH、container、VM の別
- token や完全なアカウント ID を含まない認証方式
- logout と新しい browser/device flow の結果
- 小さな確認タスクの結果
- 新規ログイン自体が失敗した場合だけ、消毒済み
codex-login.logの抜粋
auth.json、token、API key、OTP、Cookie、完全な HAR、未加工スクリーンショットは添付しません。正しいホストの新しい認証情報が意図したアカウントと方式に結び付き、境界の小さい Codex タスクを完了して初めて復旧です。



