Claude Code「Unable to connect to API」の原因と直し方

Claude Codeで「Unable to connect to API」と出たら、AnthropicのAPI(api.anthropic.com)に通信をつなげなかったという意味です。料金や回数の上限のエラーではありません。本記事では、括弧内のコードの読み方と、curlの1行で原因の場所を切り分ける手順を、公式のエラー一覧をもとに解説します。
「Unable to connect to API」とは
APIへの通信がつながらないという意味
Claude Codeの公式エラー一覧では、このエラーの意味を次のように説明しています。
The TCP connection to the API failed or never completed.(日本語版)API への TCP 接続が失敗したか、完了しませんでした。
公式が挙げる主な原因は次の3つで、どれも利用者の側の通信経路にあります。
- インターネット:そもそも接続できていない
- VPN:api.anthropic.comへの通信を止めている
- 会社のプロキシ:必須の中継サーバーがClaude Codeに設定されていない
画面に出る「attempt x/10」の意味
Claude Codeは一時的な失敗なら、エラーを出す前に最大10回まで自動でやり直します(公式)。次の表示はそのやり直しの途中です。
Unable to connect to API (ConnectionRefused) · Retrying in 11s · attempt 8/10
GitHubのIssue #71188(2026年6月25日)に貼られた表示で、10回やり直しても接続できなかった例です。
この形はv2.1.227(2026年8月10日公開)より前の文面です。2025年ごろの版では「API Error (Connection error.)」と「TypeError (fetch failed)」で出ており(Issue #4297)、これも同じエラーです。
Claude DesktopやCoworkでも出る
このエラーはClaude DesktopのCode機能やClaude Coworkでも報告されています。Issue #56242(2026年5月5日)では、ブラウザのclaude.aiは使えたのに、Claude CodeとCoworkはつながりませんでした。
ブラウザで使えても、Claude Codeの通信が通っている証拠にはなりません。
関連記事:Claude Coworkが使えない時の対処|Windows起動トラブルを解説

括弧内のコード別の原因
現在の版の表示は、公式エラー一覧によると次の7つです。
Unable to connect to API. Check your internet connection
Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)
Can't reach the API server — check your internet or DNS (ENOTFOUND)
No internet route — check your connection or VPN (EHOSTUNREACH)
Couldn't connect through your proxy (ERR_PROXY_TUNNEL) — the proxy refused the tunnel: check its credentials and that it allows this host
Connection dropped (ECONNRESET)
Request timed out. Check your internet connection and proxy settings
| 括弧内のコード | 起きていること | まず見る場所 |
|---|---|---|
| ConnectionRefused・ECONNREFUSED | 接続を断られた | ファイアウォール・プロキシ・ANTHROPIC_BASE_URL |
| ECONNRESET | つながった後に途中で切れた | VPN・ネットワーク機器 |
| ENOTFOUND・FailedToOpenSocket | 接続先を見つけられない | インターネット接続・DNS |
| EHOSTUNREACH | 接続先までの経路がない | インターネット接続・VPN |
| ERR_PROXY_TUNNEL | プロキシが中継を断った | プロキシの認証情報と許可先 |
| SSL certificate verification failed/Self-signed certificate detected | 通信相手の証明書を信用できない | 会社の証明書の設定 |
ConnectionRefused:接続を断られた
接続先から断られた状態で、まずファイアウォールやプロキシを疑います。curlでは届くのにこれが出るなら、ANTHROPIC_BASE_URLの残り(後述)が原因の候補です。
ECONNRESET:途中で接続が切れた
いったんつながった通信が途中で切られた状態です。原因は環境ごとに違い、macOSでの同じ症状が集まるIssue #5674(2025年8月起票・コメント54件)も未解決のままです。
ENOTFOUND・FailedToOpenSocket:接続先が見つからない
api.anthropic.comの住所を調べられないか、通信の口を開けなかった状態です。表示どおり、インターネット接続とDNS(住所を調べる仕組み)を確認します。
証明書エラー:会社のネットワークで多い
会社のプロキシやセキュリティ機器が独自の証明書で通信を検査していて、Claude Codeがそれを信用していない状態です(公式)。証明書のエラーはv2.1.199(2026年7月2日公開)から、やり直さずに1回目で表示されます。
まず試す切り分けの3手順
手順1:Claude全体の障害を確認する
最初にClaude稼働状況ページで全体の障害を確認します。全体の障害なら、復旧を待つしかありません。
手順2:Claude Codeを最新にする
エラーの文面とやり直しの動きは版で変わるため、先に最新版にします。
claude update
2026年10月14日時点の最新版(npmのlatest)はv2.1.296です。
手順3:curlでAPIに届くか確かめる
Claude Codeを使うのと同じターミナルで、次を実行します(公式の手順)。PowerShellでは「curl.exe」と書きます。
# Mac・Linux
curl -I https://api.anthropic.com
# Windows PowerShell
curl.exe -I https://api.anthropic.com
- 「HTTP/2 404」などの行が返る:APIまで届いています(404は異常ではありません)
- 接続できない・時間切れのエラーになる:ネットワーク側の問題です
届くのに失敗する場合は次の章へ、届かない場合は「会社のネットワークで出るとき」の章へ進みます。表示が「API Error: 500」や「529」に変わった場合は、サーバー側のエラーです。
関連記事:Claude Code「API Error: 500」の原因と対処|529との違い

curlは通るのに直らないとき
公式は、この場合の原因はネットワークそのものではなく、Claude Codeとネットワークの間にあることが多いとしています。
ANTHROPIC_BASE_URLが残っている
ANTHROPIC_BASE_URLは、通信先を中継サーバーに変える設定です。もう動いていない中継サーバーの宛先が残っていると「Connection refused」になります(公式)。
# Mac・Linux
echo $ANTHROPIC_BASE_URL
# Windows PowerShell
echo $env:ANTHROPIC_BASE_URL
値が出たら、シェルの設定ファイルとClaude Codeの設定ファイルの「env」欄から消し、新しいターミナルで起動し直します。
VPNの残骸が通信を邪魔している
macOSでは、切断・削除したVPNが接続口(utun)や経路の設定を残すことがあります(公式)。「ifconfig」で古いutunを確かめ、システム設定からそのVPNのネットワーク拡張を削除します。
WSL・Linuxの名前解決とDocker
WSL(Windows上のLinux)やDockerを使う場合は、公式が挙げる次の2点も確認します。
- WSL・Linux:名前解決の設定ファイル(resolv.conf)に届かないDNSサーバーが書かれていないか(WSLはWindows側から壊れた設定を引き継ぐことがある)
- Docker Desktop:外向きの通信を横取りすることがあるので、終了してからもう一度試す
会社のネットワークで出るとき
プロキシの設定(HTTPS_PROXY)
社内でプロキシを通すことが必須なら、Claude Codeを起動する前にHTTPS_PROXYを設定します(公式)。
export HTTPS_PROXY=https://proxy.example.com:8080
「ERR_PROXY_TUNNEL」なら、プロキシの認証情報と許可先を確認します。
証明書の設定(NODE_EXTRA_CA_CERTS)
証明書エラーが出る場合は、会社の証明書(CA証明書)のファイルを情報システム部門から受け取り、Claude Codeに読み込ませます。
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem
証明書の確認を丸ごと止める「NODE_TLS_REJECT_UNAUTHORIZED=0」は、公式が使わないよう明記しています。
情報システム部門に伝える接続先
ファイアウォールで許可してもらう接続先のうち、最低限必要なのは次の3つです。全体は公式のネットワーク設定ページに一覧があります。
- api.anthropic.com:Claudeとのやり取り
- claude.ai:claude.aiアカウントでのログイン
- platform.claude.com:ログイン時の認証
初回起動時に「Unable to connect to Anthropic services」と出て終了する場合も、api.anthropic.comとplatform.claude.comに10秒以内に届かなかったという意味で、対処は同じです(公式)。

公式の手順で直らないときの報告
ここからは公式の手順ではなく、利用者がGitHubで報告した解決例です。
VPN・Tailscaleが動いていた
Issue #5674には、削除したVPN(TunnelBear)の残りを手作業で消して直った(2025年10月17日)、忘れていたTailscale(VPNの一種)が時々起動していた(2026年1月15日)という報告があります。
MTUを下げて直ったという報告
同じIssueには、Macが一度に送るデータの大きさ(MTU)を1500から1492(2025年12月30日)や1450(2026年3月26日)に下げて直ったという報告もあります。適切な値は回線ごとに違うため、変更はネットワークの管理者に相談してください。
DNSを変えて証明書エラーが消えた例
Issue #74369(2026年7月5日・v2.1.201)では、プロキシの無い家庭のネットワークで「Self-signed certificate detected」が出ました。投稿者は翌日、DNSをCloudflareのフィルター付きDNS(1.1.1.3)からGoogleのDNS(8.8.8.8)に変えて解消したとコメントしています。
同じ症状をIssueで探して報告する
直らない場合は、Claude Codeの公式Issue一覧で括弧内のコードを検索します。報告はClaude Code内の「/bug」でも送れますが、通信できないと送れないことがあるため(Issue #71188)、その場合はGitHubから報告します。
まとめ
- 「Unable to connect to API」は通信のエラーで、料金や回数の上限とは関係ない
- 括弧内のコードで、断られた・切れた・見つからない・証明書のどれかを見分ける
- 障害確認→最新版へ更新→curlの3手順で、原因の場所を切り分ける
- curlが通るなら設定の残り、会社ならプロキシと証明書を見る
次に同じ表示が出たら、まず稼働状況を確かめ、続けて同じターミナルで「curl -I https://api.anthropic.com」を実行してください。




