[BUG] Remote Control fails with HTTP 403 after Desktop app update; /remote-control retry does not recover

Status Open
Reported on v2.1.257
Maintainer reply None cached
Activity 7 comments · opened Sep 3, 2026

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?

Summary

After updating the Claude Code Desktop app on macOS this morning, Remote Control cannot connect. Toggling it in the app returns:

Remote Control failed to connect: Remote Control server rejected the request (HTTP 403) — run /remote-control to retry

Running /remote-control again reproduces the same 403. This has been reported previously via /feedback in the app without a fix; opening here for visibility.

Environment

  • App: Claude Code Desktop
  • CLI version: 2.1.257
  • OS: macOS (Darwin 27.0.0), Apple Silicon (M2 Max)
  • Timezone: Europe/Paris
  • Occurred: 2026-09-03, morning Paris time
  • Account tier: Anthropic Max subscription

Steps to reproduce

  1. Update the Claude Code Desktop app.
  2. Open the app; Remote Control is enabled in settings (remoteControlAtStartup: true).
  3. Attempt to toggle / connect Remote Control from the app.
  4. Observe: HTTP 403 — Remote Control server rejected the request.

Steps already tried (all failed)

  • Fully quit the Desktop app (⌘Q) and reopened it.
  • Ran /remote-control in the app to re-trigger the handshake.
  • Signed out of the account in the app and signed back in (OAuth token rotation).
  • Waited several minutes and retried.

Config evidence gathered from ~/.claude.json

  • remoteControlAtStartup: true — Remote Control is enabled in settings.
  • hasUsedRemoteControl: true — machine has connected successfully before.
  • remoteControlSurfacesSeen: ["mobile", "web", "desktop"] — historically all three worked.
  • bridgeOauthDeadFailCount: 1
  • bridgeOauthDeadExpiresAt — decodes to 2026-07-26, i.e. 40 days in the past. This flag has expired and has not been rewritten by today's failures, so the app is failing without updating its own dead-state bookkeeping.
  • ~/.claude/backups/ shows the config was rewritten five times this morning during the app update, but the OAuth-dead fields were not refreshed by the 403s.

Expected behaviour

After a Desktop app update, the app should refresh the Remote Control OAuth bridge (or clearly prompt for re-authorization) so the toggle reconnects without a manual server-side reset.

Impact

Remote Control is a daily-driver feature for cross-device (mobile ↔ Mac) workflow. This bug has recurred across multiple app updates and has been reported previously via in-app /feedback with no visible fix.

Additional notes

Happy to attach ~/.claude/debug/ logs on request; not attaching by default because they may contain identifying data.

What Should Happen?

Remote Control

Error Messages/Logs

Remote Control failed to connect: Remote Control server rejected the request (HTTP 403) — run /remote-control to retry

Steps to Reproduce

/ remote control in CC Desktop app

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

Claude 1.44121.4 (0d57a2) 2026-09-02T23:50:20.000Z

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

3 Comments

diecasanova · 1 month ago

Confirming this also happens on a separate account/machine — same HTTP 403, same "run /remote-control to retry" that doesn't actually recover.

My setup: macOS, Claude Code 2.1.260 (native install), channel latest, not on Enterprise/Team (individual plan). Reproduced launching from the CLI directly (claude --continue --remote-control "<name>"), not just the Desktop app toggle — so this isn't limited to the in-app path.

Additional things I ruled out (all clean, 403 persisted through all of them):

  • claude doctor → "No installation issues found."
  • $ANTHROPIC_API_KEY / $CLAUDE_CODE_OAUTH_TOKEN → both empty (not a full-scope-token conflict)
  • claude auth logout && claude auth login (full CLI relogin, not just the in-app sign-out/in) → 403 still occurred on the next attempt
  • $DISABLE_TELEMETRY / $DO_NOT_TRACK / $CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC / $DISABLE_GROWTHBOOK → all empty

Also reproduced across 3 different sessions/project directories on the same machine, so it isn't tied to one session either. The bridgeOauthDeadExpiresAt/expired-flag theory above matches what I'd expect given a full CLI relogin didn't clear it — that bookkeeping sounds like it lives server-side or in account state, not just the local config.

diecasanova · 1 month ago

Follow-up with a workaround that might help others stuck on this: the CLI path (claude --continue --remote-control "<name>") still 403s for me every time, but mobile-app-initiated device pairing does not go through the same broken path and works fine right now:

  1. On the phone app, Code tab → "+ Add device" → pairs the Mac itself as a device (no 403 here).
  2. Tap the paired device → "+ New session" → an environment picker lists known project folders on that Mac.
  3. Picking one creates a genuinely live, working remote session — confirmed with a real round-trip (asked it to run a command on the Mac, got an instant correct response).

So whatever's broken with the 403 seems specific to the CLI's own reconnect/registration handshake (--remote-control flag), not to Remote Control as a whole — the newer mobile-initiated pairing flow uses a different path that isn't affected. Caveat: it creates a new session rather than reattaching to an existing conversation, and the environment picker seems to default to whatever project was most recently active on the Mac rather than a free-text path.

Also, to add one more data point on the "already-connected sessions keep working" theory: I have a separate session that's been connected via Remote Control for 7+ hours (since before I started hitting this bug today) and it's still fully responsive right now. So this really does look isolated to new connection attempts specifically through the CLI flag.

lp177 · 1 month ago

Same problem in VSCode plugin on Debian Trixie and windows 11 since at least 5 days :(
Max plan, no vpn or proxy, this worked previously with this connection and setup...

Showing cached comments. Read the full discussion on GitHub ↗