Claude Code Remote Control lets you continue a local session from claude.ai/code or the Claude app. When it fails, it usually fails before connecting, with a message that names the check that stopped it. Everything below comes from Anthropic's Remote Control documentation, the messages inside Claude Code 2.1.309 and Anthropic's public issue tracker, checked on 23 October 2026. If a message here does not match yours, update Claude Code first with claude update: several of them were reworded in 2026.
Remote Control has three ways in, and each has a short form:
| Long form | Short form | What it starts |
|---|---|---|
claude remote-control | claude rc | Server mode: a process that waits for sessions from claude.ai/code or the app |
claude --remote-control | claude --rc | A normal interactive session with Remote Control on |
/remote-control | /rc | Turns it on for the session you are already in (also in the Desktop app and VS Code) |
The errors are the same whichever form you use, so "claude rc not working" and "Remote Control not working" have the same answers below.
Start with claude doctor
claude doctorIt runs each eligibility check on its own and says which one failed: your account, an environment variable, the network, or your organization's policy. That one line usually tells you which section below to read.
Quick reference
| Message | Cause | Fix |
|---|---|---|
| Remote Control requires a claude.ai subscription | Signed out, or an API key is in use | claude auth login, remove the key |
| Remote Control requires a full-scope login token | A claude setup-token token | claude auth login |
| Remote Control isn't enabled for this account | Stale plan info after a plan change | claude auth logout, then claude auth login |
| Remote Control is not yet enabled for your account | The same checks, on a version older than 2.1.239 | claude update, then read the new message |
| Only available when using Claude via api.anthropic.com | Bedrock, a gateway or ANTHROPIC_BASE_URL | Unset the variable it names |
| Requires feature-flag evaluation | A variable that blocks feature flags | Unset the variable it names |
| Disabled by your organization's policy | Team or Enterprise toggle, or managed settings | An Owner turns it on |
| Server rejected the request (HTTP 403) | The server refused to create or reattach the session | Fresh session, or claude remote-control |
| Remote Control initialization failed | Desktop app session could not start it | Remove DISABLE_TELEMETRY, update the app |
| Remote credentials fetch failed | Not signed in, or a proxy blocks port 443 | claude remote-control --verbose |
"Remote Control requires a claude.ai subscription"
Remote Control works only with a claude.ai login on a Pro, Max, Team or Enterprise plan. API keys are not supported. The message has a few forms:
- Signed out:
Remote Control requires a claude.ai subscription. - Signed out, from
claude remote-control:Error: You must be logged in to use Remote Control. - Signed in, but a key wins:
Remote Control requires claude.ai subscription auth., followed by the credential in use, such asANTHROPIC_API_KEY is set.
Run claude auth login and pick the claude.ai option. If the message names ANTHROPIC_API_KEY or ANTHROPIC_AUTH_TOKEN, remove it from your shell and from the env block of any Claude Code settings file. If it names apiKeyHelper, remove that setting. A key in a settings file is easy to miss, see Claude Code ignores your subscription login.
"Remote Control requires a full-scope login token"
You signed in with a long-lived token from claude setup-token or the CLAUDE_CODE_OAUTH_TOKEN variable. Those tokens can only make model requests, so they cannot open a Remote Control session. Run claude auth login for a full session token.
"Remote Control isn't enabled for this account"
The account check came back off. The usual cause is cached plan information that went stale after you changed plans. Run claude auth logout, then claude auth login, and update Claude Code if it is old. If you see "Unable to determine your organization for Remote Control eligibility", the fix is the same: claude auth login.
"Remote Control is not yet enabled for your account"
This is the older wording. Claude Code 2.1.309 no longer prints it, so seeing it means your Claude Code is out of date. Anthropic's documentation names two things it used to cover:
- Before 2.1.239, it was the account check that now reads "Remote Control isn't enabled for this account". Cached plan information after a plan change is the usual cause.
- Before 2.1.154, it also appeared when a variable that turns off feature flags was set, such as
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICorDISABLE_GROWTHBOOK.
Run claude update, then try claude rc again. The current version replaces this one vague line with a message that names the cause, and claude doctor shows which check failed. If it still refuses, run claude auth logout and claude auth login to refresh your plan information.
"Remote Control is only available when using Claude via api.anthropic.com"
Remote Control needs the session to talk to the Anthropic API directly. It does not work on Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry, or when ANTHROPIC_BASE_URL points at a gateway or proxy, even if you also signed in with claude.ai. The message names what routed the session away, such as CLAUDE_CODE_USE_BEDROCK. If you have an eligible claude.ai login, unset that variable, remove it from the env key in your settings, and restart the session.
"Remote Control requires feature-flag evaluation"
A variable that turns off feature flags is set, and the message names it.
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICorDISABLE_GROWTHBOOK: unset it in your shell and in your settings file.DISABLE_TELEMETRYorDO_NOT_TRACK: these block Remote Control only if your organization requires Trusted Devices. Versions 2.1.154 to 2.1.282 refused either one by mistake, so update to 2.1.283 or later first.
"Remote Control is disabled by your organization's policy. Contact your organization admin for access."
That full sentence, sometimes printed as Error: Remote Control is disabled by your organization's policy. when you start it from the command line, means a policy blocks Remote Control. Check these in order:
- The message mentions
disableRemoteControl. It readsRemote Control is disabled by your organization's policy (managed setting disableRemoteControl).Your IT team turned it off on this machine through managed settings. Only they can turn it back on. - You are on Pro or Max. Claude Code may still be signed in under a Team or Enterprise organization from an earlier login. Run
/statusto see which one, thenclaude auth logoutandclaude auth login. - The message does not say to contact your admin. Your organization has the HIPAA configuration, which keeps Remote Control off.
/statusshowsHIPAAon the Organization configuration line. - It works for colleagues but not for you. On Enterprise with custom roles, you need both the cloud sessions permission and the Claude Code remote control permission. An Owner adds them under Organization settings, Roles.
- Otherwise, Remote Control is off by default on Team and Enterprise. An Owner turns on the Remote Control toggle in Claude Code admin settings at claude.ai.
If the message is "Couldn't verify your organization's policy for remote control", Claude Code started offline or before your VPN connected and could not load the policy. Reconnect and run /remote-control again.
If a connected session drops with "Remote Control was turned off by your organization's policy", the policy changed while you were connected. It does not reconnect by itself: once your organization allows it again, run /remote-control or claude rc. A running session picks up the changed policy about once an hour.
"Remote Control failed to connect: Remote Control server rejected the request (HTTP 403)"
This one usually comes with "run /remote-control to retry". The Desktop app and the VS Code extension show it with the "Remote Control failed to connect" prefix. In a terminal session the footer shows "Remote Control failed" followed by the same reason. Either way, Anthropic's server answered HTTP 403 when Claude Code asked it to create or reattach the Remote Control session. Retrying the same thing usually fails the same way.
What people reporting it on Anthropic's issue tracker (#91717, #95413) found:
- Resumed sessions fail, fresh ones connect. A session started with
claude --resumeorclaude -rtries to reattach to the Remote Control session it had before, and that reattach gets the 403. Start a new session withclaude --rcinstead of resuming. - Server mode works when the in-session path does not. In the same project folder,
claude remote-control(orclaude rc) connected for most reporters while/remote-controlkept returning 403. - It often starts right after a Desktop app update. Update both the Desktop app and Claude Code; several reporters saw it clear on a later version or on its own, with nothing changed on their side.
Signing out and back in rarely fixed it for those reporters, but it costs a minute: claude auth logout, then claude auth login. If you are on a VPN or behind a proxy, also try without it: on a session that was already connected, Claude Code retries 403 refusals for up to three minutes and then names what refused, a network edge or a proxy, VPN or firewall on your side.
"Remote Control failed to connect: Remote Control initialization failed"
This is the Desktop app's generic message when its Code tab cannot turn Remote Control on for a session, from the toggle or from /remote-control. Unlike the terminal, it does not say why. The causes reported on Anthropic's issue tracker:
DISABLE_TELEMETRYorDO_NOT_TRACKis set (#100339), in theenvblock of~/.claude/settings.jsonor as a user environment variable on Windows that every Desktop session inherits. The terminal reports this case by name; the Desktop app does not. Remove the variable, quit the app fully and start a new session.- A Desktop app bug in the build you have (#103301, #91325). Sessions started in the Desktop app fail while
claude remote-controlin a terminal works on the same machine and account. Reporters saw it fixed by a later app update.
Until it works, claude rc in a terminal in the same folder gives you a Remote Control session from the same machine and login.
"Remote credentials fetch failed"
Claude Code could not get a short-lived credential to connect. Run it again with details:
claude remote-control --verboseEither you are not signed in with claude.ai (run /login), or a firewall or proxy blocks outbound HTTPS to the Anthropic API on port 443. If you also see "Session creation failed", check that your subscription is active.
It connects, then the session goes offline
Remote Control is a local process. It goes offline whenever that process stops:
- You closed the terminal, the desktop app or VS Code. The session stays offline until you bring it back. On a remote machine over SSH, start
claudeinsidetmuxorscreenso it survives the disconnect. - The network was down for a while. An interactive session keeps retrying and reconnects by itself. In server mode (
claude remote-control) it gives up after about 10 minutes and exits, so start it again. - "could not reach the Remote Control server for about 30 minutes". Run
/remote-controlto reconnect. - It dropped after a VPN or network change. Claude Code retries HTTP 403 refusals for up to three minutes, then disconnects and names what refused: a network edge, or a proxy, VPN or firewall on your side.
- "Couldn't reconnect to your Remote Control session" after
claude --resume. Run/remote-controlto try again. Your local session keeps working meanwhile. - "Previous session is unavailable". Claude Code could not bring back the old Remote Control session and did not start a new one by itself. Run
/remote-controlto start a new one. - "Remote Control got an unexpected server response". Your Claude Code is too old for the server. Run
claude update, then/remote-control.
Trusted Devices errors
If your organization requires Trusted Devices, an unenrolled machine gets "this device is not enrolled". Run /login: enrolling is part of signing in. "session expired for trusted-device check" means your sign-in is more than 18 hours old. Run /login again, or confirm with Face ID, Touch ID, Windows Hello or a passkey when claude.ai asks.
When Remote Control is the wrong tool
Remote Control is built to hand one live session to your phone, and it is good at that. Some of the failures above are not bugs but its design: it needs a claude.ai login, it covers only sessions you turned it on for, and it ends at Claude Code.
Termdeck works differently. A small agent on each of your machines dials out to termdeck.io and drives the Claude Code CLI with the login already on that machine, so it does not depend on Remote Control being enabled. Every session on every connected machine shows up, including ones started in a plain terminal, next to your Codex and Grok chats, and approvals reach your phone as push notifications. For a feature by feature look, see Claude Code Remote Control alternative.