Remote Control: session creation fails — claude.ai serves Cloudflare challenge (cf-mitigated: challenge) to datacenter server IPs
Summary
Remote Control cannot start on a Linux server: every attempt (both remoteControlAtStartup: true and manual start) fails with the banner "Remote Control error: Session creation failed — see debug log". Root cause appears to be that claude.ai's Cloudflare edge is bot-challenging the server's IP, so the CLI's session-creation request never reaches the application.
Evidence
From the affected machine:
$ curl -s -D - https://claude.ai/api/organizations -o body.html | grep -iE "HTTP/|cf-mitigated|server:"
HTTP/2 403
cf-mitigated: challenge
server: cloudflare
cf-ray: a1cae89cca9d4e03-MCI
Body is the Cloudflare "Just a moment…" browser-challenge page — unsolvable by a headless CLI.
Meanwhile the API host is fine from the same machine:
$ curl -s -o /dev/null -w "%{http_code}\n" https://api.anthropic.com/api/hello
200
So inference, MCP connectors, and normal CLI operation all work — only claude.ai-backed features (Remote Control session creation) fail.
Environment
- Claude Code VS Code extension 2.1.212 (linux-x64), Linux 6.8.0-117-generic (Ubuntu), datacenter-hosted VPS
- Auth: claude.ai OAuth, Max 5x subscription; token includes
user:sessions:claude_codescope and is unexpired - No managed settings;
disableRemoteControlnot set;remoteControlAtStartup: true - Reproduces consistently over multiple hours (retested — still
cf-mitigated: challenge)
Expected
The Remote Control bridge should be able to create its session from a headless server — either by routing session creation through an API host not subject to browser bot-challenges, or by allowlisting the CLI's traffic signature at the claude.ai edge.
Impact
Remote Control is unusable from datacenter/VPS-hosted development servers — which are exactly the always-on machines where remote control of long-running sessions is most useful.