Claude Code 2.1.282 and 2.1.283, linux-arm64, in Docker, with HTTPS_PROXY=http://egress:3128 (Squid 5.7, CONNECT to api.anthropic.com:443 allowed).
What happens. Model requests tunnel with CONNECT and work. These requests are instead sent to the proxy as absolute-URI requests (POST https://api.anthropic.com/v1/environments/bridge HTTP/1.1):
POST /v1/environments/bridge (user agent claude-code/2.1.282)
POST /api/event_logging/v2/batch
- the Datadog intake (user agent
axios/1.15.2)
Squid refuses them, so claude remote-control prints Registration: Access denied (403). Check your organization permissions., which points at the wrong cause.
Expected. Every HTTPS request tunnels with CONNECT, and a proxy's refusal is reported as a proxy refusal.
Workaround. A local proxy inside the container that turns absolute-URI requests into CONNECT tunnels through the upstream proxy. With it, Remote Control registers and serves normally.
Reproduce. Run Claude Code in a container whose only route out is an HTTP proxy that allows CONNECT to api.anthropic.com:443 and refuses other requests, sign in with a claude.ai account, and run claude remote-control --name test.
Claude Code 2.1.282 and 2.1.283, linux-arm64, in Docker, with
HTTPS_PROXY=http://egress:3128(Squid 5.7, CONNECT toapi.anthropic.com:443allowed).What happens. Model requests tunnel with CONNECT and work. These requests are instead sent to the proxy as absolute-URI requests (
POST https://api.anthropic.com/v1/environments/bridge HTTP/1.1):POST /v1/environments/bridge(user agentclaude-code/2.1.282)POST /api/event_logging/v2/batchaxios/1.15.2)Squid refuses them, so
claude remote-controlprintsRegistration: Access denied (403). Check your organization permissions., which points at the wrong cause.Expected. Every HTTPS request tunnels with CONNECT, and a proxy's refusal is reported as a proxy refusal.
Workaround. A local proxy inside the container that turns absolute-URI requests into CONNECT tunnels through the upstream proxy. With it, Remote Control registers and serves normally.
Reproduce. Run Claude Code in a container whose only route out is an HTTP proxy that allows CONNECT to
api.anthropic.com:443and refuses other requests, sign in with a claude.ai account, and runclaude remote-control --name test.