Claude Codeで開発作業を進めていると、突然API呼び出しが失敗して認証エラーが表示されることがあります。
Claude Code がエラーを出すと Claude Code を使って LLM に質問ができないので、地味に困ります。
解決はとても簡単だったのですが、意外とこの問題への直接的なアプローチに触れられている記事がなかったので記事にしました。
Claude Code で 401 エラーが発生
Claude Codeを使用中に以下のようなエラーメッセージが表示されました。
API Error: 401 {"type":"error","error":{"type":"authentication_error","message":"OAuth token has expired. Please obtain a new token or refresh your existing token."}}
公式サイトでも触れられていますが、401
エラーは、認証関連のエラーです。
解決方法
解決方法は非常に簡単です。
Claude Code を起動した状態で、インタプリタに以下のスラッシュコマンドを入力します。
/login
このコマンドを実行すると
- 自動的にデフォルトブラウザが開きます
- Anthropic のログインページが表示されます
- アカウントでログインすると認証が完了します
- ブラウザを閉じてClaude Codeに戻ると、すぐに使用可能になります
エラーが発生する理由
OAuth トークンは一定期間で自動的に期限切れになります。
これはセキュリティ上の理由による正常な動作で、Claude Code を長時間使用していない場合などに発生します。
/login を実行しても解決しなかった場合
これはたまたま自分がこれで解決しただけかもしれないので、参考程度にしかならないと思っていただけると助かります。
OAuth エラーが発生した時に、/login
のスラッシュコマンドで解決することがほとんどだったのですが、稀にこれでは解決しないケースがありました。
そんな時に自分が対応した方法を紹介します。
Claude Code をアップデートする
自分は /login
のコマンドで解決しなかった時は、Claude Code のアップデートをすることで解消をすることがきました。
アップデートの方法は、Claude Code を一度停止して、下記のコマンドを実行するだけです。
claude update
アップデートが完了したら、再度 Caude Code を起動すると、401
の 認証エラーは解消しました。
もしアップデートに失敗する場合は下記の記事を参考にしてください。
まとめ
Claude Code の OAuth 認証エラーは、トークンの期限切れによる正常な動作です。
Claude Code 起動中に /login
スラッシュコマンドを使用することで簡単に再認証できます。
この手順を知っておくことで、開発作業を中断することなく Claude Code を効率的に活用できます。
参考になりますと幸いです。