Claude Code で発生する API Error: 401·{"type":"error", ...} Please run /login の対処法

Claude Code を使っていて突然エラーが表示され、操作ができなくなった経験はありませんか。特に作業中に認証エラーが出ると焦ってしまいますよね。
この記事では、Claude Code で発生する API Error: 401
の原因と、具体的な対処法を初心者の方にもわかりやすく解説します。
背景
Claude Code は Anthropic 社が提供する AI アシスタント「Claude」を CLI(コマンドラインインターフェース)や VSCode 拡張機能として利用できるツールです。 開発作業を効率化するために、コード生成、リファクタリング、デバッグ支援など、様々な場面で活躍してくれます。
Claude Code は API を通じて Claude のサーバーと通信しますが、この通信には認証トークン(OAuth トークン)が必要になります。 認証トークンは一定期間が経過すると有効期限が切れる仕組みになっており、セキュリティを保つために設計されています。
以下の図は Claude Code の基本的な認証フローを示しています。
mermaidflowchart LR
user["ユーザー"] -->|コマンド実行| cli["Claude Code CLI"]
cli -->|OAuth Token| auth["認証サーバー"]
auth -->|トークン検証| api["Claude API"]
api -->|レスポンス| cli
cli -->|結果表示| user
ユーザーが Claude Code を操作すると、内部的には OAuth トークンを使って認証サーバーに接続し、Claude API と通信する仕組みです。
課題
作業中に以下のようなエラーメッセージが表示されることがあります。
textAPI Error: 401 {"type":"error","error":{"type":"authentication_error","message":"OAuth token has expired. Please obtain a new token or refresh your existing token."},"request_id":"req_XXXXXXXXXXXXXX"} · Please run /login
エラー情報の詳細
# | 項目 | 内容 |
---|---|---|
1 | エラーコード | 401 Unauthorized |
2 | エラータイプ | authentication_error |
3 | エラーメッセージ | OAuth token has expired. Please obtain a new token or refresh your existing token. |
4 | 推奨アクション | Please run /login |
このエラーが発生する主な原因は以下の通りです。
- トークンの有効期限切れ: OAuth トークンには有効期限があり、一定時間が経過すると自動的に失効します
- 長時間の作業: Claude Code を起動したまま長時間作業を続けると、その間にトークンが期限切れになります
- セッション管理: セキュリティ上の理由から、トークンは定期的に更新する必要があります
このエラーが発生すると、Claude Code のすべての機能が使えなくなり、作業が中断されてしまいます。 また、エラーメッセージだけでは具体的な対処法がわかりにくく、初めて遭遇した方は戸惑うかもしれません。
認証エラーの発生タイミングを図で示すと以下のようになります。
mermaidstateDiagram-v2
[*] --> Authenticated: ログイン成功
Authenticated --> Working: 作業開始
Working --> Working: 通常操作
Working --> TokenExpired: 時間経過
TokenExpired --> ErrorState: API呼び出し
ErrorState --> Authenticated: /login実行
ErrorState --> [*]: 作業中断
トークンが期限切れになった状態で API を呼び出すと、エラー状態に遷移してしまいます。
解決策
この問題を解決するには、認証トークンを再取得する必要があります。
Claude Code には再認証を行うための /login
コマンドが用意されており、これを実行することでトークンを更新できます。
対処手順
以下の手順で認証エラーを解消できます。
# | ステップ | 操作内容 |
---|---|---|
1 | コマンド実行 | /login コマンドを入力 |
2 | ブラウザ起動 | Claude.ai Subscriptionからブラウザが開く |
3 | 認証完了 | Anthropic アカウントでログイン |
4 | トークン更新 | 新しいトークンが自動保存される |
5 | 作業再開 | Claude Code が再び利用可能になる |
1. /login
コマンドの実行
Claude Code のコマンドラインまたは VSCode 拡張機能で以下のコマンドを実行します。
bash/login
このコマンドを実行すると、Claude Code は認証プロセスを開始します。 内部的には OAuth フローが起動され、新しいトークンを取得するための準備が行われます。
2. ブラウザでの認証
コマンド実行後、Claude.ai Subscription
を開き、Anthropic の認証ページが表示されます。
もしブラウザが自動で開かない場合は、コマンドラインに表示される URL を手動でコピーしてブラウザに貼り付けてください。
認証ページでは、Anthropic アカウントの認証情報(メールアドレスとパスワード)を入力します。 すでにログイン済みの場合は、自動的に次のステップに進むこともあります。
3. 認証の完了
ブラウザでの認証が成功すると、「認証が完了しました」といったメッセージが表示されます。 この時点で新しい OAuth トークンが発行され、Claude Code に自動的に保存されます。
ブラウザは閉じても問題ありませんし、Claude Code のターミナルには「ログイン成功」といった確認メッセージが表示されます。
4. 作業の再開
認証が完了すると、Claude Code のすべての機能が再び利用可能になります。 エラーが発生する前の状態に戻り、通常通りコマンドを実行できるようになります。
解決プロセスの全体フローは以下の通りです。
mermaidflowchart TB
error["API Error: 401<br/>認証エラー発生"] --> command["ステップ1:<br/>/login コマンド実行"]
command --> browser["ステップ2:<br/>ブラウザ自動起動"]
browser --> auth["ステップ3:<br/>Anthropic アカウントで認証"]
auth --> token["ステップ4:<br/>新トークン自動保存"]
token --> resume["ステップ5:<br/>作業再開可能"]
resume --> success["認証エラー解消"]
このフローに従えば、数分以内にエラーを解消し、作業を再開できます。
具体例
実際の作業シナリオを通じて、エラー発生から解決までの流れを見ていきましょう。
シナリオ: コード生成中にエラーが発生
あなたが Claude Code を使って TypeScript のコードを生成している最中に、突然以下のエラーが表示されたとします。
textAPI Error: 401 {"type":"error","error":{"type":"authentication_error","message":"OAuth token has expired. Please obtain a new token or refresh your existing token."},"request_id":"req_011CU9rgP8YZSnUSUJobQ3ro"} · Please run /login
対処の実行例
ステップ 1: エラーの確認
まず、エラーメッセージを確認します。
401
というステータスコードと authentication_error
というタイプから、認証の問題だとわかります。
メッセージには「OAuth token has expired(OAuth トークンの有効期限が切れました)」と明記されており、原因が明確ですね。
ステップ 2: /login
コマンドの実行
Claude Code のターミナルまたはコマンドパレットで /login
と入力します。
bash/login
コマンドを実行すると、以下のような出力が表示されます。
textOpening browser for authentication...
Please complete the login process in your browser.
このメッセージが表示されたら、ブラウザが自動的に開くのを待ちます。
ステップ 3: ブラウザでの認証操作
ブラウザが開き、Anthropic の認証ページが表示されます。 ページには以下のような要素が含まれています。
- Anthropic のロゴ
- 「Sign in to Claude」といったタイトル
- メールアドレス入力欄
- パスワード入力欄(またはソーシャルログインボタン)
すでにログイン済みの場合は、「Authorize Claude Code」といった確認ページが直接表示されることもあります。 その場合は「Allow」や「承認」ボタンをクリックするだけで完了します。
ステップ 4: 認証完了の確認
認証が成功すると、ブラウザには以下のようなメッセージが表示されます。
textAuthentication successful!
You can now close this window and return to Claude Code.
同時に、Claude Code のターミナルにも以下のような確認メッセージが表示されます。
text✓ Login successful!
You can now use Claude Code.
ステップ 5: 作業の再開
認証が完了したので、先ほど中断された作業を再開します。 同じコマンドを再実行すれば、今度はエラーなく処理が完了します。
このシナリオ全体の流れを図にすると以下のようになります。
mermaidsequenceDiagram
participant U as ユーザー
participant C as Claude Code
participant A as 認証サーバー
participant API as Claude API
U->>C: コード生成リクエスト
C->>API: API呼び出し(期限切れトークン)
API->>C: 401 エラー返却
C->>U: エラーメッセージ表示
Note over U,C: --- ここから対処 ---
U->>C: /login コマンド実行
C->>A: 認証フロー開始
A->>U: ブラウザで認証ページ表示
U->>A: 認証情報入力
A->>C: 新トークン発行
C->>U: ログイン成功通知
Note over U,C: --- 作業再開 ---
U->>C: 同じリクエスト再実行
C->>API: API呼び出し(新トークン)
API->>C: 正常レスポンス
C->>U: コード生成完了
このシーケンス図を見ると、エラー発生から解決、作業再開までの一連の流れが理解できますね。
トラブルシューティング: ブラウザが開かない場合
まれに、/login
コマンドを実行してもブラウザが自動で開かないことがあります。
その場合は、ターミナルに表示される URL を手動でコピーしてブラウザに貼り付けてください。
textOpening browser for authentication...
If your browser doesn't open automatically, please visit:
https://claude.ai/oauth/authorize?client_id=xxxxx&redirect_uri=xxxxx
この URL をコピーし、任意のブラウザのアドレスバーに貼り付けてアクセスすれば、認証ページが開きます。
予防策: 定期的な再認証
長時間の作業が予想される場合は、作業開始時や休憩後に /login
コマンドを実行しておくと、作業中のエラーを予防できます。
トークンの有効期限は数時間から数日程度ですので、毎日 Claude Code を使う方は、作業開始時の習慣にするとよいでしょう。
まとめ
Claude Code で発生する API Error: 401
は、OAuth トークンの有効期限切れが原因です。
このエラーは /login
コマンドを実行し、ブラウザで再認証することで簡単に解決できます。
解決手順のまとめ
# | アクション | 所要時間 |
---|---|---|
1 | /login コマンド実行 | 数秒 |
2 | ブラウザで認証 | 1〜2 分 |
3 | 作業再開 | すぐ |
エラーが発生しても焦らず、この手順に従えば数分で作業を再開できます。
また、長時間作業する場合は定期的に /login
を実行することで、エラーを未然に防ぐことができますね。
Claude Code を快適に使い続けるために、この対処法を覚えておくと安心です。
関連リンク
- article
Claude Code で発生する API Error: 401·{"type":"error", ...} Please run /login の対処法
- article
【2025 年 10 月版】 Claude Sonnet 4.5 登場! Claude Pro でも使える!Claude Code のアップデート手順まで紹介
- article
Claude Code vs Cursor vs Codeium:実案件で比較した生産性・品質・コスト
- article
GPT-5-Codex vs Claude Code / Cursor 徹底比較:得意領域・精度・開発速度の違いを検証
- article
Claude Code トラブルシュート大全:Request timed out を根絶する 9 の対策
- article
Claude Code 概要とユースケース地図:個人開発からエンタープライズ導入まで一望
- article
Obsidian 日次・週次レビュー運用:テンプレ+ Dataview で継続する仕組み
- article
フィーチャーフラグ運用:Zustand で段階的リリースとリモート設定を実装
- article
Nuxt 本番運用チェックリスト:セキュリティヘッダー・CSP・Cookie 設定を総点検
- article
WordPress 技術アーキテクチャ図解:フック/ループ/クエリの全体像を一枚で理解
- article
Nginx ログ集中管理:Fluent Bit/Loki/Elasticsearch 連携とログサンプリング戦略
- article
WebSocket でリアルタイム在庫表示を実装:購買イベントの即時反映ハンズオン
- blog
iPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
- blog
Googleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
- blog
【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
- blog
Googleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
- blog
Pixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
- blog
フロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
- review
今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
- review
ついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
- review
愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
- review
週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
- review
新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
- review
科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来