[BUG] Checking connectivity... hangs indefinitely when using Outline VPN (TUN mode) on Windows 11
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Claude Code hangs indefinitely on Checking connectivity... when Outline VPN is active on Windows 11. No debug logs are created during the hang. The process never proceeds to the login screen or main UI, even after 10+ minutes.
What Should Happen?
Claude Code should either route traffic correctly through the system TUN interface (outline-tap0), or display a clear error message explaining the connectivity issue instead of hanging silently forever.
Error Messages/Logs
No error messages are shown to the user. The UI simply displays Checking connectivity... indefinitely.
From debug logs (~/.claude/debug/), the last successful entries before the hang:
[DEBUG] [Bootstrap] Skipped: no usable OAuth or API key
[ERROR] Auth error: No API key available
Note: debug logs are only created on startup. During the Checking connectivity... hang, no new log files are written at all.
Network state during hang (via netstat):
TCP to api.anthropic.com (160.79.104.10:443) — ESTABLISHED
TCP to statsig.anthropic.com (34.36.57.103:443) — TCP reachable but no connection established by Claude Code
Steps to Reproduce
Install Outline VPN on Windows 11 and connect to a server. Outline operates in TUN mode only (outline-tap0 interface) — it does not expose a local proxy port.
Install Claude Code via WinGet:
``` powershell
winget install Anthropic.ClaudeCode
Launch Claude Code:
``` powershell
claude
Claude Code displays Checking connectivity... and hangs indefinitely — never shows the login screen.
Authenticate manually in a separate step:
``` powershell
claude auth login
Browser opens, authentication completes successfully, credentials are saved to `~/.claude/.credentials.json.`
Launch Claude Code again:
``` powershell
claude
Still hangs on Checking connectivity... indefinitely, even with valid credentials.
Claude Model
Not sure / Multiple models
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.121
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
Title: Checking connectivity... hangs indefinitely when using Outline VPN (TUN mode) on Windows 11
Environment:
- Claude Code v2.1.121
- Windows 11 24H2
- Outline VPN (TAP/TUN mode via outline-tap0 interface)
Problem:
Claude Code hangs indefinitely on Checking connectivity... when Outline VPN is active. No debug logs are created during the hang. The process never proceeds to the login screen or main UI.
Root cause:
Outline VPN operates in TUN mode only — it does not expose a local proxy port. Claude Code's Bun/Node.js runtime does not route traffic correctly through the outline-tap0 TUN interface, causing connectivity checks to silently block forever.
Confirmed working connections during the hang:
- TCP to
api.anthropic.com(160.79.104.10:443) — ESTABLISHED - TCP to
statsig.anthropic.com(34.36.57.103:443) — reachable via ping/TCP test, but no connection established by Claude Code
Things that did NOT help:
NODE_TLS_REJECT_UNAUTHORIZED=0CLAUDE_CODE_DISABLE_TELEMETRY=1- Blocking
statsig.anthropic.comvia hosts file (127.0.0.1 statsig.anthropic.com)
Workaround:
Install a local SOCKS5/HTTP proxy (e.g. shadowsocks-windows) that listens on 127.0.0.1:1080, then set:
$env:HTTPS_PROXY = "http://127.0.0.1:1080"
$env:HTTP_PROXY = "http://127.0.0.1:1080"
claude
Expected behavior:
Claude Code should either respect the system TUN interface, or show a clear error message instead of hanging silently.
Additional notes:statsig.anthropic.com appears to have an expired/mismatched TLS certificate (issued to analytics-cdn.anthropic.com, expired September 2023)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗