Claude Codeの401「token revoked」|ログイン済みでも止まるときの確認順

Claude Codeで401と「token revoked」が出たら、ログイン表示だけで正常と判断せず、使っている認証元を確認します。保存済みログインなら、失敗したのと同じ環境で/login。環境変数のトークンを使う場合は、その設定を先に確認してください。

エラーが出たMacのターミナルで、状態を確認します。

claude --version
claude auth status

著者:ノオ · 実機・公式資料確認:2026年10月23日

見るのはloggedInとauthMethod、そして元のエラー文です。出力にはアカウント情報も含まれるため、全文をそのまま公開しないでください。

今回、MacのClaude Code 2.1.170では、次の二つが同時に確認できました。

確認したもの実際の結果ここで分かること
claude auth statusloggedIn: true、authMethod: claude.ai。終了コードは0CLIの状態表示ではログイン済み
同じ環境からのclaude -pのリクエストAPI Error: 401 OAuth access token has been revoked.。終了コードは1実際のリクエストは認証で拒否された

「ログイン済み」と「依頼が通る」は、別に確かめる必要があります。 この実測は旧版2.1.170の1環境での結果です。すべての版で同じ表示になるとは限りません。また、今回確認したのは失敗状態までで、再ログイン後の復旧は未確認です。

金属製のドアハンドルと壁に取り付けられた入退室用リーダー

AIで制作した認証の説明用イメージです。Claude Codeの画面や実際の検証場所の写真ではありません。

目次: 保存済みログイン → 環境変数のトークン → エラー全文の違い → 復旧確認とメモ

保存済みログインなら、失敗した環境で入り直す

authMethodがclaude.aiなら、Claudeアカウントでの認証が表示されています。Claude Codeを開ける場合は、プロンプトで/statusも確認します。ここでは、現在使われている認証情報を見ます。auth statusと同じコマンドではありません。

保存済みのログインで「token revoked」になっている場合、公式の案内は同じ環境でClaude Codeを起動し、/loginで認証し直すというものです。ターミナルには次を入力します。

claude

Claude Codeが開いたら、入力欄に次を送ります。

/login

ブラウザの案内に従い、使う予定のアカウントでサインインします。シェルから認証を始めるclaude auth loginも公式CLIリファレンスに掲載されています。/loginはClaude Code内、claude auth loginはターミナルで使う、と分けると迷いにくくなります。

SSH先やコンテナで失敗しているなら、手元のMacだけでログインして終えないようにします。復旧対象は、実際にコマンドを実行している側です。ブラウザだけ別の場所で開く場合の戻り方も、公式のログイン手順で確認できます。

環境変数のトークンなら、再ログインだけで終えない

CLAUDE_CODE_OAUTH_TOKENを使っている場合は、保存済みログインとは別の経路です。現在の公式資料では、この変数の値が401で拒否されても、保存済みログインのトークンへ自動で切り替わらないと説明されています。古い版とは挙動が異なるため、版番号も一緒に残します。

MacのZsh・Bashでは、次のコードで値を表示せず、環境変数が存在するかを調べられます。

for auth_var in ANTHROPIC_API_KEY ANTHROPIC_AUTH_TOKEN CLAUDE_CODE_OAUTH_TOKEN ANTHROPIC_BASE_URL; do
  if printenv "$auth_var" >/dev/null; then
    printf '%s: 設定あり\n' "$auth_var"
  else
    printf '%s: 未設定\n' "$auth_var"
  fi
done

「設定あり」は、値が正しいことや、その認証が実際に使われたことを示しません。現在のシェルにあるかだけの確認です。Claude Codeの設定ファイルや組織の管理設定まで調べるコードでもありません。最終的には/statusで認証元を照合してください。

自分で設定したCLAUDE_CODE_OAUTH_TOKENをやめ、保存済みログインへ戻すと決めた場合は、そのターミナル内の変数だけを解除してからClaude Codeを起動し直せます。

unset CLAUDE_CODE_OAUTH_TOKEN
claude

その後、Claude Code内で/loginします。これはシェルの設定ファイルを削除する操作ではないため、新しいターミナルで再び「設定あり」になるなら、元の設定場所を確認します。会社から配布された設定なら、先に管理者へ認証方式を確認してください。

長期トークンを使い続ける場合は、公式の該当エラーの案内にある更新手順を選びます。トークンの中身を記事のコメントやチャットへ貼る必要はありません。

エラー全文が違うなら、同じ401でも分けて考える

今回の実測は「OAuth access token has been revoked」です。「401」という番号だけで、すべて同じ原因にはできません。

手元に出ている文次に見る場所
OAuth token revoked、OAuth access token has been revoked保存済みログインか、環境変数のトークンかを確認する
Invalid authentication credentials/statusで有効な認証情報を確認し、公式の同名エラーへ進む
Your apiKeyHelper script is failingログインを繰り返す前に、設定した認証ヘルパーの失敗を確認する

「Invalid authentication credentials」は公式の同名エラーを参照してください。

今回の記録だけでは、誰のどの操作でトークンが取り消されたのかは分かりません。「会社のアカウントだから」「スリープしたから」と原因を決めつけないことが、次の確認を絞る助けになります。

また、サブスクリプションで使う予定なら、復旧のつもりで--consoleを付けないでください。これはCLIの公式仕様ではAPI利用の課金側へログインする指定です。認証の切り替えと、契約している使い方が合っているかを確認します。

復旧の判断と、直らないときに残すメモ

認証し直した後は、元の作業に戻る前に短い依頼を一度送り、状態表示ではなく実際に応答が返るかを確認します。ファイル操作を含めず、「確認です。OKとだけ答えてください」のような短い依頼で構いません。

同じエラーが続く場合は、次の形で自分用のメモを作ると、管理者やサポートへ説明する情報を絞れます。

発生日時:
実行環境:Macのターミナル/SSH先/コンテナなど
Claude Codeの版:
認証方式:保存済みログイン/環境変数/組織の指定方式
エラー文:秘密の値やアカウント情報を除いたもの
再ログイン:未実施/実施済み
その後の短い依頼:成功/同じエラー/別のエラー

今回の確認では、環境はMacのターミナル、版は2.1.170、認証表示はclaude.aiでした。リクエストは401で終了し、再ログインは未実施です。このように確認できた欄と、まだ試していない欄を分けると、未確認の復旧を成功扱いせずに引き継げます。

認証が通った後、作業中のコードを戻したい場合は、別の問題としてClaude Codeの変更を1ファイルだけ戻す手順を使えます。ログイン障害の対処としてソースファイルを消す必要はありません。

確認範囲: 2026年10月23日、macOS・Zsh、Claude Code 2.1.170で状態表示、環境変数の有無、非対話リクエストの認証失敗を確認しました。再ログイン以降は公式資料に基づく案内です。最新版、Windows、Claude Desktopでの再現や、復旧後の動作は確認していません。