Codex CLI が WSL 経由でだけ 401 token_revoked になる時の復旧(ブラウザ再ログイン不要)
Windows と WSL で別々の auth.json を持つ Codex の片方だけが失効した時の切り分け2コマンドと、生きている側の認証を安全にコピーして復旧する手順
約5.9万トークンの節約 (API料金換算で約88円分)。 要件定義・技術調査・試行錯誤ぶんのトークンがまるごと不要になります。※ 出品者申告とレビューに基づく推定値。モデル・タスク内容により変動します。
この巻物について
「Codex CLI が WSL 経由でだけ 401 token_revoked になる時の復旧(ブラウザ再ログイン不要)」は、開発プロセスカテゴリのAI指示書(MDファイル)です。Windows と WSL で別々の auth.json を持つ Codex の片方だけが失効した時の切り分け2コマンドと、生きている側の認証を安全にコピーして復旧する手順この巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約5.9万トークン(API料金換算で約88円)・98%のトークンを節約できます。
- カテゴリ
- 開発プロセス
- 対応AI
- claude-code、cursor、codex-cli
- ライセンス
- 商用利用可 (再販不可)
- 価格
- 無料
- ゼロから開発時
- 約6万トークン
- この巻物使用時
- 約1,500トークン
- 節約量
- 約5.9万トークン (約88円)
- 更新日
- 2026-10-13
使い方 (AIに渡す3つの方法)
いちばん簡単なのはワンライナー。Claude Code のターミナルに貼るだけです。
claude "https://makimono-md.vercel.app/api/v1/files/codex-cli-wsl-401-token-revoked/raw を読み込んで、この指示書どおりに実装して"
中身
Codex CLI が WSL 経由でだけ 401 token_revoked になる時の復旧手順
Windows で Codex CLI を WSL 経由(ラッパースクリプトが wsl -d <distro> -- codex exec ... を呼ぶ構成)で使っていて、ある日から毎回こう落ちる場合の手順。
ERROR codex_login::auth::manager: Failed to refresh token status=401 Unauthorized
refresh_token_invalidated / token_revoked
ERROR: Reconnecting... 5/5
症状の特徴
codex login statusは WSL 側でも「Logged in using ChatGPT」と出る(ローカルのファイルは残っているため)。- 401 は「利用上限(usage limit)」とは別物なので、上限検知でフォールバックするラッパーは代替バックエンドに切り替わらず、そのまま失敗する。
- Windows ネイティブの Codex と WSL の Codex は別々の
~/.codex/auth.jsonを持つ。片方だけ失効していることがある。
切り分け(2コマンド)
- Windows ネイティブで最小実行:
codex exec --skip-git-repo-check "Reply with the single word OK" < NUL→OKが返れば Windows 側の認証は生きている。 - WSL 側で同じ実行をして出力をファイルに落とし、
token_revoked/refresh_token_invalidatedを grep する → ヒットすれば WSL 側だけ失効。
復旧(ブラウザ再ログイン不要)
Windows 側が生きていれば、その auth.json を WSL 側へ上書きコピーする。失効版は退避しておく。
// sync-codex-auth.mjs(Windows の node で実行)
import fs from 'node:fs'; import os from 'node:os'; import path from 'node:path';
import { spawnSync } from 'node:child_process';
const winText = fs.readFileSync(path.join(os.homedir(), '.codex', 'auth.json'), 'utf8');
const r = spawnSync('wsl', ['-d', '<distro>', '--', 'sh', '-c',
'mkdir -p "$HOME/.codex" && cp -p "$HOME/.codex/auth.json" "$HOME/.codex/auth.json.revoked-bak" 2>/dev/null; umask 077 && cat > "$HOME/.codex/auth.json"'],
{ input: winText, encoding: 'utf8', windowsHide: true, timeout: 60000 });
console.log('write status', r.status);
- 認証情報は stdin で渡す(argv やシェル展開に載せない)。
umask 077でパーミッションを絞る。 - 上限待ちのクールダウンファイルを使う構成なら、それも消してから再試行する。
- 復旧確認: ラッパー経由で「ファイルを1つ作るだけ」の最小タスクを実行し、実行者が Codex 本体(フォールバックではない)であることと、成果物ができたことを確認する。
両方失効していたら
Windows ネイティブも 401 なら、codex login でブラウザ承認をやり直す(人の操作が1回必要)。その後に上のコピーで WSL を揃える。
再発させないための改修案
- 「アカウントIDが同じならコピーしない」同期ロジックは、同一アカウントで片方だけ失効したケースを取りこぼす。WSL 側の実行で 401/token_revoked を検知したら、アカウント一致でも上書き同期する。
- ラッパーのフォールバック条件に 401/token_revoked を加え、認証切れで実装委譲が全停止しないようにする。
よくある質問
+「Codex CLI が WSL 経由でだけ 401 token_revoked になる時の復旧(ブラウザ再ログイン不要)」とは何ですか?
Windows と WSL で別々の auth.json を持つ Codex の片方だけが失効した時の切り分け2コマンドと、生きている側の認証を安全にコピーして復旧する手順
+どれくらいトークン(費用)を節約できますか?
ゼロから開発すると約6万トークンかかりますが、この巻物を使えば約1,500トークンで済みます。差し引き約5.9万トークン(API料金換算で約88円)・98%の節約です。
+どうやって使いますか?
無料です。MDファイルを Claude Code などのAIに読み込ませるだけ。ワンライナーをターミナルに貼れば実装が始まります。要件定義や技術調査を省いて実装だけにトークンを使えます。
+どのAIツールに対応していますか?
claude-code、cursor、codex-cli に対応しています。
+商用利用できますか?
ライセンスは「商用利用可 (再販不可)」です。
🤝 自分でAIを動かすのは、まだ不安…という方へ
この巻物の内容を、AIを使うプロに丸ごと任せることもできます。姉妹サービスAI代行堂なら「LINEで頼むだけで、仕事が完成」。
関連する巻物
スマホ(Remote Control)から即相談できる Claude Code タブを VS Code に毎朝自動で用意する
自作VS Code拡張で公式Claude Codeのコマンド(editor.openLast/newConversation/renameSessionTab)を叩き、名前付きタブをN本自動補充。夜間はWM_CLOSE→再起動で毎朝揃える。--bg/ターミナル経路・タブ0でのnewConversation・SendKeys再読み込みが失敗する実測付き
夜間ジョブ異常を通知で終わらせず自動修復→AI修理PR→人へ引き渡す閉ループ
監視の『検知して通知』の後段に、決定的Playbook→AIコーダーの隔離worktree修理PR→持ち越し→人への3要素引き渡し、を足す実装指示書。argvで指示を渡すな等の実測の落とし穴つき
ドキュメント駆動開発プロセス CLAUDE.md — 作るものを固めてから書かせる
「AIが暴走して意図と違うものを作る」を根絶する開発プロセス指示書。UI仕様→機能設計→実装の順をAIに強制し、1ファイルごとに承認ゲートを挟む。受託開発・チーム開発向け。
この巻物、誰かのトークンも救えます
𝕏 で節約レシートをシェア