Claude Code Remote Control not working: causes and fixes
On this page
What Remote Control needs"Remote Control is disabled by your organization's policy"Why Remote Control keeps disconnectingRemote Control failed or not available: messages and fixesDoes Remote Control use more tokens?Remote Control vs teleport, Dispatch and cloud sessionsIf it has to survive sleep, or work with other CLIsHow Codeman handles itWhen Claude Code Remote Control is not working, the cause is usually one of four things: the session is not signed in with a claude.ai subscription, your environment switches it off (an API key, a gateway ANTHROPIC_BASE_URL, or CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC), an organization policy blocks it, or the claude process on your computer stopped. Remote Control is only a window into a session on your machine, so your phone loses it whenever that machine sleeps or goes offline. Run claude doctor to see which eligibility check fails, and claude update before anything else. Everything below follows Anthropic's Remote Control docs as of October 2026.
What Remote Control needs
From the requirements:
- A Pro, Max, Team or Enterprise plan, not an API key. On Team and Enterprise it stays off until an Owner turns on the Remote Control toggle in Claude Code admin settings.
- A claude.ai login from
/login. A token fromclaude setup-tokenorCLAUDE_CODE_OAUTH_TOKENcan only make model requests, so it cannot open a session. - A direct line to api.anthropic.com: not Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry, not an
ANTHROPIC_BASE_URLgateway or proxy, not a Claude apps gateway sign-in. - Feature-flag fetching.
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICorDISABLE_GROWTHBOOKturns Remote Control off. For the first, even0orfalsecounts as set, so unset it. Anthropic's own dev container example sets it, so sessions in that container can't use Remote Control.DISABLE_TELEMETRYorDO_NOT_TRACKalone are fine from v2.1.283, unless your organization requires Trusted Devices. - A trusted directory. In a new directory,
claude remote-controlasksTrust <directory>? [y/N]. With its input or output piped or redirected it can't ask, and exits withWorkspace not trusted.
"Remote Control is disabled by your organization's policy"
Anthropic lists the causes in this order:
- The message mentions
disableRemoteControl. A settings file on this device turns it off: usually your IT administrator's managed settings, though the key works in any settings file, including your own~/.claude/settings.json. - You are on Pro or Max, but still signed in under a Team or Enterprise organization from an earlier login. Check with
/status, then runclaude auth logoutandclaude auth login. - The message does not say to contact your organization admin. Your organization has the HIPAA configuration applied (
/statusshowsHIPAAon theOrganization configurationline), and even an Owner can't turn Remote Control on. Organizations with Zero Data Retention can't enable it either. - Otherwise, an Owner has not enabled it. The toggle at claude.ai/admin-settings/claude-code is a server-side organization setting.
Two look-alikes. Couldn't verify your organization's policy for remote control means the policy could not be fetched, typically because Claude Code started offline, before a VPN connected, or behind a proxy; reconnect and run /remote-control. Before v2.1.281 that state showed the "disabled by your organization's policy" text, so on an older CLI the message may only mean you started offline. Remote Control was turned off by your organization's policy means the policy changed while you were connected. Sessions fetch the policy about once an hour and do not reconnect by themselves, so run /remote-control once it is allowed again.
Why Remote Control keeps disconnecting
Anthropic's docs put it plainly: the web and mobile apps are "a window into that local session, so your computer has to stay on and the claude process has to keep running." The usual reasons a session drops:
- Sleep. Nothing runs while the computer sleeps; Claude Code reconnects when it wakes. Claude Desktop has a Keep this computer awake for Remote Control switch under Settings > Claude Code (projects docs).
- The process ended. Closing the terminal or quitting the Desktop app or VS Code takes the session offline. On a remote machine, Anthropic advises starting
claudeinsidetmuxorscreenso it outlives your SSH connection. - Network trouble. An interactive session retries for as long as the outage lasts; server mode (
claude remote-control) gives up after roughly 10 minutes and exits. HTTP 403 refusals, which can follow a VPN or network change, are retried for up to three minutes, then Claude Code disconnects and names what refused. - Login renewal. The connection runs on short-lived credentials renewed from your claude.ai login. An expired or revoked login, or a sign-out or account switch in another terminal, ends it with a line starting
Remote Control disconnected. Run/login, then/remote-control(error reference). - Another device took over, or ended or archived the session. That is deliberate; reconnect only if you want it back.
To reconnect, run /remote-control in the session. A stopped claude remote-control server comes back with claude remote-control --continue in the same directory for about four hours, and a claude --remote-control conversation reconnects when you resume it with claude --continue.
Update first: the changelog shows v2.1.232 reconnecting for about 30 minutes after a network blip, v2.1.238 tolerating brief 403s, and v2.1.287 fixing macOS claude remote-control sessions that stopped mid-turn on idle sleep. If drops continue, two open bug reports may match yours: connections that drop with no recovery (#34255) and sessions that end after about 20 minutes idle (#32982). Both were still getting new reports in September 2026.
Remote Control failed or not available: messages and fixes
| Message | Cause | Fix |
|---|---|---|
Remote Control requires a claude.ai subscription., You must be logged in to use Remote Control. or Remote Control requires a full-scope login token |
Not signed in with claude.ai, or signed in with a long-lived token | claude auth login, choose claude.ai |
Remote Control requires claude.ai subscription auth. |
ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN or apiKeyHelper is used instead of your login |
Remove it from your shell or the settings env block |
Remote Control requires feature-flag evaluation |
A variable that turns off flag fetching; the message names it | Unset it (see above) |
Remote Control is only available when using Claude via api.anthropic.com |
A cloud provider, a non-Anthropic ANTHROPIC_BASE_URL, ANTHROPIC_UNIX_SOCKET, or a Claude apps gateway sign-in |
Unset the variable the message names and restart; a gateway sign-in has no variable to unset |
Remote Control isn't enabled for this account (before v2.1.239: Remote Control is not yet enabled for your account) |
Cached entitlements out of date, usually after a plan change | claude auth logout, claude auth login, update |
Couldn't verify Remote Control eligibility |
Feature-flag service unreachable: offline, or a proxy | Retry online; claude doctor |
Remote credentials fetch failed |
Not signed in, outbound HTTPS on port 443 blocked, or session creation failed | claude remote-control --verbose shows the full error |
Remote Control got an unexpected server response |
Your version can't read the server's reply | claude update, then /remote-control |
Your organization requires Trusted Devices for Remote Control, but this device is not enrolled or session expired for trusted-device check |
Trusted Devices is on: device not enrolled, or sign-in older than 18 hours | /login |
Couldn't reconnect to your Remote Control session |
Reconnecting after --resume failed, possibly temporarily |
/remote-control, or a new claude --remote-control |
| Session missing on the phone | Different account or organization in the app, or not connected | Sign in with the same account and tap Code; online sessions show a computer icon with a green dot |
Does Remote Control use more tokens?
Anthropic documents no extra token cost for it. Claude still runs on your machine, Remote Control sessions follow the local data flow, and Remote Control appears in neither the docs' list of background token usage nor their reasons usage climbs. One general rule is worth knowing if you check in from a phone every few hours: on a subscription the prompt cache lasts an hour, so the first message after a longer break reprocesses the whole conversation, from any device. /usage works from the app and breaks down what counts against your plan limits.
Remote Control vs teleport, Dispatch and cloud sessions
Anthropic's comparison sorts them by where Claude runs:
| Where Claude runs | Started with | Computer must stay on | |
|---|---|---|---|
| Remote Control | Your machine (CLI, Desktop or VS Code) | claude --remote-control, claude remote-control, /remote-control |
Yes |
| Cloud session | Anthropic-managed cloud by default | claude.ai/code, the Claude app, claude --cloud |
No |
| Teleport | Your terminal, as a local copy of a cloud session | claude --teleport, /teleport |
Yes, for the local copy |
| Dispatch | Your machine, in the Claude Desktop app | A message from the Claude mobile app | Yes |
- Teleport pulls a cloud session, branch and history included, into your terminal. It is one-way and needs a clean git state, the same repository, a pushed branch and the same account. To steer the local copy from your phone, run
/remote-controlin it. Teleport shares Remote Control's session infrastructure, so its errors can sayRemote Control session expired. - Dispatch lives in the Claude Desktop app's Cowork tab: you message it a task and it can spawn a Code session on your computer. It requires Pro or Max, and as of October 2026 the help article says it isn't available to new users.
- Cloud sessions count toward your plan's usage limits, with no separate charge for the cloud VM.
If it has to survive sleep, or work with other CLIs
Remote Control cannot keep a sleeping laptop working, and it only drives Claude Code. Both have the same answer: run the CLI inside tmux on a machine that stays on, and connect from wherever you are. Remote Control still works inside tmux:
ssh you@always-on-box
tmux new -s work # a named session that outlives SSH
claude --remote-control "always-on" # Remote Control from inside tmux
# detach with Ctrl-b d; reattach later with: tmux attach -t work
The same pattern works for Codex, Gemini CLI, OpenCode or any terminal agent, reached over SSH from a laptop or phone. OpenAI has its own remote connections for Codex: the ChatGPT app on iOS or Android pairs with the ChatGPT desktop app on a Mac or Windows host that stays awake and online, and it can't be set up from the Codex CLI.
The always-on setup, including what survives a reboot, is in Will Claude keep running if I lock or close my laptop?; SSH, mosh and Tailscale from a phone are in Use Claude Code from your phone.
How Codeman handles it
Codeman is not Remote Control and does not use it. It is a self-hosted dashboard you install on the machine that does the work: it runs each agent CLI (Claude Code, Codex, Gemini CLI, OpenCode and others) in its own tmux session and streams the real terminal to a browser on your laptop or phone. Remote Control's plan, policy and feature-flag requirements do not apply, because your browser talks to your own server, and each CLI uses whatever login or API key you already gave it.
- Reaching it. Codeman binds
127.0.0.1by default. The recommended route is Tailscale, which the installer can set up; a Cloudflare tunnel refuses to start without a password unless you explicitly acknowledge the exposure. See Remote Access. - What it survives. Closing the browser, losing the network and restarting the Codeman server leave sessions running. A reboot ends them; Claude conversations come back from the Resume Conversation list.
- What it does not do. It does not keep the host awake, so a sleeping host pauses its sessions like any other process. There is no native app: the phone UI is a web app, and push notifications need HTTPS and, on iOS, a home-screen install (Mobile Guide). The Approvals Inbox covers Claude and DeepSeek Harness sessions only. Whoever can reach the dashboard can run code on your machine, so keep it behind a private network or a password.
- A laptop as the host. A remote SSH case runs the agent in tmux on another machine, so the laptop can sleep or change networks while the work continues (Remote SSH Sessions).