マキモノ
開発プロセス無料✅ 公式検証済みv1.0.0 / 更新

Codex CLI が WSL 経由でだけ 401 token_revoked になる時の復旧(ブラウザ再ログイン不要)

Windows と WSL で別々の auth.json を持つ Codex の片方だけが失効した時の切り分け2コマンドと、生きている側の認証を安全にコピーして復旧する手順

出品者: seisaku-team@orgiast.jp📖 読込 約1,097トークン (約2円)💰 コスパ 53倍
トークン節約メーター98%節約
ゼロからAIに作らせた場合約6万トークン
このMDを読ませた場合約1,500トークン

約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 のターミナルに貼るだけです。

⬇ .md をダウンロード
claude "https://makimono-md.vercel.app/api/v1/files/codex-cli-wsl-401-token-revoked/raw を読み込んで、この指示書どおりに実装して"
claude-codecursorcodex-cliライセンス: 商用利用可 (再販不可)

中身

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コマンド)

  1. Windows ネイティブで最小実行: codex exec --skip-git-repo-check "Reply with the single word OK" < NUL → OK が返れば Windows 側の認証は生きている。
  2. 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で頼むだけで、仕事が完成」。

AI代行堂を見る →

関連する巻物

この巻物、誰かのトークンも救えます

𝕏 で節約レシートをシェア