ERR_SOCKET_NOT_CONNECTED, what it means and how to fix it

Browsers keep a pool of already-open connections to reuse. This error means Chrome picked one from the pool and found it dead: the server, a NAT router, or a firewall had silently closed the idle socket in the meantime, and nobody told the browser. It is a race between connection reuse and idle timeouts somewhere on the path, which is why it tends to appear on the first click after a pause and vanish on retry.

The fix, in order

  1. Reload. A fresh connection replaces the dead pooled one. If the error never survives a reload, it was the stale-socket race and nothing is actually broken.
  2. Note whether it follows idle time. Errors that strike after the tab sat open (a long form, a paused video, a slow read) fit the pattern: something between you and the site retires idle connections, and the next click discovers it.
  3. Test without a VPN. VPN gateways aggressively reap idle tunnels; if the error disappears without the VPN, its idle policy is the reaper.
  4. Restart the router if it happens across many sites. Home NAT tables are small and their idle timeouts short; a wedged router drops pooled connections early. A power cycle resets the table.

If you run the server

Set your server's keep-alive timeout slightly shorter than the timeouts of anything in front of it (load balancer, CDN, firewall). The race happens when an intermediary keeps handing out connections the server has already closed, or vice versa. Aligning the timeout chain so the server closes first, and the client learns of it, removes most occurrences for all visitors at once.

If it still happens

A site that produces this error on nearly every click, for everyone, has a genuinely broken connection setup (often a load balancer misaligned with its backends). That is operator territory; visitors can only reload and route around it.

Common questions

Is ERR_SOCKET_NOT_CONNECTED a problem with my computer? Almost never with the computer itself. It means an idle connection was closed by the server or a middlebox before reuse. Local contributors are limited to VPNs and router NAT tables expiring connections early; the browser and machine are blameless.

Why does it happen on the first click after a while? Because the pooled connection sat idle long enough for something to close it. The click is simply the first attempt to use it since; the closure happened silently minutes earlier.

Related errors

ERR_NETWORK_CHANGED · ERR_CONNECTION_CLOSED · ERR_CONNECTION_RESET