Unable to connect to Anthropic servicesの対処 — Claude Code
Claude Codeの初回セットアップで出る「Unable to connect to Anthropic services」の意味と対処。サインイン前の接続確認が失敗する原因を切り分けます。
Unable to connect to Anthropic services — Claude Codeを初めて起動したとき、サインイン画面が出る前にこの文言で終了することがあります。初回セットアップでは、サインインの手順を見せる前にapi.anthropic.comとplatform.claude.comへ到達できるかを確認しており、どちらか一方でも失敗すると理由を表示して終了します。
似た文言の「Unable to connect to API」とは発生するタイミングが違います。こちらはサインインを終えたあとの通常利用中に出るエラーで、今回のエラーはそれより前、まだ一度もサインインしていない起動直後にしか出ません。
初回セットアップの流れのどこで起きるか
Claude Codeのインストール自体が終わったあと、初めてclaudeを起動すると、画面にはまだ何も出ないまま数秒の間が空きます。この間に走っているのが、api.anthropic.comとplatform.claude.comへの到達性チェックです。両方成功して初めて、サインイン方法を選ぶ画面に進みます。片方でも失敗すれば、サインイン画面を一度も見せないまま理由を表示して終了します。
つまり、このエラーに当たっている時点では、まだアカウントとの紐付けやOAuthのやり取りは一切始まっていません。認証情報が拒否された、トークンが失効した、といった認証まわりのエラーとは根本的に別の段階です。原因はネットワーク経路だけに絞り込めます。
メッセージの読み方
実際の表示は次のような形になります。
Unable to connect to Anthropic services
Failed to connect to api.anthropic.com: ECONNREFUSED
Connection to api.anthropic.com timed out after 10 seconds
A proxy is configured via HTTPS_PROXY. Check that it allows connections to the host above.1行目は見出し、2〜3行目がどちらのホストでどんな失敗が起きたかの詳細、4行目はプロキシ経由だった場合にのみ付く補足です。各プローブには10秒の猶予があり、それを過ぎるとタイムアウト扱いになります。
4行目が付くかどうかは重要な手がかりです。この確認はAPIリクエストと同じプロキシ設定を通るため、HTTPS_PROXYのような環境変数でプロキシを設定している場合は、その変数名がメッセージに出ます。変数名が出ないなら、プロキシではなくネットワークやファイアウォールそのものを疑う番です。
プロキシ変数は複数の書き方に対応しており、https_proxy・HTTPS_PROXY・http_proxy・HTTP_PROXYの順で最初に見つかった値が使われます。小文字と大文字の両方を別の用途で設定していて、意図しない方が先に読まれているケースもあるため、メッセージに出た変数名が自分の想定と一致しているかを確認します。あわせて、除外設定のNO_PROXYにAnthropicのホストを誤って含めていないかも見ておきます。
これらの環境変数は、Claude Codeを起動する前にシェルで設定しておく必要があります。起動時に一度だけ読み込まれる仕組みのため、起動済みのセッションの裏で値を変更しても反映されません。設定を直したら、必ずいったん終了してから起動し直します。
v2.1.222で接続確認の土台が変わった
v2.1.222以降は、この確認がAPIリクエストと同じプロキシ対応のトランスポートを使うようになり、失敗すれば分かりやすいメッセージとともにタイムアウトします。無期限に固まる挙動そのものがなくなっているため、古いバージョンで「固まったまま動かない」ケースに当たった場合は、まずアップデートを検討する価値があります。
この変更が重要なのは、通常利用時のAPIリクエストとこの起動時チェックが、それまで別々の経路でプロキシを扱っていた点です。つまり、実際の会話ではプロキシ経由の通信が問題なく通っていても、初回のこの確認だけが失敗して先に進めない、という食い違いが起こり得ました。今は同じ経路を通るため、この種の食い違いは起きません。
証明書エラーの場合は別の文言になる
/loginとこの起動時の接続確認では、証明書の検証に失敗したときだけ表示が変わります。コード付きの接続失敗とは違い、OpenSSLのエラーコードと対処のヒントが1行にまとまって出ます。
SSL certificate error (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). If you are behind a corporate proxy or TLS-intercepting firewall, set NODE_EXTRA_CA_CERTS to your CA bundle path, or ask IT to allowlist *.anthropic.com. Run `claude doctor` for details.これは、ネットワーク上のプロキシやセキュリティ製品がTLS通信を自前の証明書で中継しており、Claude Codeがその証明書を信頼できていないときに出ます。対処はメッセージの通りで、組織のCA証明書バンドルをNODE_EXTRA_CA_CERTSに指定するか、IT部門に*.anthropic.comの許可を依頼します。claude doctorを実行すると、読み込まれている証明書の状態を含めた診断が確認できます。証明書の検証をまるごと無効化する対処は避けます。意図しない通信先にも接続してしまうためです。
/loginとこの起動時の接続確認は、どちらも通常のAPIリクエストが始まる前のサインイン前段階という共通点があります。証明書まわりの設定に問題がある環境では、この起動時チェックだけでなく、/loginをやり直したときにも同じ形式のエラーに当たる可能性があります。
対処の順番
メッセージにプロキシ変数名が出ている場合は、その値が正しいプロキシを指しているか、そのプロキシからapi.anthropic.comとplatform.claude.comの両方へHTTPS接続を許可されているかを確認します。社内ネットワークの管理者に確認が必要なケースも多く、設定項目の全体はClaude Codeプロキシ設定にまとめています。
プロキシ変数名が出ていない、あるいはプロキシを使っていない環境で失敗する場合は、通常利用中の接続エラーと同じ手順で切り分けます。同じネットワークからcurl -I https://api.anthropic.comが通るか、VPNが該当ホストをブロックしていないか、ファイアウォールが必要なホストを許可しているかという点は共通です。
ネットワークが開いていて、プロキシの設定も問題なく、それでも失敗が続く場合は、利用している国・地域でClaude Codeの提供対象になっているかを確認する余地も残ります。
通常利用中の接続エラーと何が違うか
同じ「接続できない」という症状でも、このエラーは特別な立ち位置にあります。まず、対象がサインイン前の初回セットアップに限られる点です。サインイン済みで普段使っている最中に接続が切れる場合は、「Unable to connect to API」の原因と対処の対象になり、コード別の原因一覧やcurlでの切り分け手順はそちらにまとめています。
もう一つの違いは、確認先がapi.anthropic.comとplatform.claude.comの2つに固定されている点です。通常利用中のエラーは接続先がリクエストごとに変わりますが、この初回チェックは常に同じ2つのホストへのプローブだけを見ています。前者はAPI本体への到達性、後者はアカウント認証(Anthropic Console・claude.aiいずれのサインインでも使う)への到達性を確認しており、片方だけ許可してもう片方を見落とすとサインインまでたどり着けません。
よくある質問
このチェックはいつ走りますか
サインインの手順を見せる前、つまりまだ一度もサインインしていない起動時に走ります。サインインを終えたあとの通常利用では、このメッセージではなく「Unable to connect to API」が該当します。
2つのホストのうち片方だけ失敗しても出ますか
出ます。api.anthropic.comとplatform.claude.comのどちらか一方でも接続確認に失敗すれば、Claude Codeは理由を表示して終了します。両方成功して初めてサインイン画面に進みます。
メッセージにプロキシ変数名が出ないのはなぜですか
HTTPS_PROXYのような環境変数でプロキシを設定していない、またはこの確認がプロキシを経由せずに直接失敗した場合です。この場合は原因がプロキシ設定ではなく、ネットワーク経路やファイアウォール側にある可能性が高くなります。
失敗したら自動でリトライされますか
この初回チェックについては、通常利用中のAPIリクエストのような自動リトライは説明されていません。猶予時間を過ぎればそのままメッセージを表示して終了します。もう一度試すには、原因になっていそうな設定を直したうえでClaude Codeを起動し直します。断続的な回線の乱れがたまたま重なっただけの場合は、起動し直すだけで通ることもあります。
claude --debugは役に立ちますか
役に立ちます。デバッグログには、読み込まれたプロキシURLや証明書のパスが記録され、値が不正で無視された場合もそこに残ります。/statusを実行すれば、対話セッション内でも有効なプロキシの値やCA証明書の読み込み状況をその場で確認できます。接続確認そのものが失敗して起動できない状況では使えませんが、設定を直したあとの再確認には有効です。
アップデートすれば直りますか
古いバージョンで「Checking connectivity...」のまま無期限に固まっていた場合は、v2.1.222以降へのアップデートでその挙動自体がなくなります。ただし、プロキシやファイアウォールの設定そのものに問題がある場合は、アップデートだけでは解決しません。
まとめ
「Unable to connect to Anthropic services」は、初回セットアップでサインイン画面を出す前の接続確認が失敗したときに出ます。メッセージにプロキシ変数名が付いていればその設定を、付いていなければ通常のネットワーク経路を疑います。v2.1.222より前のバージョンで無期限に固まる症状に当たっていた場合は、アップデートだけで解消することもあります。原因を1つずつ削っていけば、初回起動でつまずく時間は最小限で済みます。