Claude Code「Unable to connect to Anthropic services」の原因と対処|Status 403
Claude Code の「Unable to connect to Anthropic services」は、初回起動時の接続確認の失敗です。2行目の Status 403・ECONNREFUSED・timed out・ERR_PROXY_TUNNEL・ERR_BAD_REQUEST で原因を読み分ける方法と、プロキシ・許可リストの直し方を実機検証つきで解説します。

Unable to connect to Anthropic services
Failed to connect to api.anthropic.com: ECONNREFUSED
このメッセージは、Claude Code が初回セットアップの途中で、Anthropic のサーバー(api.anthropic.com と platform.claude.com)に接続できるかを確かめたところ、失敗したので終了したという意味です。原因は2行目に書かれています。ECONNREFUSED や timed out ならネットワークやプロキシの経路、Status 403 ならつながった先で拒否されている、と読み分けられます。主な直し方は、プロキシの設定(HTTPS_PROXY)を正しくするか、社内のネットワーク担当者に通信を許可してもらうことです。この確認に使われるのは2つのホストですが、ログインや更新まで使うには、下の「許可してもらう」の表の5つのホストが必要です。
この記事を読むとわかること
- このエラーがいつ・何を確認して出ているのか
- 2行目(
ECONNREFUSED・ENOTFOUND・timed out・Status 403・ERR_PROXY_TUNNEL・ERR_BAD_REQUEST・証明書エラー)の読み分け方 - Claude Code が確認している URL に
curlで届くか確かめる方法 - プロキシ・許可リスト・対応国など、原因別の直し方
- 起動後に出る「Unable to connect to API」との違い
内容は2026年9月30日時点(Claude Code v2.1.285)の公式ドキュメント(Error reference の「Unable to connect to Anthropic services」、Enterprise network configuration)と、手元での再現にもとづいています。実機で確認した内容とドキュメント記載の内容は書き分けています。
意味:初回セットアップの接続確認に失敗した
「Unable to connect to Anthropic services」とは、Claude Code が初回セットアップで、サインイン画面を出す前に行う接続確認に失敗したときのメッセージです。公式ドキュメントによると、Claude Code は api.anthropic.com と platform.claude.com に届くかを確かめ、どちらか一方でも失敗すると理由を表示して終了します(Error reference)。
api.anthropic.com は API リクエスト用、platform.claude.com は認証用(claude.ai アカウントでもログイン時のトークンの受け渡しはここを通る)のホストです(用途の詳細は下の許可リストの表)。どちらかに届かないと、ログインも作業もできないため、Claude Code は最初の段階で止めています。
何を確認しているか
Claude Code は、次の2つの URL に GET リクエストを送り、10秒以内に 200 が返るかを確かめています(URL は既定の設定での値。v2.1.285 の実行ファイルに含まれる処理で確認)。
https://api.anthropic.com/api/hellohttps://platform.claude.com/v1/oauth/hello
公式ドキュメントによると、この確認は API リクエストと同じプロキシ設定を通り、それぞれ10秒で打ち切られます。確認に使ったプロキシがあれば、メッセージにその環境変数名(HTTPS_PROXY など)が表示されます。失敗したときの2行目は、実行ファイルでは次の3つの形になっていました。
- 応答が
200以外:Failed to connect to <ホスト名>: Status <番号> - 10秒以内に応答がない:
Connection to <ホスト名> timed out after 10 seconds - それ以外の失敗:
Failed to connect to <ホスト名>: <エラーコード>(コードが無ければエラーの説明文)
ここから、Status 403 のように番号が出ている場合は「接続そのものはできたが、200 以外の応答が返ってきた」という意味になります。ネットワークがまったくつながらない場合とは、原因の場所が違います。
2行目で原因を読み分ける
2行目がエラーコードなら経路かプロキシ、Status <番号> ならつながった先での拒否、timed out なら10秒以内に応答がなかった、と読み分けます。内容ごとの意味と、最初に確認することは次のとおりです。
| 2行目の表示 | 意味 | 最初に確認すること |
|---|---|---|
Failed to connect to api.anthropic.com: ECONNREFUSED | プロキシ(プロキシを使わない場合は接続先)に接続を拒否された | プロキシのアドレスとポートが正しいか。プロキシが起動しているか |
Failed to connect to ...: ENOTFOUND(公式の「Unable to connect to API」の説明では FailedToOpenSocket の場合もある) | ホスト名を IP アドレスに変換(名前解決)できなかった(この確認での表示は実機未確認) | インターネット接続と DNS の設定 |
Connection to ... timed out after 10 seconds | 10秒以内に応答がなかった | ファイアウォールで通信が捨てられていないか。プロキシが応答しているか |
Failed to connect to ...: ERR_PROXY_TUNNEL | プロキシが、目的のホストへの中継(トンネル)を断った | プロキシの認証情報。プロキシでそのホストが許可されているか |
Failed to connect to ...: Status 403 | 接続先(または途中の検査機器)から 403(アクセス拒否)が返った | 社内のプロキシ・ネットワークフィルター。利用している国・地域 |
Failed to connect to ...: ERR_BAD_REQUEST | 古い版での表示。つながった先から 4xx(403 など)が返った | claude update で更新し、2行目を見直す(下の「古いバージョン」) |
証明書のエラーコード(例:UNABLE_TO_GET_ISSUER_CERT_LOCALLY)に、SSL certificate error (...) の案内が続く | 通信を中継・検査する機器の証明書を Claude Code が信頼できない(実行ファイルと公式ドキュメントから。実機未確認) | 社内の証明書(CA)の設定 |
A proxy is configured via HTTPS_PROXY. のような行が続いている場合は、確認がそのプロキシを通って行われたことを示しています。プロキシの設定値そのもの、またはプロキシ側の許可設定が疑わしいということです。
証明書エラーの場合、公式ドキュメントによると、この確認や /login の途中では SSL certificate error (...) で始まる案内が出て、NODE_EXTRA_CA_CERTS の設定を促します(Error reference の「SSL certificate errors」。証明書の行は実機では確認していません)。対処は「SSL certificate verification failed」の対処法で詳しく解説しています。
同じ URL に届くか確かめる
Claude Code が確認している URL に curl でアクセスすると、どこで止まっているかの見当がつきます。Claude Code を起動するのと同じターミナル(同じ環境変数)で実行してください。Claude Code と同じく10秒で打ち切るよう --max-time 10 を付けています。
curl -s --max-time 10 -o /dev/null -w "%{http_code}\n" https://api.anthropic.com/api/hello
curl -s --max-time 10 -o /dev/null -w "%{http_code}\n" https://platform.claude.com/v1/oauth/hello
Windows の PowerShell では、curl が別のコマンドの別名になっているため、curl.exe と書きます(Error reference の「Unable to connect to API」)。
curl.exe -s --max-time 10 -o NUL -w "%{http_code}\n" https://api.anthropic.com/api/hello
curl.exe -s --max-time 10 -o NUL -w "%{http_code}\n" https://platform.claude.com/v1/oauth/hello
2026年9月30日に、プロキシを使わない回線から実行したところ、どちらも 200 が返りました。ただし curl と Claude Code ではプロキシの読み方が違うため、次に当てはまる場合は結果が食い違うことがあります。
- プロキシを
http_proxy・HTTP_PROXYにだけ設定している:Claude Code は使うが、curlは https の URL にこの2つを使わない ALL_PROXYを設定している:curlは使うが、Claude Code の公式ドキュメントにはALL_PROXYの記載がない- Claude Code の
settings.jsonのenvにプロキシを書いている:curlには効かない
結果の読み方は次のとおりです。
curl の結果 | 読み方 |
|---|---|
両方 200 | その環境からは届いている。上のプロキシ設定の違いや、Claude Code を別のターミナル・IDE から起動していないかを確認し、下の「DNS・VPN・WSL・Docker を確認する」へ |
403 | つながった先で拒否されている。下の「Status 403 のとき」へ |
000(タイムアウトを含む) | 経路のどこかで通信が止められている |
公式ドキュメントも、インストール時の接続確認について、403 は「多くの場合プロキシかネットワークフィルターによる遮断、または Claude Code が提供されていない地域」、5xx は「一時的なサービスの問題」と説明しています(Troubleshoot installation and login の「Check network connectivity」)。
原因別の直し方
プロキシの設定を正しくする
社内ネットワークでプロキシ経由でしか外部に出られない場合は、Claude Code を起動する前に HTTPS_PROXY を設定します(Enterprise network configuration の「Proxy configuration」)。
export HTTPS_PROXY=http://proxy.example.com:8080
claude
公式ドキュメントに記載のある注意点は次のとおりです。
- 小文字の
https_proxyも使える。複数設定されている場合はhttps_proxy→HTTPS_PROXY→http_proxy→HTTP_PROXYの順に、最初に見つかったものが使われる - 認証が必要なプロキシは
http://ユーザー名:パスワード@proxy.example.com:8080の形で指定する(パスワードをスクリプトに直接書かないこと) - SOCKS プロキシには対応していない
- NTLM や Kerberos など高度な認証が必要なプロキシは、それに対応した LLM ゲートウェイの利用が案内されている
- プロキシの URL が解釈できない値(
http://が抜けているなど)の場合は、起動時にその環境変数名を示すエラーで止まる
プロキシを使わない環境なのに HTTPS_PROXY が残っていると、存在しないプロキシに接続しようとして ECONNREFUSED などになります(今回の再現で確認したのは、何も動いていないローカルのポートを指定した場合です)。echo $HTTPS_PROXY(PowerShell では echo $env:HTTPS_PROXY)で確認し、不要なら削除してください。
社内のファイアウォール・プロキシで許可してもらう
プロキシやファイアウォールで通信先を絞っている会社では、ネットワーク担当者に少なくとも次のホストへの HTTPS 通信を許可してもらう必要があります(Enterprise network configuration の「Network access requirements」から、ログインと利用に関わるものを抜粋)。
| ホスト | 用途 |
|---|---|
api.anthropic.com | API リクエスト |
platform.claude.com | 認証(Console・claude.ai の両方で必要) |
claude.ai | claude.ai アカウントの認証 |
claude.com | claude.ai アカウントのサインイン時にブラウザで開くページ |
downloads.claude.ai | インストーラー・自動更新 |
公式の一覧には、ほかにも MCP コネクタやプラグイン用のホストが載っています。使う機能に合わせて一覧全体を確認してください。
Failed to connect to api.anthropic.com: Status 403 のとき
Status 403 は、接続先まで届いたうえで「アクセス拒否」が返ってきた状態です。Error reference のこの項目には 403 についての記述はありませんが、公式ドキュメントはインストール時の接続確認で 403 が出たときの原因として次の2つを挙げており(Troubleshoot installation and login の「Check network connectivity」)、この確認でも同じ原因が考えられます。
- 社内のプロキシやネットワークフィルターが遮断している:会社や学校のネットワーク、セキュリティ製品が入った端末で起こりやすい原因です。社内規程で許される範囲で別の回線から試して解消するなら、社内のネットワーク側の設定が原因である可能性が高いです。上の許可リストをネットワーク担当者に伝えてください
- Claude Code が提供されていない国・地域から接続している:Error reference も、ネットワークに問題がないのに失敗が続く場合は対応国の一覧を確認するよう案内しています
なお、手元の再現では、プロキシが中継そのものを 403 で断った場合は Status 403 ではなく ERR_PROXY_TUNNEL と表示されました(下の「実機での再現結果」)。Status 403 と表示される場合は、プロキシを通過した先、または通信を途中で検査する機器が 403 を返していると考えられます。
DNS・VPN・WSL・Docker を確認する
curl は通るのに Claude Code だけ失敗する場合は、端末側の設定を確認します。Error reference の「Unable to connect to API」の項目では、この場合の確認点として次のものが挙げられています。
- Linux・WSL:
/etc/resolv.confに到達できない DNS サーバーが書かれていないか(WSL は Windows 側から壊れた設定を引き継ぐことがある) - macOS:切断・アンインストールした VPN のネットワーク設定(
utunインターフェースなど)が残っていないか - Docker Desktop などのコンテナ環境:外向きの通信を横取りしていることがあるため、終了して試す
古いバージョン・社内ゲートウェイの場合
古い版では表示のされ方や止まり方が違います。まず claude --version で版を確認してください。
- v2.1.222 より前:この接続確認が API リクエストとは別の方法でプロキシを通っており、タイムアウトもありませんでした。
https://で始まるプロキシ URL の環境では、Checking connectivity...のまま止まったあとで失敗することがありました。claude updateで更新してください - 2行目が
ERR_BAD_REQUESTの場合:古い版での表示です。手元の v2.1.145 の実行ファイルでは、確認の処理が別の HTTP ライブラリで書かれていて、4xx・5xx の応答はStatus <番号>ではなく、4xx ならERR_BAD_REQUEST、5xx ならERR_BAD_RESPONSEというコードで表示される作りでした(v2.1.285 ではStatus <番号>)。GitHub にも v2.1.81 でこの表示になった報告があります(#38099)。つまり、つながった先から 403 などが返っている状態で、原因の考え方は上の「Status 403のとき」と同じです。claude updateで更新すると、2行目がStatus 403やERR_PROXY_TUNNELなど現在の形で表示されるので、上の表で読み分け直してください(v2.1.222 より前はプロキシの通り方も違ったため、更新後の表示がStatus 403になるとは限りません) - Claude apps gateway を使う組織:管理設定で
forceLoginMethodを"gateway"にしている場合などは、この確認は行われず、ゲートウェイのサインイン画面が開きます。v2.1.247 より前は、この構成でも確認が走り、Anthropic のホストに届かない環境ではこのエラーで終了していました
出典:Error reference の「Unable to connect to Anthropic services」、公式 CHANGELOG(v2.1.222・v2.1.247)。
GitHub には、2025年6月に WSL 環境の古い版(v1.0.31)で、テレメトリ(利用状況の送信)を無効にしたら直ったという報告もあります(anthropics/claude-code #2481。原因の見立ては報告者のもの)。ただし、v2.1.285 で確認した接続確認の対象は上の2つの URL だけで、現在の版でこの方法が効くかは確認できていません。
実機での再現結果
2026年9月30日に、macOS 上の Claude Code v2.1.285 を、ログイン情報のない新しい設定ディレクトリ(CLAUDE_CONFIG_DIR)で初回起動し、HTTPS_PROXY に次の3種類のプロキシを指定して再現しました。本物のログイン情報には触れていません。1つ目のパターンは、次のコマンドで追試できます(127.0.0.1 の9番ポートは通常何も動いていません)。小文字の https_proxy が設定されているとそちらが優先されるため、env -u で外しています。最初のテーマ選択などの画面を Enter で進めると、接続確認の結果が表示されます。
env -u https_proxy CLAUDE_CONFIG_DIR="$(mktemp -d)" HTTPS_PROXY=http://127.0.0.1:9 claude
| 指定したプロキシ | 2行目の表示 |
|---|---|
| 何も動いていないポート | Failed to connect to api.anthropic.com: ECONNREFUSED |
すべての中継要求に 403 Forbidden を返すプロキシ | Failed to connect to api.anthropic.com: ERR_PROXY_TUNNEL |
| 接続を受け付けるが何も返さないプロキシ | Connection to api.anthropic.com timed out after 10 seconds |
3つとも、2行目のあとに次の案内が続きました。
A proxy is configured via HTTPS_PROXY. Check that it allows connections to the host above. See https://code.claude.com/docs/en/network-config
Please check your internet connection and network settings.
Note: Claude Code might not be available in your country. Check supported countries at https://anthropic.com/supported-countries
- 2行目が同じ
Failed to connect toでも、原因によって後ろの表示が変わる - プロキシが中継を 403 で断る場合は
ERR_PROXY_TUNNELになり、Status 403にはならなかった - 別途、プロキシを使わずに
ANTHROPIC_BASE_URL(リクエストの送り先を変える環境変数)に何も動いていないアドレスを設定して初回起動したところ、接続確認は通過してサインインの手順に進んだ。少なくともこの検証では、ANTHROPIC_BASE_URLは初回の接続確認に影響しなかった。この変数を疑うのは、起動後にUnable to connect to APIが出た場合(下の表) - 最後の「国によっては使えない」という案内は、原因がプロキシだった今回の3パターンすべてで表示された。この1行だけで対応国の問題と判断しないでください
似ているが別のエラー
起動したあとやログインの途中で出る接続・403 系のエラーは、別の場面で起きるものです。
| メッセージ | いつ出るか | 対処 |
|---|---|---|
Unable to connect to API. Check your internet connection / Connection refused ... (ConnectionRefused) など | 起動後、実際のリクエストを送ったとき | 本記事のプロキシ・ネットワークの直し方に加え、ANTHROPIC_BASE_URL に古い値が残っていないか確認 |
Unable to connect to API: SSL certificate verification failed (...) | 起動後、証明書の検証に失敗したとき | 「SSL certificate verification failed」の対処法 |
/login の途中で出る OAuth error | サインインの途中 | 「OAuth error: Invalid code」の対処法 |
curl: (22) The requested URL returned error: 403 | インストールスクリプトの実行時 | プロキシ・フィルターの遮断または対応地域。Claude Code のインストールと初期設定 |
API Error: 403 Request not allowed | ログインしたあと、実際のリクエストを送ったとき | サブスクリプションが有効か、Console のアカウントに Claude Code の利用権限があるか。プロキシ経由なら本記事のプロキシ設定も確認 |
出典:Error reference の「Unable to connect to API」「SSL certificate errors」、Troubleshoot installation and login(「403 Forbidden after login」を含む)。そのほかのエラーはClaude Code トラブルシューティング完全ガイドから逆引きできます。
よくある質問
まとめ
- 「Unable to connect to Anthropic services」は、初回セットアップで
api.anthropic.comとplatform.claude.comへの接続確認に失敗した状態 - 原因は2行目で読み分ける。
ECONNREFUSED・timed out・ERR_PROXY_TUNNELは経路やプロキシ、Status 403(古い版ではERR_BAD_REQUEST)はつながった先での拒否 - 同じターミナルで
curlを2本実行すれば、Claude Code が確認している URL に届くかを確かめられる(プロキシの読み方の違いに注意) - 直し方は、プロキシ設定の修正、必要なホストの許可(確認に使うのは2つ、ログインと更新まで含めると5つ)、DNS・VPN など端末側の確認、古い版の更新
参考:
- https://code.claude.com/docs/en/errors
- https://code.claude.com/docs/en/network-config
- https://code.claude.com/docs/en/troubleshoot-install
- https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
koromo からの提案
AIツールの導入判断は、突き詰めると「投資対効果が合うか」「リスクを管理できるか」「事業にどう効くか」の3点に帰着します。koromo では、この判断に必要な材料を整理するところからご支援しています。
以下のような状況にある方は、まず現状の整理だけでも前に進むきっかけになります。
- AIで開発や業務を効率化したいが、自社に合う方法がわからない
- 社内にエンジニアがいない / 少人数で、AI導入の進め方に見当がつかない
- 外注先の開発会社にAI活用を提案したいが、何を求めればいいか整理できていない
- 「AIを使えばコスト削減できるはず」と感じているが、具体的な試算ができていない
ツールを使った上で相談したい方はお問い合わせフォームから「Claude Code の社内ネットワーク導入の相談」とご記載ください。初回の壁打ち(30分)は無料で対応しています。
無料で相談する

