PaPoo
cover

ECONNREFUSED が出るときにまず見るところ

Claude Code で ECONNREFUSED にぶつかったとき、いま手元で確認できる範囲では、少なくとも「ローカルサービスに向けた接続」と「Windows 11 での接続失敗」という 2 つの報告がありました。どちらも、単純な通信エラーに見えて、実際には接続先の見え方や実行環境が絡んでいそうです。

自分のケースかどうかを見分ける起点は、ローカルホスト宛てかどうかです。localhost127.0.0.1 に向けた通信で落ちるなら、 #65482 の報告にかなり近いです。そこでは、Linux の bwrap サンドボックス環境で sandbox.network.allowedDomainslocalhost127.0.0.1 を入れても、期待通りにローカルサービスへつながらないとされています。理由として、実行時に NO_PROXY=localhost,127.0.0.1,... が設定され、HTTP クライアントがサンドボックスのプロキシを回避して直接 localhost へ行こうとする一方、サンドボックスのネットワーク名前空間からはホスト上のサービスが見えない、という整理が issue 本文にあります。

その報告で実際に出ている環境は次の通りです。

Environment

- Platform: Linux (VSCodium extension)
- Sandbox: enabled (bwrap)

さらに、再現手順の一部として、ローカルの HTTP サービスを localhost:PORT で動かし、sandbox.network.allowedDomainslocalhost を追加する流れが書かれていました。ここまでは issue の記述から確認できますが、~/.c... 以降は提示文が途中で切れていて、こちらでは全文は分かりません。

一方で、localhost ではなく、アプリ全体で不安定に接続が切れるなら、 #85000 のほうが近いかもしれません。こちらは Windows 11 で、Claude Code の desktop app と CLI の両方が失敗し、desktop app 側では「Response begins streaming, sometimes completing a full paragraph and a tool call, then the connection drops.」と書かれています。表示されたエラーは API Error: Connection closed mid-response. です。CLI 側は、再ログイン直後は少し動いたものの、その後は別のエラーで失敗し始めたとあります。この記事を書いている時点では、公開された本文だけでは CLI 側のエラー文字列までは確認できません。

この issue で読める環境情報は次の断片だけです。

Environment
- Windows 11
- Claude Code CLI 2.1.226
- Claude desktop app, latest version
- Claude Pro
- PowerShell, conda base environment active

ただし、#85000 は open のままで、本文だけを見る限り原因も解決策も確定していません。chat は desktop app 内で普通に使えるのに、Code sessions や CLI だけ落ちる、という切り分けがポイントです。

筆者の環境では、claude --versionclaude doctor を取っています。ここで見えるのは、少なくとも CLI の版とインストール状態です。

$ claude --version
2.1.207 (Claude Code)
$ claude doctor
Claude Code doctor

Running: native (2.1.207)
Commit: bc512d563325
Platform: darwin-arm64
Path: ~/.local/share/claude/versions/2.1.207
Config install method: native
Search: OK (bundled)
Auto-updates: enabled
Auto-update channel: latest
Last update attempt: none recorded

Multiple installations found
- npm-global at /usr/local/bin/claude
- native at ~/.local/bin/claude

Remote Control
Control this session from claude.ai/code or the Claude mobile app

1 warning found
- Leftover npm global installation at /usr/local/bin/claude
  Fix: Run: npm -g uninstall @anthropic-ai/claude-code

For a full setup checkup that can also fix issues, run /doctor in a Claude Code session.

この出力から言えるのは、筆者環境には nativenpm-global の複数インストールがあること、そして doctor が npm-global 側を残骸として警告していることです。ただし、これが ECONNREFUSED の直接原因だとは現時点では断定できません。少なくとも、接続系の問題を見ている途中で、インストール元が複数ある状態は切り分けの邪魔になりえます。

今のところ、公開 issue から確認できる範囲では、次の見方が実用的です。localhost 宛てのローカル連携で失敗するなら #65482、desktop app や CLI で広く切断が起きるなら #85000 を起点に見る、という整理です。どちらも、ここで紹介できる解決済みの手順までは確認できていません。現時点では「同じ ECONNREFUSED でも、ローカル名前空間の制約なのか、セッション全体の接続不安定なのかを分けて考える」のが先です。


検証環境

claude --version : 2.1.207 (Claude Code)
OS          : Darwin 25.3.0 (arm64)
Python      : 3.14.2
検証日時    : 2026-08-11T18:15:30+09:00

参照した Issue(anthropics/claude-code): #65482, #85000

同じ著者の記事