接続・認証エラー

ログインでブラウザが開かない・戻れない時の対処法

Claude Codeのログインでブラウザが開かない、ログイン後に戻れない時の対処を整理。cキーでのURLコピー、コードの貼り付け、WSL2・SSH・コンテナの事情を解説します。

公的機関・公式資料などの一次情報と照合して作成しています。このサイトについて

ブラウザが開かない・戻れないとは

Claude Code の初回起動や /login では、ブラウザが開いてサインインする流れになっています。この仕組みでは、Claude Code が自分のパソコンの中(127.0.0.1)で小さな受け付け口を開き、サインインの結果をブラウザからそこへ返してもらいます。この受け付け口を、公式では「ローカルのコールバックサーバー」と呼んでいます。

ここでつまずく場面は、大きく 3 つに分かれます。

  • ブラウザが自動で開かない(画面に URL は出ているが、ブラウザが立ち上がらない)。
  • ブラウザでサインインできたのに、ターミナルに戻らず、代わりにログインコードが表示される。
  • 受け付け口を開く段階で失敗し、ブラウザも URL も出ないまま止まる。

最初の 2 つは、URL のコピーとコードの貼り付けで進められます。3 つ目は別の対処になります。保存済みのログインが期限切れになった場合のメッセージは、Login expired の直し方を見てください。

基本(公式が案内している手順)

公式の Authentication と、インストール・ログインのトラブルシュートで確認できた内容を整理します。

← 横にスクロールできます →

状況 公式の案内
ブラウザが自動で開かない c キーを押して、ログイン URL をクリップボードにコピーし、ブラウザに貼り付ける
URL が狭いターミナルや SSH で折り返され、クリックできない 同じく c キーでコピーすれば貼り付けられる
ログイン後に、リダイレクトされずにコードが表示される ターミナルの Paste code here if prompted のプロンプトに、そのコードを貼り付ける
WSL2 でブラウザがまったく開かない 環境変数 BROWSER に、Windows 側のブラウザのパスを設定する
対話プロンプトに貼り付けても反応しない 端末の別の貼り付け方法を試すか、claude auth login を使う
受け付け口を開けない(Failed to start OAuth callback server) claude setup-token か ANTHROPIC_API_KEY で先に進む。または sandbox の中で動かしているなら、そのポリシーを確認する

また、ログインが完了すると、ターミナルに Login successful と表示され、Enter を押して続けるよう促されます。

コードが表示される理由について、公式は「ブラウザが Claude Code のローカルのコールバックサーバーに届かないため」で、WSL2、SSH、コンテナで多いと説明しています。これらの環境では、ブラウザがたいてい別のマシンで開くためです。

具体例(場面別の表示とコマンド)

場面1: WSL2 でブラウザが開かない

公式の例では、Windows 側のブラウザのパスを BROWSER に設定してから claude を起動します。パスは、お使いのブラウザの場所に読み替えてください。

export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
claude

場面2: ログインコードの貼り付けが効かない

対話プロンプトに貼り付けても何も起きない場合、端末の貼り付け操作が入力欄に届いていない可能性が高いと、公式は説明しています。Windows Terminal では、右クリックや Shift+Insert のような別の貼り付け方法を試します。または、標準入力から貼り付けたコードを読み取る次のコマンドを使います。

claude auth login

公式によると、この方法はネイティブ Windows など、対話プロンプトへの貼り付けが失敗する端末でも使えます。

場面3: Invalid code と表示される

次の表示が出ることがあります。

OAuth error: Invalid code. Please make sure the full code was copied

公式は、ログインコードの期限が切れたか、コピー中に途切れたと説明しています。対処として、Enter で再試行し、ブラウザが開いたらすぐにログインを完了する、c キーで URL 全体をコピーする、リモートや SSH のセッションではターミナルの URL を手元のブラウザで開く、の 3 つが挙げられています。

場面4: 受け付け口を開けない

ブラウザも URL も出ずに、次のようなメッセージで止まる場合です。

Failed to start OAuth callback server: Failed to start server. Is port 0 in use?

公式によると、Is port 0 in use? で終わるメッセージは、IPv4 のローカルアドレス 127.0.0.1 で待ち受けること自体に失敗したことを意味します。この時点ではまだログイン URL がないため、Paste code here if prompted の手順は使えません。

ブラウザが開かない時の実践ステップ

切り分けから対処の順に進めます。

  1. 画面に URL が出ているか確認する。出ていれば、c キーを押してコピーし、手元のブラウザに貼り付けます。URL が複数行に折り返されている場合も、c キーならまとめてコピーできます。
  2. SSH やコンテナ、WSL2 で動かしているか確認する。そうであれば、ブラウザは別のマシンで開いている可能性があります。ターミナルの URL を、自分が操作しているマシンのブラウザで開いてください。
  3. サインイン後にコードが表示されたら、ターミナルの Paste code here if prompted に貼り付ける。
  4. 貼り付けても進まないときは、端末の別の貼り付け方法を試す。それでも駄目なら claude auth login を使う。
  5. WSL2 でブラウザ自体が開かないなら、BROWSER 環境変数を設定してから claude を起動し直す。
  6. Invalid code が出たら、Enter で再試行し、ブラウザが開いたらすぐにログインを完了する。
  7. Failed to start OAuth callback server が出たら、先へ進む別の方法を選ぶ。claude.ai のサブスクリプションなら、サインインできるマシンで claude setup-token を実行し、表示されたトークンをこのマシンの CLAUDE_CODE_OAUTH_TOKEN に設定します。そうでなければ、Claude Console のキーを ANTHROPIC_API_KEY に設定します。ブラウザでのサインインを使いたい場合は、sandbox の中で動かしているなら、ローカルポートの待ち受けを許可しているか確認します。直らなければ、公式は /feedback で環境情報つきの報告をするよう案内しています。
  8. 原因が分からないときは、/logout で完全にサインアウトし、Claude Code を閉じて、claude で最初からやり直す。

ブラウザが開かない時の注意点

  • claude setup-token で作るトークンは、保存されません。表示されたトークンを自分でコピーして、環境変数に設定する必要があります。公式によると、このトークンは Pro、Max、Team、Enterprise のプランが必要です。
  • 環境変数 CLAUDE_CODE_OAUTH_TOKEN は、設定しておくと新しいセッションのたびに読み込まれます。不要になったらシェルの設定ファイルなどから外してください。
  • ANTHROPIC_API_KEY を設定していて、起動時に使うことを承認すると、ログインの画面は出ません。意図せず API 課金になるのを避けたい場合は、/status で使われている認証情報を確認してください。
  • 組織の管理者が管理設定でログイン方法を指定している場合は、画面や手順が異なることがあります。分からなければ管理者に確認してください。

ブラウザが開かない時のよくあるミス

  • SSH 先のマシンで開いたブラウザに URL を貼ろうとする。ブラウザは手元のマシンのものを使います。
  • コードを途中までしかコピーしない。Invalid code の原因になります。
  • コードを取得してから時間を置いて貼る。期限が切れる場合があります。
  • Failed to start OAuth callback server が出ているのに、Paste code を待つ。この場合はログイン URL が作られないので、コードの貼り付けは使えません。
  • CLAUDE_CODE_OAUTH_TOKEN を設定したことを忘れる。あとで /login をしても、新しいセッションでは変数が再び読まれます。

ブラウザが開かない時のチェックリスト

  • 画面に出ている URL を、c キーでコピーした。
  • 自分が操作しているマシンのブラウザで URL を開いた。
  • コードが出たら、全体をコピーして Paste code here if prompted に貼った。
  • 貼り付けが効かない場合に、別の貼り付け方法か claude auth login を試した。
  • WSL2 なら BROWSER を設定した。
  • Failed to start OAuth callback server の場合は、claude setup-token か ANTHROPIC_API_KEY を検討した。
  • 最後に /status で、使われている認証情報を確認した。

ブラウザが開かない時のFAQ(よくある質問)

Q. Paste code here if prompted は、必ず出ますか。
A. 公式では「if prompted」、つまり求められたときに貼る、と書かれています。ブラウザが自動で戻ってこられる環境では、使わないことがあります。

Q. SSH 先でログインするにはどうすればよいですか。
A. 公式は、ブラウザが別のマシンで開くことがあると説明しています。ターミナルの URL をコピーして、手元のブラウザで開き、表示されたコードをターミナルに貼り付けます。サインインできるマシンで claude setup-token を使う方法もあります。

Q. ログインのあとに 403 が出ます。
A. これはブラウザの問題とは別です。公式のトラブルシュートでは、サブスクリプションが有効か、Console のロールがあるか、プロキシが干渉していないかの確認が挙げられています。一般的なログインの不具合は ログインできない時の対処を見てください。

筆者の見解(ブラウザが開かない時)

私見では、このつまずきで最初にやるべきことは、対処法を探すことではなく「いま画面に URL が出ているか」を確かめることだと考えます。URL が出ていれば c キーとコードの貼り付けでほぼ片づきますし、URL すら出ずに Failed to start OAuth callback server で止まっているなら、貼り付けの手順をいくら試しても進みません。この二つを取り違えたまま再起動を繰り返すのが、いちばん時間を失うパターンだと筆者は感じています。

やってはいけないと考えるのは、ログインが面倒だからといって、最初から ANTHROPIC_API_KEY や CLAUDE_CODE_OAUTH_TOKEN に逃げることです。どちらも環境変数として残るため、あとで普通にログインしたつもりでも別の認証情報が使われ続け、請求の窓口が変わったり、別の不具合の原因になったりしかねません。私見では、これらは Failed to start OAuth callback server のように、ブラウザでのサインインが本当に使えない場面に取っておく手段です。使った場合は、作業の終わりに /status で何が使われているかを確かめ、不要になった設定を外すところまでを一つの手順と考えるのがおすすめです。

ブラウザが開かない時の関連項目

出典(一次情報)

本記事は一般的な情報の提供を目的としています。Claude Code の料金・利用上限・機能・エラーメッセージ・コマンドは頻繁に更新されるため、最新の内容は Anthropic の公式ドキュメントとお使いのバージョンで必ずご確認ください。契約・請求・セキュリティに関する判断は、公式サポートや社内の担当部門にご相談ください。「筆者の見解」は一つの考え方です。