# Claude Codeにログインできないときの対処法：500・403・Invalid code

> Claude CodeのOAuth認証で起きる500、ログイン後の403、Invalid codeを発生箇所から切り分けます。WSL・SSHでの認証コード入力、認証情報の確認、復旧判定まで解説。

- Source: https://www.aifreeapi.com/ja/posts/claude-code-oauth-error
- Language: ja
- Published: 2026-09-06
- Updated: 2026-09-12
- Publisher: AI Free API (https://www.aifreeapi.com)

Claude Codeの認証エラーは、**どこで止まったか**によって対処が変わります。認証コード入力時の `Invalid code` なら新しいログインを開始し、ログイン後の `403 Forbidden` なら使われている認証情報とアクセス権を確認します。`500` はブラウザの認可画面と、ログイン後のAPI呼び出しを分けて調べてください。

最初から設定フォルダーを削除したり、APIキーに切り替えたりする必要はありません。今の課金方法を保ったまま、失敗箇所に合う操作から進めます。以下は2026年9月6日に確認した公式文書に基づく手順です。

## 最初に、エラーが出た場所を確認する

エラー文を控えたうえで、直前に何をしていたかを次の表に照らしてください。番号だけで原因を決めず、ブラウザなのか端末なのかも残します。

| 止まった場所・表示 | 最初に確認すること | 次の操作 |
|---|---|---|
| 端末へコードを入れると `OAuth error: Invalid code` | 新しく開始したログインのコードか、コピーが欠けていないか | ログインを開始し直して、今回のコードを入力する |
| WSL・SSH・コンテナーでブラウザ承認後も端末が待ち続ける | ブラウザとCLIが別の環境で動いていないか | 表示URLを開き、コードを元の端末へ戻す |
| ログイン後に `403 Forbidden` | 認証方式、契約、Consoleのロール、社内プロキシ | `/status` と利用アカウントを確認する |
| ブラウザの認可ページで `500` | 発生時刻、公式の障害情報、認可ページで止まるか | 少し待って新しいログインを試す |
| 入力した依頼に対して `API Error: 500` | 実際のAPI接続先と、そのサービスの障害情報 | 少し待って小さな依頼を再試行する |

ログイン操作そのものの500は、通常の会話リクエストの500と同じ場面ではありません。2026年4月7日には、Claude Code 2.1.92の認可処理で500になった[利用者の報告](https://github.com/anthropics/claude-code/issues/44719)があります。ただし、これは当時の個別報告であり、現在の全体障害や特定バージョンでの解消を示すものではありません。

![Claude Codeのエラーを発生箇所で切り分け、認証コード入力・権限確認・復旧確認へ進む手順](https://www.aifreeapi.com/posts/ja/claude-code-oauth-error/img/login-error-diagnosis.webp)

## Invalid codeと、承認後に戻れない場合

### 新しいログインのコードを、元の端末に入力する

公式文書は `Invalid code` の原因として、コードの期限切れやコピーの欠落を挙げています。エラー画面で再試行の案内が出ていればEnterを押し、新しく開いた認可手順を最後まで進めます。URLをコピーする必要がある場合は、案内に従って `c` を使うと完全なURLを取得できます。古いタブのコードを使い回さず、新しい手順で表示されたコードをそのまま入力してください。[公式のInvalid code対処法](https://code.claude.com/docs/en/troubleshoot-install#oauth-error-invalid-code)

コードは速やかに入力しますが、公式に確認できない「必ず15秒以内」といった秒数を目安にする必要はありません。また、ここで入力するのはブラウザで得た認証コードです。Consoleで発行するAPIキーとは別のものです。

### WSL・SSH・コンテナーでも手動入力できる

ブラウザとClaude Codeが別のホストや環境で動いていると、承認後のリダイレクトがCLI側に届かないことがあります。この場合でも、環境がリモートという理由だけでAPIキーへ切り替える必要はありません。

1. Claude Codeを実行している端末でログインを開始します。
2. 端末に表示されたURLを、手元のブラウザで開きます。
3. 使いたいアカウントで認可を完了し、表示されたコードをコピーします。
4. ログインを開始した**元の端末の入力欄**へ貼り付けます。

ブラウザに成功と表示された時点で終わらず、元の端末が先へ進むことを確認してください。貼り付けが認識されない場合は、端末の貼り付けメニューや別の貼り付け操作を試します。公式文書は、標準入力を使う次のコマンドも案内しています。通常のシェルで実行し、表示される案内に従います。[WSL2・SSH・コンテナーの公式手順](https://code.claude.com/docs/en/troubleshoot-install#oauth-login-fails-in-wsl2-ssh-or-containers)

```bash
claude auth login
```

認可URLやコードを同僚に転送して操作を代行してもらうのは避けてください。サポートへ送る記録にも、完全な認可URLや認証コードは含めません。

## 403は、ログインし直す前に認証方式と権限を見る

`403 Forbidden` だけでは、コードの期限切れ、アカウント停止、地域制限のどれかを断定できません。まずClaude Codeの対話画面で次を実行し、現在の認証情報を確認します。

```text
/status
```

**Pro／Maxで使う場合**は、認可したアカウントに有効なサブスクリプションがあるかを確認します。ブラウザに別アカウントのセッションが残っている場合もあるため、普段Claudeを使っているアカウントと一致するかを見てください。

**Console経由で使う場合**は、対象組織の **Settings → Members** で、Claude CodeまたはDeveloperのロールがあるかを確認します。自分で確認・変更できなければ、組織の管理者へ依頼します。公式文書は、ログイン後の403について契約・ロールのほか、社内プロキシの干渉も確認事項に挙げています。[ログイン後の403に関する公式案内](https://code.claude.com/docs/en/troubleshoot-install#403-forbidden-after-login)

![OAuthログインの流れと、403が出たときに確認する認証情報・アクセス権](https://www.aifreeapi.com/posts/ja/claude-code-oauth-error/img/oauth-permission-checks.webp)

### APIキーが残っていると、想定した契約で動かないことがある

以前APIキーを設定していた端末では、ブラウザでサブスクリプションにログインしても、その認証が実際のリクエストに使われるとは限りません。

- 対話モードでは、承認済みの `ANTHROPIC_API_KEY` がサブスクリプションのOAuthより優先されます。
- `-p` の非対話モードでは、`ANTHROPIC_API_KEY` があれば常に使われます。
- `ANTHROPIC_AUTH_TOKEN` やプロバイダーの選択なども認証に影響します。`CLAUDE_CODE_OAUTH_TOKEN` は新しいセッションごとに読み込まれます。

これはすべての構成を網羅した優先順位表ではありません。ゲートウェイやプロファイルを利用している場合は、[公式の認証優先順位](https://code.claude.com/docs/en/authentication#authentication-precedence)も確認してください。

診断のために環境変数の値や設定ファイル全体を公開する必要はありません。まず上記の変数が設定されているかだけを調べ、意図せず残っていたものだけを修正します。シェルの起動設定、IDE、コンテナーなど、どこから渡されているかも確認し、Claude Codeを起動し直して `/status` を再確認します。

APIキーで動作したとしても、元のサブスクリプション認証が復旧した証明にはなりません。ConsoleのAPI利用へ切り替える場合は、別の認証・課金方法を選ぶ操作として扱ってください。

### 社内ネットワークではブラウザと端末を別々に確認する

ブラウザでClaudeを開けても、CLIに同じプロキシ設定や証明書が渡っているとは限りません。社内環境なら、Claude Codeを実行するプロセスのHTTP／HTTPSプロキシ設定と証明書を管理者に確認してもらいます。公式文書ではHTTP(S)プロキシに対応し、SOCKSは非対応とされています。社内CAを追加する場合は `NODE_EXTRA_CA_CERTS` が案内されています。証明書検証を無効にするのではなく、必要なCAを正しく設定してください。[ネットワーク設定](https://code.claude.com/docs/en/network-config)

日本は現在の[対応国一覧](https://www.anthropic.com/supported-countries)に含まれます。ただし、対応国であることだけで、個々の契約や組織の利用権限まで確認できるわけではありません。日本語設定や表示言語から利用場所を判断することもできません。

アカウント停止が明示されている場合は、認証コードの再入力ではなく、[アカウント停止後の異議申し立て手順](/ja/posts/claude-code-ban-refund)へ進んでください。

## 500や、何度も期限切れになる場合の進め方

ブラウザの認可画面で500になった場合は、発生時刻を控え、[Claudeの稼働状況](https://status.claude.com/)で該当する時間帯と機能の障害情報を確認します。少し待った後に新しいログインを開始し、同じ箇所で再発するかを見ます。障害情報が出ていなくても、個別の認可処理の成功までは保証されません。

ログイン後の `API Error: 500` は、API側の内部エラーとして扱います。`ANTHROPIC_BASE_URL` を変更している場合は、接続先がAnthropicではなくゲートウェイの可能性があります。実際の接続先の稼働情報を調べてから、短い依頼を再試行してください。この場面で認証情報を繰り返し消しても、API側の障害への対処にはなりません。[APIの500エラー](https://code.claude.com/docs/en/errors#api-error-500-internal-server-error)

一方、`Not logged in` やトークン期限切れが繰り返されるなら、対話画面の `/login` で認証を更新します。端末の日時が大きくずれていないかも確認してください。macOSでは、通常のシェルから次を実行するとキーチェーンの問題も診断できます。

```bash
claude doctor
```

現在のClaude Codeは、キーチェーンへのOAuth保存が拒否された場合に認証情報を平文ファイルに保存する方式へ切り替えることがあります。そのため、キーチェーンのエラーだけで「認証情報がまったく保存されていない」とは判断できません。認証ファイルを開いてトークンを探すより、診断結果とログイン状態を確認します。[期限切れ・保存に関する公式案内](https://code.claude.com/docs/en/troubleshoot-install#not-logged-in-or-token-expired)

認証状態のリセットが必要な場合は、`/logout` の後でClaude Codeを閉じ、起動し直してログインします。ただし現在の `/logout` は、保存済みのMCPログインやプラグインの秘密情報も削除する場合があります。再設定が必要になる影響を確認してから実行してください。設定ディレクトリ `~/.claude` 全体を削除する手順には進みません。[ログインのリセット](https://code.claude.com/docs/en/troubleshoot-install#reset-your-login)

## 復旧の確認と、解決しないときに残す情報

復旧は、ブラウザの成功画面だけでは判断できません。**失敗していた同じ環境で、意図した認証情報が使われ、新しい依頼への応答が返ること**を確認します。

対話モードなら `/status` を確認した後、ファイル操作の不要な短い依頼を送ります。たとえば「ファイルを変更せず、OKとだけ返してください」で十分です。`-p` やIDE、コンテナーだけで起きていた問題なら、その実行方法でも確認します。確認用の依頼にも、選択している契約の使用量やAPI料金が適用されます。

解決しない場合は、次の情報を一つにまとめると、認証と通信のどちらを調べるべきか伝わりやすくなります。

- 発生日時とタイムゾーン、エラーの正確な文言。
- `claude --version` の結果、OS、端末、WSL／SSH／コンテナーの有無。
- 認可ページ、コード入力、ログイン後の依頼のうち、失敗する段階。
- サブスクリプション、Console、外部プロバイダーのどれを使う意図かと、`/status` で確認した認証方式。
- 認証・接続先に関係する環境変数の設定有無、プロキシの利用有無、試した操作と結果。

APIキー、トークン、認証コード、完全な認可URL、Cookie、個人情報は除いてください。ログ全体や環境変数一覧をそのまま貼る必要はありません。

アカウントへのログインが循環する、契約を認識しないなどの問題は、サインイン後の **Get help** からAnthropicサポートへ連絡します。インストールやCLIの不具合は、公式案内に従ってGitHubまたは `/feedback` を使います。[解決しない場合の公式窓口](https://code.claude.com/docs/en/troubleshoot-install#still-stuck)
