Auto-updater: infinite retry loop (no backoff) + Electron-only ERR_CONNECTION_CLOSED on Windows
Resolved 💬 1 comment Opened Jun 26, 2026 by koheiist Closed Jun 26, 2026
Summary
Two related issues with the auto-updater on Windows:
- No backoff on retry: When the update check fails, the updater retries immediately and continuously without exponential backoff. This causes high CPU usage and log spam.
- Electron-only
ERR_CONNECTION_CLOSED: The update endpoint is reachable viacurlandnode https.get(), but Electron's Chromium network stack receivesERR_CONNECTION_CLOSED(net_error). Other tools connecting to the same host succeed, so this appears to be specific to Electron's TLS/net implementation.
Environment
- OS: Windows 11 Pro 10.0.26200
- Claude Code: latest (npm install -g @anthropic-ai/claude-code)
- Shell: PowerShell 5.1
Steps to Reproduce
- Install Claude Code on Windows
- Set
autoUpdatesChannel: latestin~/.claude/settings.json - Launch Claude Code
- Observe: auto-updater enters an infinite retry loop with no delay between attempts
Evidence
curl https://update.anthropic.com/...窶・SSL OK, HTTP 400 (device_id required 窶・expected)node -e require('https').get('https://update.anthropic.com/...')窶・SSL OK, HTTP 400- Electron network stack 窶・ERR_CONNECTION_CLOSED / net_error
The fact that curl and Node.js both succeed rules out a network-level or TLS configuration issue. The failure is isolated to Electron's Chromium net stack.
Workaround
Removing autoUpdatesChannel from ~/.claude/settings.json stops the infinite loop.
Expected Behavior
- Retry with exponential backoff (e.g., 1s -> 2s -> 4s -> ... capped at ~5 min)
- Investigate why Electron's net stack fails when Node.js succeeds for the same endpoint on Windows
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗