Claude Code Remote Control Mobile 2026

Claude Code Remote Control: Complete 2026 Guide (Setup, Security, Trusted Devices, Admin Controls)

The Prompt Shelf ·

Remote Control lets you steer a Claude Code session running on your own machine from claude.ai/code or the Claude mobile app. It’s not a cloud feature — the session stays on your laptop or desktop the entire time. Your phone or browser is a window into that local process, not a separate environment.

That distinction matters more than the setup steps do, because Anthropic now ships several ways to work with Claude Code away from your keyboard — Remote Control, Dispatch, Channels, the Slack integration, Scheduled Tasks — and they get conflated constantly in write-ups that just walk through the claude remote-control command. This guide covers setup, but spends more time on the parts that actually decide whether you should use it: where execution happens, what’s stored on Anthropic’s servers versus what never leaves your machine, the new Trusted Devices beta, and the admin policy that lets Team/Enterprise orgs turn the whole thing off.

Everything below is sourced from Anthropic’s official docs at code.claude.com/docs/en/remote-control — note the domain: Claude Code docs moved off docs.claude.com to code.claude.com earlier in 2026, and the old docs.claude.com/en/docs/claude-code/* URLs now 301-redirect there. If you have old bookmarks or scripts pointing at the legacy path, update them.


What Remote Control Actually Is

When you start a Remote Control session, Claude Code keeps running as a local process on your machine — same filesystem access, same MCP servers, same project configuration it would have in a normal terminal session. What changes is that claude.ai/code or the Claude mobile app can now attach to that session as an additional client. You can:

  • Send messages and prompts from your phone the same as you would in the terminal
  • Attach images and files from mobile — Claude Code downloads them locally and references them the same way @file would
  • Approve or deny permission prompts remotely
  • Watch subagent and workflow progress sync live across every connected device (desktop, browser, phone)
  • Get push notifications when a long task finishes or Claude needs a decision

If your laptop sleeps or the network drops, the session reconnects automatically once you’re back online — it doesn’t just die.

The key sentence from the docs: “your code execution and filesystem access stay on your machine.” Nothing about your codebase gets uploaded to run somewhere else. This is the opposite design from Claude Code on the web, which spins up a session in Anthropic-managed cloud infrastructure with no local dependency at all.

Remote Control vs Dispatch vs Channels vs Slack vs Scheduled Tasks

This is where most write-ups get vague, because Anthropic has shipped five different “work with Claude Code when you’re not at your desk” mechanisms and they solve genuinely different problems. Here’s the actual breakdown, based on the official comparison in the docs:

FeatureWhat triggers itWhere Claude runsSetupBest for
Remote ControlYou drive an already-running session from claude.ai/code or the Claude appYour machine (CLI or VS Code)claude remote-controlSteering in-progress local work from another device
DispatchYou message a new task from the Claude mobile appYour machine (via Desktop app)Pair the mobile app with Claude DesktopDelegating work while away, minimal setup
ChannelsAn external event fires — CI failure, a Telegram/Discord messageYour machine (CLI)Install a channel plugin, or build a custom oneReacting to events without opening a terminal
SlackSomeone @Claude-mentions in a channelAnthropic cloudInstall the Slack app with Claude Code on the web enabledPRs and code review from team chat
Scheduled TasksA cron-style scheduleCLI, Desktop, or cloud (your choice)Pick a frequencyRecurring automation, e.g. a daily changelog review

The one axis that actually separates these: where does execution happen, and did you have to already start something for it to work?

Remote Control is the only one of the five where you’re steering a session that was already running locally before you picked up your phone — nothing new gets spawned, you’re just adding a second (or third) client to a conversation that’s mid-flight. Dispatch is adjacent but inverted: you send a message from mobile first, and Desktop spins up a new local session to handle it. Channels is event-driven rather than device-driven — it’s about Claude reacting to something outside the terminal, not you moving between devices. Slack and cloud Scheduled Tasks are the only two in this table that don’t touch your machine at all; they run entirely in Anthropic’s infrastructure, which is the tradeoff you’re making for zero local setup.

If you’re mid-task at your desk and want to keep an eye on it from the couch — Remote Control. If you’re away from your machine entirely and want to kick something off — Dispatch. If you want Claude to react automatically to CI or chat — Channels. If your team wants PRs generated from Slack without anyone opening a terminal — the Slack integration.

The Three Ways to Enable Remote Control

Before any of these work, you need a claude.ai login (/login inside Claude Code — API key auth is not supported at all for this feature) and you need to have run claude inside the target project directory at least once to accept the workspace trust dialog. The trust dialog never saves trust for your home directory, so don’t try to start Remote Control from ~.

1. Server mode — claude remote-control

cd your-project
claude remote-control

This runs in your terminal as a standing server, showing a session URL (and, if you press spacebar, a QR code) you can use to connect from another device. Server mode is the only option that supports multiple concurrent sessions — default capacity is 32, configurable with --capacity <N>. Useful flags:

  • --spawn worktree — each new session gets its own git worktree instead of sharing one working directory, avoiding file conflicts between sessions
  • --name "My Project" — a custom title, otherwise it defaults to <hostname>-<random-name>
  • -c / --continue — resume the most recent Remote Control session from this directory (requires Claude Code 2.1.200+)

2. Interactive session with Remote Control on — claude --remote-control / --rc

claude --remote-control

This starts a normal interactive terminal session, exactly like claude, except it’s also reachable remotely from the moment it starts. Unlike server mode, you can keep typing locally in the terminal while someone (you, on your phone) is also connected to the same conversation.

3. From inside an already-running session — /remote-control or /rc

/remote-control

If you forgot to start with Remote Control on, or you decided mid-session that you want to check in from your phone later, run this slash command and it converts your current session into a remote-reachable one, carrying over the full conversation history. The VS Code extension supports the same command — type /remote-control or /rc in the prompt box, and a connection-status banner appears above it.

There’s also a per-machine setting if you don’t want to type any of this every time: run /config and set Enable Remote Control for all sessions to true, and every interactive session auto-registers as remote-reachable from the moment it starts.

What You Can Actually Do From Your Phone

This is not a read-only monitoring view. From claude.ai/code or the Claude mobile app, connected to an active Remote Control session, you can:

  • Send new prompts and messages
  • Attach images and files as context
  • Approve or deny permission prompts (this is the one that matters most in practice — you don’t have to be at your desk to unblock a session waiting on a git push confirmation)
  • Run a meaningful subset of slash commands: /model, /effort, /fast, /color, /rename, /compact, /clear, /context, /usage, /mcp (with reconnect/enable/disable subcommands), /config, /recap, and a few others
  • Get push notifications — Claude decides when to send one, typically when a long task finishes or it needs a decision, and you can also explicitly ask for one (“notify me when the tests finish”)

Some commands are terminal-only and won’t work remotely — /plugin and /resume are two examples, since they depend on local process state that doesn’t make sense to expose over the sync layer. But for the core loop of “check on progress, answer a permission prompt, redirect the task,” mobile is fully capable, not a stripped-down viewer.

The Security Model

This is the part competing write-ups tend to hand-wave. The precise claims, straight from the docs:

Outbound only. Your local Claude Code process makes outbound HTTPS requests to the Anthropic API and never opens an inbound port. It registers with the API and polls for work; when you connect from another device, the Anthropic-hosted server routes messages between your phone/browser and your local session over a streaming connection. There’s no port-forwarding, no exposed local server, nothing listening for a connection from the internet.

Short-lived, scoped credentials. The connection uses multiple credentials, each scoped to a single purpose and each expiring independently — not one long-lived token covering everything.

What’s stored server-side. While a Remote Control session is connected, the transcript — your messages, Claude’s responses, and tool activity — is stored on Anthropic’s servers. That’s what makes cross-device sync and reconnect-after-drop possible. It’s retained under Anthropic’s standard Data usage policy.

What stays local. Execution and filesystem access. Your code never gets uploaded to run somewhere else; the transcript is a record of the conversation, not a copy of your working tree.

How to turn it off entirely. The disableRemoteControl setting disables the feature outright — useful for a managed device policy. Separately, organizations with Zero Data Retention compliance requirements can’t enable Remote Control at all, because the transcript-storage step is fundamentally incompatible with a zero-retention guarantee.

Trusted Devices (Beta)

This is a Team/Enterprise-only feature that essentially nobody outside the official docs covers yet, and it’s the piece worth flagging if you’re a security-conscious admin evaluating whether to allow Remote Control org-wide.

Trusted Devices is an org-wide setting, off by default, that requires each member to verify their device before they can view or steer any Remote Control session from claude.ai, the mobile app, or Claude Desktop. It ties Remote Control access to a known device plus a recent authentication, not just a signed-in account — so a stolen session cookie or an unattended signed-in browser isn’t enough on its own.

With it enabled, interacting with a Remote Control session requires both:

  1. An enrolled device. Each browser, phone, or desktop app enrolls its own credential, and enrollment only happens right after a full sign-in — it’s not something that can happen silently in the background.
  2. A sign-in less than 18 hours old. Instead of re-authenticating daily, members confirm presence with Face ID, Touch ID, Windows Hello, or a passkey — a biometric step-up that refreshes the session instantly. The biometric check itself runs through the OS or browser, the same mechanism as passkey sign-in; Anthropic never receives or stores the biometric data, only the device’s public key and metadata like display name, platform, and enrollment time.

Scope note: this only gates Remote Control. Regular Claude chat, Claude Code in the terminal, and API usage are unaffected. It’s also all-or-nothing per org — there’s no per-team or per-project toggle.

For admins: enable it at claude.ai/admin-settings/claude-code under the Remote Control section, via the Require trusted devices toggle. It only protects sessions started after you flip it — anything already running when you enable it keeps working without the device check until that session ends. Members can review and revoke their own enrolled devices at claude.ai/settings/account, and if someone loses a device and can’t sign in, an admin can use Sign out everywhere to revoke every session and enrolled device for that member in one action.

Enterprise Admin Controls

Two separate levers exist for org-level control, and it’s worth being precise about which does what:

The org-wide Remote Control toggle. On Team and Enterprise plans, Remote Control is off by default. An Owner has to explicitly turn it on at claude.ai/admin-settings/claude-code before anyone in the org can use it — individual members can’t opt in on their own. If your org has a data retention or compliance configuration incompatible with Remote Control (Zero Data Retention, for instance), this toggle is grayed out and can’t be changed from the admin panel.

The disableRemoteControl managed setting. This is a device-level policy, separate from the org toggle, that an IT administrator sets via managed settings files. It lets you disable Remote Control on specific managed machines independent of whatever the org-wide toggle says — useful if the org allows Remote Control generally but you want to lock it down on, say, machines handling regulated data.

If you see the error “Remote Control is disabled by your organization’s policy,” it has four distinct causes worth knowing before you file a support ticket: you’re authenticated with an API key instead of claude.ai OAuth, the Owner hasn’t enabled the org toggle yet, the toggle is grayed out due to a compliance configuration, or disableRemoteControl is set on that specific device. /status inside Claude Code tells you which login method and subscription you’re on, which narrows it down fast.

Limitations Worth Knowing

  • API keys don’t work. Remote Control requires claude.ai OAuth login (/login). It’s also unavailable on Amazon Bedrock, Google Cloud’s Agent Platform, and Microsoft Foundry, and disabled if ANTHROPIC_BASE_URL points anywhere other than api.anthropic.com (i.e., through an LLM gateway or proxy).
  • One remote session per interactive process, outside of server mode. If you want several concurrent remote-reachable sessions, use claude remote-control (server mode), not repeated --remote-control runs.
  • The local process has to stay alive. Closing the terminal or quitting VS Code ends the session — Remote Control is a window into a live local process, not a persistent cloud session.
  • ~10 minutes of network loss and it times out. If your machine is awake but can’t reach the network for more than roughly 10 minutes, the session exits and you have to start a new one.
  • Ultraplan and Remote Control can’t run together. Starting an ultraplan session disconnects any active Remote Control session, since both use the claude.ai/code interface and only one can be connected at a time.

FAQ

Does Remote Control run my code in the cloud? No. Execution and filesystem access stay entirely on the machine where you started the session. Only the conversation transcript (messages, responses, tool activity — not your codebase) is stored on Anthropic’s servers to enable sync and reconnection.

Can I use Remote Control with an Anthropic API key instead of a claude.ai account? No. It requires a full-scope claude.ai OAuth login via /login. API keys, Console accounts, and long-lived tokens from claude setup-token are not supported.

What’s the difference between Remote Control and Claude Code on the web? Remote Control executes on your own machine and gives you your local filesystem, MCP servers, and project config; Claude Code on the web runs entirely in Anthropic-managed cloud infrastructure with no local dependency. Use Remote Control to keep steering work you already started locally; use the web version to kick off a task with zero local setup, or to work on a repo you haven’t cloned.

Is Remote Control available on Team and Enterprise plans? Yes, but it’s off by default — an Owner has to explicitly enable it in the Claude Code admin settings before anyone in the org can use it. It’s on by default (available to enable per-user) on Pro and Max.

What is Trusted Devices and do I need it? It’s a Team/Enterprise-only beta that requires device enrollment plus a biometric step-up (Face ID, Touch ID, Windows Hello, or passkey) before a session can be viewed or steered remotely, on top of a normal sign-in. It’s worth enabling if your org handles sensitive code and wants Remote Control access tied to a specific verified device rather than just an active login.

Can an admin disable Remote Control for specific machines only? Yes, via the disableRemoteControl setting in a managed settings file, independent of the org-wide toggle. This is separate from — and more granular than — the Owner-level on/off switch in admin settings.


Source: code.claude.com/docs/en/remote-control — official Anthropic documentation, current as of July 2026.

Related Articles

Explore the collection

Browse all AI coding rules — CLAUDE.md, .cursorrules, AGENTS.md, and more.

Browse Rules