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 status | loggedIn: true、authMethod: claude.ai。終了コードは0 | CLIの状態表示ではログイン済み |
| 同じ環境からの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での再現や、復旧後の動作は確認していません。