`claude remote-control` (server mode) fails registration with 401 `Missing Authorization header` while `claude --remote-control` (interactive) works — same account, same machine

Status Open
Reported on v2.1.222
Maintainer reply None cached
Activity 0 comments · opened Aug 4, 2026

Environment

  • Claude Code: 2.1.222 (native install; also reproduced on 2.1.221)
  • OS: WSL2 Ubuntu 26.04 LTS, kernel 6.18.33.2-microsoft-standard-WSL2, x86_64
  • Auth: claude.ai OAuth (Max 20x), authMethod: claude.ai, apiProvider: firstParty
  • No ANTHROPIC_API_KEY, no ANTHROPIC_BASE_URL, no proxy env vars, no managed-settings file, none of the telemetry-disabling env vars set

Bug

claude remote-control (server mode) always fails at bridge registration:

Error: Registration: Authentication failed (401): Missing Authorization header.
Please provide an OAuth token as a Bearer token.. Remote Control is only available
with claude.ai subscriptions. Please use `/login` to sign in with your claude.ai account.

Meanwhile claude --remote-control (interactive mode) works perfectly with the same credentials, on the same machine, minutes apart — session registered, steerable from claude.ai/code on two devices, stable for 35+ minutes with no disconnects.

Debug log (--debug-file, redacted)

[bridge:init] bridgeId=082aedaf-... dir=<project> branch=master gitRepoUrl=<private repo> machine=<host>
[bridge:init] apiBaseUrl=https://api.anthropic.com sessionIngressUrl=https://api.anthropic.com
[bridge:init] sandbox=false
[bridge:api] POST /v1/environments/bridge bridgeId=082aedaf-...
[bridge:api] Registration: 401 received, attempting token refresh
[bridge:api] Registration: Token refreshed, retrying request
[bridge:api] Registration: Retry after refresh also got 401

The client refreshes the token successfully and the retry is still rejected with "Missing Authorization header".

Ruled out

  • Eligibility: claude remote-control --help prints the full flag list (docs say eligibility is checked before help prints), and claude doctor shows Remote Control available with no issues
  • Token validity: full OAuth login with scopes user:file_upload, user:inference, user:mcp_servers, user:profile, user:sessions:claude_code; not a setup-token; refresh succeeds mid-request
  • Proxy/gateway: no proxy env vars; apiBaseUrl=api.anthropic.com; direct connectivity to api.anthropic.com confirmed
  • Git context: reproduced identically both with no repo (gitRepoUrl=null) and inside a trusted git repo with branch + remote populated
  • Fresh login: full claude auth logout / claude auth login cycle, then immediate retry with the brand-new token — identical double-401

Repro

  1. WSL2 Ubuntu, fresh native install, /login with a claude.ai Max account
  2. cd into any trusted project directory
  3. claude remote-control → 401 at registration; 100% reproducible (6 attempts across two versions and a fresh login cycle)
  4. claude --remote-control in the same directory → works

Possibly related: #30102, #30096 — but those appear to be a different failure point (registration succeeds, session dies at Poll when a client connects). This one never registers.

View original on GitHub ↗