Claude Code「API Error: 401」で/loginもできないときの解決手順¶
対象 / ポイント
対象: Claude Codeで API Error: 401 が出てログインも復旧もできなくなった開発者
ポイント:
エラーの全体像¶
ある朝、いつもどおり Claude Code を起動する。ターミナルに返ってくるのは赤いエラーメッセージだ。
API Error: 401 {"type":"error","error":{"type":"authentication_error",
"message":"Invalid authentication credentials"}}
Please run /login
指示どおり /login を実行しても、また401。/logout しても401。何をしても401──これは、古い認証キャッシュや期限切れのOAuthログイン状態で起きやすい症状です。
このエラーには複数のバリエーションがある。
Invalid authentication credentialsInvalid API keyOAuth token has expired. Please obtain a new token or refresh your existing token.
メッセージは異なっても、復旧の流れはだいたい同じです。詰まっているローカルの認証状態を消して、ログインをやり直します。
なぜ起きるのか¶
Claude Codeは複数の認証方式を持っていますが、公式Issueで確認できる典型例は、OAuthログイン状態が古くなって401で詰まるケースです。キャッシュされた認証状態が壊れると、APIリクエスト全体が401になることがあります。
問題は、/login や /logout といった認証系コマンドも同じ壊れた状態に巻き込まれる点です1。その結果、CLIの中からは正常系の復旧導線に戻れなくなります。
そこで、CLIの外から認証キャッシュを直接クリアする必要が出てきます。次のセクションで手順を示します。
解決手順¶
認証キャッシュを手動で削除し、公式のログイン導線で入り直す。 /login 自体が詰まっているときは、これが最も確実な復旧手順です。
Step 1:認証ファイルの手動削除¶
AnthropicのIAMドキュメントには、Claude Codeが認証情報をどこに保存するかが明記されています2。CLI経由の復旧が効かないときは、その場所を直接クリアします。
Linux / WSL2 / Windows:
rm -f ~/.claude/.credentials.json
macOS:
macOSではKeychainに認証情報が保存される。ターミナルから以下を実行する。
security delete-generic-password -s "claude-code" 2>/dev/null
rm -f ~/.claude/.credentials.json
Step 2:再ログイン¶
認証キャッシュを消したら、Claude Codeを起動し直して公式のログイン導線に戻します。
claude
起動時に自動でログイン導線が出ない場合は、セッション内で /login を実行します。Quickstartにも、claude 起動後のログインと /login によるアカウント切替が案内されています3。
Step 3:動作確認¶
Claude Codeを起動し、対話セッション内で以下を実行する。
/status
アカウント情報(認証方式、サブスクリプションタイプ)が表示されれば復旧完了だ。
それでも直らない場合¶
手動削除+再ログインで解決しないケースもある。原因別に3つの対処法を示す。
Claude Codeのバージョンを更新する¶
古いバージョンでは認証フローやキャッシュ処理にバグが残っている場合があります。
npm install -g @anthropic-ai/claude-code@latest
claude --version
APIキーで直接認証する(OAuth回避)¶
OAuth認証を完全に迂回し、APIキーを直接指定する方法もある。
- Anthropic Console でAPI Keysからキーを発行
- 環境変数にセット
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx"
この方法はClaude.aiログインを使わず、ターミナルCLIの認証だけを切り替える方法です。IAMドキュメントでも、ターミナルセッションではAPIキー認証を使える一方、desktopやremoteではOAuthのみと案内されています2。
サービス障害の確認¶
認証エラーに見えて、実はAnthropicのインフラ障害という場合もある。
障害中は認証系のエンドポイントも影響を受けるため、復旧を待つしかない。
再発防止のためにできること¶
次に同じ問題が起きたとき、復旧までの時間を短くするための実践です。
- 認証ファイルのパス(
~/.claude/.credentials.json)を覚えておく。次に発生したとき即座に削除できる - APIキーをバックアップとして発行しておく。OAuth障害時にすぐ切り替えられる
- Claude Codeのバージョンを定期的に更新する。認証フローの改善は頻繁にリリースされている
まとめ¶
Claude Codeの401ループは、認証キャッシュが壊れて /login まで失敗する既知の詰まり方です。Anthropicのドキュメントで保存先が確認でき、公式Issueでもキャッシュ削除が現実的な回復手段として報告されています12。
/login がすでに401を返しているなら、認証キャッシュを消してから claude を起動し直し、必要なら /login を実行するのが確実です。CLI用のAPIキーも手元にあると、Claude.aiログインが壊れたときの退避路になります。
関連記事¶
- Claude Code 完全ガイド
- Claude Code リファレンスガイド
- Claude Code「command not found / not recognized」エラー対策
- Claude Code Windows ネイティブインストールガイド
- Claude Code 自動実行許可完全ガイド
- Claude Code × Codex CLI レビューループ自動化
Claude Code issue #33811 —
/loginと/logoutを含めて 401 で詰む事例。 ↩↩↩↩Authentication - Claude Code Docs — 認証情報の保存先とサポートされる認証方式。 ↩↩↩↩
Quickstart - Claude Code Docs —
claude起動時のログイン導線と/loginによるアカウント切替。 ↩