The connection droppedエラーの対処 — Claude Codeアップデート
アップデート中に「The connection dropped while downloading the update」が出て失敗するときの原因と、プロキシ環境での対処をまとめます。
「The connection dropped」はバイナリのダウンロードが途中で切れたエラー
claude installかclaude updateが、Claude Code本体のバイナリを取得している最中に起きます。ダウンロード先サーバーとの接続が切れ、再試行でも回復しないと、次のメッセージが出ます。
The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.かっこ内には、何回目の試行で失敗したかと、そのときのネットワークエラーが入ります。claude updateから出る場合は、標準エラー出力にError: Failed to install native updateという一行が前に付きます。
Claude Codeは、接続が切れた・転送が止まった・ダウンロードしたファイルのチェックサムが一致しなかった、のいずれかでダウンロードをやり直します。上限は合計3回です。3回とも失敗した時点でこのエラーになります。404のようにサーバーが応答を完了させたエラーは、サーバーがすでに答えを返しているのでやり直しません。
接続断とタイムアウトでは、再実行の効き方が違う
似たメッセージにもう1つ、Download timed out: exceeded the total deadlineがあります。対処の手順は共通ですが、再実行への期待は分けて考えます。
2つのメッセージの違い
The connection dropped
接続が切れる、転送が止まる、チェックサムが合わないといった失敗が3回続いた状態です。1回ごとの失敗は内部で吸収されているので、回線の瞬断やサーバー側の一時的な混雑なら、時間を置いた再実行で通ります。
Download timed out
接続は保たれたまま、ダウンロードが10分以内に終わらなかった状態です。やり直しはされません。制限時間に収まらない遅さの回線は、すぐに再試行しても同じ結果になるためです。
タイムアウトの場合は、同じ回線で繰り返すより、より速い回線や帯域制限のないネットワークから再実行するほうが早く片付きます。
切り分けは5段階で進める
大半は一時的なネットワークの揺らぎで、再実行で通ります。再実行で直らないときに、手間の小さい順に進めます。
ダウンロード失敗の切り分け順
- 1
claude updateをもう一度実行する
健全なネットワークなら、次の実行で通ることが多い段階です。
- 2
claude doctorで直近の更新結果を見る
自動アップデーターも含め、最後の更新が成功したか失敗したかが分かります。
- 3
curlでdownloads.claude.aiへの到達性を確かめる
返ってくるステータスで、プロキシの遮断か一時的な障害かを見分けます。
- 4
HTTP_PROXYとHTTPS_PROXYを設定して再実行する
プロキシ経由が必須の環境では、ここまでの結果が変わります。
- 5
ネットワーク管理者に許可リストの確認を頼む
downloads.claude.aiが許可されていれば、長い転送を切る設定が残る場所を探してもらいます。
claude doctorで見えるのは直近の更新結果
claude doctorは、セッションを起動せずに読み取り専用の診断を出力するコマンドです。--helpによると、カレントディレクトリの設定ファイルを信頼確認のプロンプトなしで読みます。更新まわりの行は次のように表示されます(v2.1.287の出力。パスはホームを~に置き換えています)。
claude doctorClaude Code doctor
Running: native (2.1.287)
Platform: darwin-arm64
Path: ~/.local/share/claude/versions/2.1.287
Config install method: native
Auto-updates: enabled
Auto-update channel: latest
Last update attempt: success → 2.1.287 (2026-10-02)
No installation issues found.見るのはLast update attemptの行です。バックグラウンドの自動アップデーターが裏で失敗していないかは、起動時の通知を待たずにここで確かめられます。一方、この出力にはdownloads.claude.aiへの到達性を調べる項目がありません。ネットワークの診断は次のcurlで行います。
curlのステータスで、遮断か障害かを見分ける
インストーラーが使うのと同じホストに、ヘッダーだけを取りに行きます。
curl -sI https://downloads.claude.ai/claude-code-releases/latest先頭行がHTTP/2 200なら到達できています。Windows PowerShellではcurlがInvoke-WebRequestの別名で-sIを受け付けないため、curl.exeと明示します。それ以外の結果は次のとおり読みます。
| 結果 | 疑う原因 |
|---|---|
403 | 疑う原因プロキシやネットワークフィルターによる遮断、または利用地域が対象外 |
5xx | 疑う原因サービス側の一時的な問題。数分待って再実行 |
出力なし・Could not resolve host・接続タイムアウト | 疑う原因ネットワーク側でホストへの接続が止められている |
最後の行の症状の原因には、企業のファイアウォールやプロキシによる遮断、地域のネットワーク制限、TLS・SSLの問題が挙げられています。TLSの問題はCA証明書の更新とHTTPS_PROXYの設定を見直します。
プロキシ越しに更新する
プロキシが必須の環境では、HTTP_PROXYとHTTPS_PROXYの両方に、プロキシのアドレスを設定してから実行します。
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
claude updateプロキシに認証がある場合は、URLにhttp://ユーザー名:パスワード@proxy.example.com:8080の形で資格情報を含めます。スクリプトに直接書かず、環境変数や安全な資格情報の保管場所を使います。Claude CodeはSOCKSプロキシに対応していないため、SOCKSしか用意されていない環境では別の経路が必要です。NTLMやKerberosのような高度な認証が必要なプロキシには、その認証方式に対応したLLMゲートウェイを挟む案が示されています。
TLS検査を行う社内プロキシでは、プロキシのルート証明書がOSの証明書ストアに入っていれば、ネイティブインストーラーでは追加設定なしで動きます。それ以外の場合は、NODE_EXTRA_CA_CERTSで証明書のパスを渡します。
許可リストに必要なホスト
ネイティブインストーラー、ネイティブの自動アップデーター、更新のバージョン確認は、いずれもdownloads.claude.aiを使います。v2.1.116より前のバージョンはstorage.googleapis.comも使っていました。プロキシやファイアウォールの許可リストにこのホストが漏れていると、api.anthropic.comへの通常のAPI通信は通るのに、更新だけが失敗する状態になります。管理者に頼むときは、ホスト名と「長いダウンロードを途中で切らないでほしい」の2点を伝えます。
インストール時にだけ出る、別系統のエラー
新規インストールのcurl ... | bashでは、The connection droppedとは別にcurl: (56) Failure writing output to destinationやcurl: (23)が出ることがあります。終了コード56はダウンロード自体が途中で中断されたこと、23はcurlが受け取ったデータをパイプに書けなかったことを示し、後者は多くの場合Bashが先に終了したときです。どちらもBashにスクリプト全体が届いていない状態で、ダウンロードの再試行やチェックサム検証とは別の経路です。上のcurl -sIで到達できるなら、一時的な中断として再実行します。インストーラー全般の切り分けはClaude Codeインストールエラーの切り分けチェックリストのネットワーク・証明書の節にあります。
claude updateの失敗には、ダウンロード以外の原因もあります。シェル設定ファイルのスキャンでハングする、npmのグローバルディレクトリに書き込めない、WinGetの実行中ロックで失敗する、パッケージマネージャー側の反映が遅れる、といったものです。これらはClaude Codeアップデートの方法で扱っています。
この更新経路を通らないインストール方法もある
downloads.claude.aiからバイナリを取る更新は、ネイティブインストールの経路です。npmでインストールした場合は、パッケージの取得先がregistry.npmjs.orgになり、更新は次のコマンドで行います。
npm install -g @anthropic-ai/claude-code@latestnpm update -gは、最初のインストール時のsemver範囲に従うため、最新版まで進まないことがあります。HomebrewとWinGet、apt・dnf・apkのLinuxパッケージは、既定ではClaude Code自身が自動更新しません。brew upgrade claude-code、winget upgrade Anthropic.ClaudeCode、各ディストリビューションの通常のアップグレード手順で更新するため、この記事のダウンロードエラーとは別の経路になります。
ダウンロードの再試行を調整するオプションはない
再試行は3回、制限時間は10分で固定です。claude update --help(v2.1.287)に表示されるオプションは-h, --helpだけです。claude installには--force(インストール済みでも強制する)と、バージョンやチャネル(stable・latest・具体的なバージョン番号)を指定する[target]がありますが、こちらにも再試行や時間切れを変える項目はありません。回線が不安定なときは、設定ではなく経路そのものを変えます。
チェックサムの不一致も、同じエラーとして現れる
チェックサムの不一致が続くときは、公開されている値と手元のファイルを自分で突き合わせられます。
各リリースには、全プラットフォームのバイナリのSHA256を載せたmanifest.jsonが公開されています。URLはhttps://downloads.claude.ai/claude-code-releases/{バージョン}/manifest.jsonで、v2.1.89以降のリリースにはGPG署名(manifest.json.sig)も付きます。
REPO=https://downloads.claude.ai/claude-code-releases
VERSION=2.1.89
curl -fsSLO "$REPO/$VERSION/manifest.json"
curl -fsSLO "$REPO/$VERSION/manifest.json.sig"
gpg --verify manifest.json.sig manifest.json手元のバイナリのハッシュ(macOSならshasum -a 256 claude、Linuxならsha256sum claude)を、manifest.jsonのplatforms.<プラットフォーム>.checksumと比べます。署名の検証には、先に公開鍵のフィンガープリントを確認する手順があります。
v2.1.202より前は1回切れただけで即失敗していた
v2.1.202より前のバージョンは、ダウンロード中の接続断を1回検知した時点で失敗させ、abortedという一言だけを表示していました。やり直しの仕組みがなかったので、不安定なネットワークでは再試行されずに失敗していました。
| バージョン | 挙動 |
|---|---|
| v2.1.202より前 | 挙動接続断1回で即失敗。メッセージはabortedのみ |
| v2.1.202以降 | 挙動最大3回まで自動で再試行。3回とも失敗して初めてThe connection droppedになる |
今のバージョンでこのエラーが出たなら、単発の瞬断はすでに吸収されたうえでの失敗です。v2.1.202より前を使っていてabortedで落ち続けるときは、npmやパッケージマネージャーなど別の経路で新しいバージョンを入れる選択肢があります。
よくある質問
自動更新を止めて、手動で更新するだけにできますか
設定ファイルsettings.jsonのenvキーにDISABLE_AUTOUPDATERを"1"で入れると、バックグラウンドの確認が止まります。ただしclaude updateとclaude installは引き続き動きます。手動の更新も含めてすべての経路を止めるには、DISABLE_UPDATESを使います。自社の配布経路でバージョンを固定する運用向けの設定です。
プロキシの設定を変えたのに、同じエラーが続きます
HTTP_PROXYとHTTPS_PROXYを両方設定したうえで、curl -sIの結果が403や無応答のままなら、プロキシの手前で止まっています。設定ファイルの許可ドメインの書き方はClaude Codeプロキシ設定ガイドにあります。
まとめ
v2.1.202以降でこのエラーが出たなら、瞬断ではなく回線かプロキシが原因です。curl -sIの結果が200なら回線の品質を、403や無応答ならプロキシと許可リストを先に疑います。