Claude Code のエラー

Socket is closed

結論

接続が途中で閉じられた状態。中間機器のアイドルタイムアウトが主因。

確認した版 Claude Code v2.1.214
確認日 2026年8月21日
文言の照合 Claude Code v2.1.238
最終更新 2026年8月21日
根拠 一次情報で確認

エラー文字列

Claude Code
Socket is closed

何が起きているか

確立していた接続が、予期せず閉じられました。

⭐ **「繋がらない」ではなく「繋がっていたものが切れた」**という点が重要です。ここが Unable to connect to API との違いで、切り分けの方向がまったく変わります。

繋がらない 切れた(このエラー)
疑うもの DNS・ファイアウォール・プロキシ設定 アイドルタイムアウト・接続数制限・不安定な回線
発生タイミング 起動直後・毎回 しばらく使った後・長い応答の途中

実際に多い原因

原因 典型的な症状
中間機器のアイドルタイムアウト 少し放置してから操作すると切れる。ファイアウォール・NAT・ロードバランサが無通信の接続を破棄している
長い応答の途中で切られる 大きな生成をさせると起きやすい
無線が不安定 Wi-Fi のローミング、電波の弱い場所
VPN の再接続 VPN が張り直されるタイミングで既存接続が切れる
省電力・スリープ ノートPCの蓋を閉じた、スリープから復帰した

「席を外して戻ってきた最初の操作で失敗する」なら、ほぼアイドルタイムアウトです。

直し方

1. まず送り直す

一時的な切断であれば、そのまま再送で通ります。これで通るなら恒久的な問題ではありません。

2. パターンを確認する

再現の仕方で原因が絞れます。

起きるタイミング 疑うもの 進む先
放置した後の最初の操作 アイドルタイムアウト 手順 3
長い応答の途中 プロキシのバッファリング/転送上限 手順 4
場所を移動した後 無線のローミング 手順 5
スリープ復帰後 接続の張り直し 再送で解決。手順 5
いつでもランダム 回線品質 手順 5

3. アイドルタイムアウトへの対処

中間機器のタイムアウトそのものは利用者側では変えられません。運用で回避します。

  • 長時間放置した後は、軽い操作を1回挟んでから本題に入る
  • 席を外す前にセッションを終え、戻ってから開き直す
  • 社内ネットワークなら、管理者にアイドルタイムアウトの設定値を確認する(300秒などに設定されている例があります)

4. 長い応答で切れる場合

作業を分割してください。1回のやり取りを短くすると、接続が張られている時間が短くなり、切られる確率が下がります。

  • 一度に大量のファイルを読ませない
  • 生成させるコードの量を1回あたり小さくする
  • 大きなリファクタはディレクトリ単位に分ける

待ち時間の上限を上げる対処もありますが、「切られている」場合は上限を延ばしても効きません。上限に達したのか切断されたのかは、メッセージで区別してください。

  • Request timed out → 上限に達した。対処はこちら
  • Socket is closed → 切られた。上限の調整では直らない

5. 回線の安定性を確認する

macOS / Linux

ping -c 50 api.anthropic.com

Windows(PowerShell)

⚠️ プロパティ名が PowerShell のバージョンで違います。 Windows に標準搭載されているのは 5.1 で、そちらは ResponseTime です。Latency を指定するとエラーにならず、何も表示されないまま終わります。「実行したのに結果が出ない」の正体はこれです。

まずバージョンを確認してください。

$PSVersionTable.PSVersion

Windows PowerShell 5.1(標準搭載)

Test-Connection api.anthropic.com -Count 50 |
  Measure-Object -Property ResponseTime -Average -Maximum

PowerShell 7 以降

Test-Connection api.anthropic.com -Count 50 |
  Measure-Object -Property Latency -Average -Maximum

バージョンを気にせず書く

$p = if ($PSVersionTable.PSVersion.Major -ge 7) { 'Latency' } else { 'ResponseTime' }
Test-Connection api.anthropic.com -Count 50 | Measure-Object -Property $p -Average -Maximum

パケットロスがある、あるいは応答時間のばらつきが大きい場合は回線側の問題です。

  • 無線を有線に変える
  • VPN を切って試す
  • テザリングなど別回線で試す

別回線で起きないなら、元の回線かその経路上の機器が原因と確定できます。

6. リトライ回数を増やす(無人実行)

CI やバックグラウンドで長時間動かす場合、切断のたびに止まると困ります。

export CLAUDE_CODE_MAX_RETRIES=15

⚠️ 対話中のセッションでこれを大きくしても体感は改善しません。 無人実行のための設定です。

再発防止

  • 長い作業を1回のやり取りに詰め込まない。 切断のリスクは接続時間に比例します
  • ノートPCで作業するなら、スリープ設定を確認する。蓋を閉じるたびに切れます
  • 社内ネットワークで頻発するなら、アイドルタイムアウトの値を管理者に確認する。原因が特定できれば運用でかわせます
  • 「繋がらない」と「切れた」を混同しない。メッセージが違えば原因も対処も違います

この手順で直りませんでしたか?

環境を添えて報告いただければ、追加の原因を検証してこのページに反映します。

エラーを報告する