「Unable to connect to API」が出た時の原因と直し方
Claude Codeで「Unable to connect to API」が出た時の原因と切り分けを、公式のエラー一覧で確認できる範囲で整理。curlでの確認から、ANTHROPIC_BASE_URLの残り、DNS、VPNまでの順に解説します。
公的機関・公式資料などの一次情報と照合して作成しています。このサイトについて
Unable to connect to API とは
Claude Code は、質問を Anthropic の API(サーバー)に送り、返事を受け取って動きます。「Unable to connect to API」は、その API への TCP 接続(通信の土台になる接続)が失敗したか、完了しなかったことを示すメッセージです。
公式のエラー一覧(Error reference)では「Network and connection errors」の節にあります。この節の説明では、ここに並ぶエラーの多くは、通信が届かなかったか、途中の何かが返事を書き換えたことを意味し、原因は手元のネットワーク、プロキシ、ファイアウォール、またはクラウド環境のネットワーク規則にあることが多いとされています。
まず「自分の端末から出口までのどこか」を見るエラーです。サーバー側の問題が疑わしい場合は、Claude の障害・5xxエラーの確認を参照してください。
会社のプロキシや TLS 証明書(通信の暗号化に使う証明書)の問題は別記事の範囲とし、ここでは接続の切り分けを中心に扱います。
基本(メッセージの種類と公式が挙げる原因)
公式によると、代表的な接続エラーでは、メッセージが失敗の種類を表し、コードが括弧の中に残ります。公式に載っている文言を整理しました(2026年10月に確認)。
| 画面の文言 | 意味 |
|---|---|
| Unable to connect to API. Check your internet connection | API に接続できない。インターネット接続を確認する |
| Connection refused … (ConnectionRefused) | 接続を拒否された。ファイアウォールやプロキシが止めている可能性 |
| Can’t reach the API server … (ENOTFOUND) | API サーバーの場所を引けない。インターネットか DNS(名前から住所を調べる仕組み)を確認する |
| No internet route … (EHOSTUNREACH) | そこへの経路がない。接続か VPN を確認する |
| Couldn’t connect through your proxy (ERR_PROXY_TUNNEL) | プロキシがトンネルを拒否した。認証情報と、そのホストを許可しているかを確認する |
| Connection dropped (ECONNRESET) | 接続が切れた |
| Request timed out. Check your internet connection and proxy settings | 応答が時間内に来なかった。ネットワークとプロキシの設定を確認する |
公式は次の点も書いています。
- 公式の一覧にないコードは、「Unable to connect to API」に続けて括弧でコードが表示されます。
- 一部のメッセージは、複数のコードのどれかを表示することがあります。たとえば Connection refused は ConnectionRefused または ECONNREFUSED、Can’t reach the API server は ENOTFOUND または FailedToOpenSocket と表示されます。
- v2.1.227 より前は、これらの文言がすべて「Unable to connect to API」にコードを付けた形(例:Unable to connect to API (ECONNREFUSED))でした。古いバージョンでは見え方が違う場合があります。
公式が挙げる一般的な原因は、インターネットに接続していないこと、VPN が api.anthropic.com をブロックしていること、必要な社内プロキシが設定されていないことです。
具体例(よくある場面)
場面1:Wi-Fi が切れていた、または VPN を入れている
画面には次のような文言が出ます。
Unable to connect to API. Check your internet connection
VPN を使っている場合は、VPN が api.anthropic.com への通信を止めていないかを確認します。
場面2:ブラウザは開けるのに ENOTFOUND と出る
Can't reach the API server — check your internet or DNS (ENOTFOUND)
名前の解決に失敗している状態です。公式は、Linux と WSL では /etc/resolv.conf に到達できないネームサーバーが書かれていないかを確認するよう案内し、WSL はホスト側の壊れた設定を引き継ぐことがあるとしています。
場面3:curl は通るのに Connection refused になる
公式が特に注意を促しているパターンです。環境変数 ANTHROPIC_BASE_URL が設定されていると、Claude Code は api.anthropic.com ではなくそのアドレスにモデルのリクエストを送ります。もう動いていないローカルのプロキシやゲートウェイを指したままだと、curl では API に届くのに Connection refused が出ます。シェルの設定ファイルや、settings の env ブロックに値が残っていないかを見てください。
Unable to connect to API の実践ステップ
公式の「What to do」をもとに、筆者が切り分けの順に並べ直したものです。手順1と2は、公式の手順にはない筆者が加えた確認です。
- 画面の文言とコードを控える。コードによって疑う場所が変わります。
- ブラウザで任意のサイトが開けるか確認する。開けなければ回線や Wi-Fi の問題です。
- Claude Code を動かすのと同じシェルから、次のコマンドを実行する。Windows の PowerShell では、組み込みの別名(Invoke-WebRequest)が使われないよう curl.exe と書きます。
curl -I https://api.anthropic.com
curl.exe -I https://api.anthropic.com
- curl も失敗するなら、ネットワーク側について、公式が挙げる次の点を確認します。
- 社内プロキシが必要なら、Claude Code を起動する前に HTTPS_PROXY を設定する(詳しくは公式の Network configuration を参照)。
- ファイアウォールが、公式の Network access requirements にあるホストを許可しているか。API 通信の api.anthropic.com や、ログインに使う claude.ai、platform.claude.com などが載っています。
- LLM ゲートウェイや中継サーバーを使っているなら、ANTHROPIC_BASE_URL にそのアドレスを設定する。
- curl は成功するのに Claude Code だけ失敗するなら、公式が挙げる次の点を確認する。
- echo $ANTHROPIC_BASE_URL(PowerShell では echo $env:ANTHROPIC_BASE_URL)で意図しない値が入っていないか(場面3を参照)。入っていれば消して、新しいターミナルで起動し直す。
- Linux と WSL で、/etc/resolv.conf に到達できないネームサーバーがないか。
- macOS で、切断・削除した VPN の跡(古い utun インターフェースなど)が残っていないか。ifconfig で確認し、VPN のネットワーク拡張を System Settings から外す。
- Docker Desktop など、コンテナの実行環境が外向きの通信に割り込んでいないか。終了して再試行し、切り分ける。
- 時々だけ失敗するなら、少し待つ。公式によると、一時的な失敗は自動で再試行され、続く失敗は手元のネットワークの問題を示します。
Unable to connect to API の注意点
- 自動再試行:Claude Code は一時的な失敗を最大10回、間隔を延ばしながら再試行してから、エラーを表示します(2026年10月に確認)。エラーが見えた時点で、該当する再試行は済んでいます。
- 再試行中の表示:スピナーに「Retrying in Ns · attempt x/y」のカウントダウンが出ます。ネットワークが落ちている場合などは、最初の試行から理由が表示されます。
- 国の対応状況:公式は、ネットワークに問題がないのに初回の接続確認が失敗し続ける場合、お住まいの国で利用できない可能性に触れています(Anthropic の supported countries のページを参照)。
- 会社のネットワーク:プロキシや許可リストは自己判断で回避せず、社内のネットワーク担当部門にご相談ください。
Unable to connect to API でよくあるミス
- ブラウザで開けたことだけで安心する。公式は、Claude Code と同じシェルから curl で確認するよう案内しています。
- 古い ANTHROPIC_BASE_URL を消し忘れる。公式が明記している典型例です。
- PowerShell で curl とだけ打つ。別名の Invoke-WebRequest が動くため、curl.exe と書きます。
Unable to connect to API のチェックリスト
- 画面の文言とコード(括弧の中)を控えたか。
- ブラウザでほかのサイトが開くか。
- 同じシェルから curl -I https://api.anthropic.com を実行したか(PowerShell は curl.exe)。
- ANTHROPIC_BASE_URL に古い値が残っていないか。
- 社内プロキシが必要な環境で、HTTPS_PROXY を起動前に設定したか。
- VPN や Docker Desktop など、通信に割り込むものを切って試したか。
- お使いのバージョンを把握しているか(v2.1.227 より前は文言の見え方が異なります。claude update で更新できます)。
Unable to connect to API のFAQ(よくある質問)
Q. 待てば直りますか。
A. 一時的な失敗は自動で再試行されますが、公式は、失敗が続く場合は手元のネットワークの問題を示すとしています。curl での確認に進んでください。
Q. curl は成功するのに Claude Code が失敗します。
A. 公式は、ネットワークそのものより、実行環境とネットワークの間に原因があることが多いとしています。実践ステップの手順5を確認してください。
Q. 初回起動で Unable to connect to Anthropic services と出て終了します。
A. サインインの前の接続確認に失敗しています。メッセージに出たホストへ HTTPS で届くか、プロキシ経由なら通す設定になっているかを確認してください。
筆者の見解(Unable to connect to API)
私見では、このエラーで初心者が一番遠回りしてしまうのは、「ブラウザでは使えているのだから自分の環境は正常だ」と考え、Claude Code の再インストールやログインのやり直しから手を付けてしまうことです。ブラウザとターミナルでは、同じパソコンでも通信の条件が同じとは限らないと考えます。そのため、最初に見るべきなのは画面の括弧の中のコードと、同じシェルからの curl の結果の二つだと考えます。この切り分けをせずに設定を次々と変えると、何が効いたのか分からなくなります。変える設定は一度に一つにし、内容と結果をメモしておくのがおすすめです。
もう一つ、やってはいけないと考えるのは、会社の端末で VPN やプロキシの設定を自分の判断で外したまま使い続けることです。切り分けのために一時的に試すのと、恒久的に回避するのは別の話で、後者は社内の規則に触れるおそれがあります。また、ANTHROPIC_BASE_URL のような環境変数は、一度シェルの設定ファイルに書くと存在を忘れやすいものです。試しに設定した値は、使い終わったらその日のうちに消す習慣をつけておくと、この種のつまずきを減らせると考えます。
Unable to connect to API の関連項目
- 「Request timed out」「No response from API」の対処法
- 応答が途中で止まる時の原因
- Claude の障害・5xxエラーの確認
- claude doctor の使い方
- Claude Code の設定ファイル(settings.json)
- Claude Code のログインに失敗する時
出典(一次情報)
本記事は一般的な情報の提供を目的としています。Claude Code の料金・利用上限・機能・エラーメッセージ・コマンドは頻繁に更新されるため、最新の内容は Anthropic の公式ドキュメントとお使いのバージョンで必ずご確認ください。契約・請求・セキュリティに関する判断は、公式サポートや社内の担当部門にご相談ください。「筆者の見解」は一つの考え方です。