Claude Code · September 2026
Claude Code, remote
Anthropic ships two first-party ways to reach a session from a phone or another computer. Here is how each one works, the SSH route that predates both, and where all three stop.
Three things the phrase means.
“Claude Code remote” names three different arrangements, and most people searching for it want the first. Remote Control is Anthropic’s feature for continuing a Claude Code session that is running on your machine from your phone, a tablet, or a browser somewhere else. Claude Code on the web is the opposite shape: the session runs on Anthropic’s cloud machines against a GitHub repository, and your terminal is optional. The third is the arrangement that predates both — SSH into a machine you own, run claude there, and keep the session alive with tmux.
They differ on one axis that decides everything else: where the process runs. Remote Control and the SSH route keep it on your hardware, with your files, your toolchain, and your MCP servers. The web runs it on Anthropic’s. Pick by that, then by how long the session has to survive without you.
Remote Control: your local session, from your phone.
Remote Control is available on Pro, Max, Team, and Enterprise plans; API-key logins are not supported, and on Team and Enterprise an Owner has to switch it on in admin settings first. The steps follow Anthropic’s Remote Control docs.
01Sign in with a subscription
Run
claudein a project directory — not your home directory, since the trust dialog never saves trust there — and use/loginif you are not already signed in through claude.ai. Remote Control is not available through Amazon Bedrock, Google Cloud’s Agent Platform, or Microsoft Foundry, nor withANTHROPIC_BASE_URLpointed at a gateway or proxy.02Start the session
Three invocations.
claude --remote-control(or--rc) starts a normal interactive session that is also reachable remotely, so you can keep typing locally./remote-control(or/rc) inside a session you already have carries the conversation over.claude remote-controlis server mode: the process waits for connections and serves up to 32 sessions by default, and--spawn worktreegives each new session its own git worktree.claude --remote-control "My Project" claude remote-control --spawn worktreeAn interactive session with a name, or server mode with a worktree per session. 03Connect from the other device
Open the session URL in any browser to land on it at claude.ai/code, or scan the QR code (press the spacebar in server mode) to open it in the Claude app for iOS or Android. In the app, tap Code to see the session list; a Remote Control session shows a computer icon with a green dot while it is online. Messages, permission prompts, and subagent progress stay in sync across every connected device.
04Turn on push notifications
In the terminal, run
/configand enable Push when actions required, Push when Claude decides, or both. Claude pushes when a long task finishes or when it needs a decision; you can also ask for one in the prompt, for examplenotify me when the tests finish.05Know what it does not survive
The local
claudeprocess must keep running. Close the terminal, quit VS Code, or let the SSH connection drop, and the session shows as offline within seconds — Anthropic’s own advice for a remote machine is to start Remote Control insidetmuxorscreen. Each interactive process carries one remote session; the transcript is stored on Anthropic’s servers while connected, which is why organizations with Zero Data Retention cannot enable it. The machine itself only makes outbound HTTPS requests and opens no ports.
Claude Code on the web: the session that never touches your machine.
Claude Code on the web is in research preview for Pro, Max, and Team users, and for Enterprise users on premium seats. You connect a GitHub account, describe a task at claude.ai/code, and it runs in an isolated virtual machine that Anthropic manages: the repository is cloned, the session persists after you close the browser, and the Claude mobile app can watch and answer it. From a terminal, claude --cloud "fix the flaky auth test" starts one, /tasks lists them, and claude --teleport pulls a finished session — branch and conversation — back into your local checkout.
It shares rate limits with everything else on your account, has no separate compute charge, and needs GitHub to clone and open pull requests. What it does not have is your machine: no local toolchain, no GPU, no MCP server that only exists on your workstation, no private network. Anthropic frames the choice plainly — the web for kicking off tasks with no local setup or on a repository you have not cloned, Remote Control for continuing local work from another device.
The classic route: SSH, tmux, and --resume.
This is what people did before either feature existed, and it still works for any machine you can reach. It needs sshd listening on the host, a key on every device you connect from, and a network path — the LAN, a VPN, or a tailnet.
01Reach the machine
From the laptop,
ssh you@workstation. Away from home, that address has to be reachable: a Tailscale or WireGuard tunnel is the usual answer, a port forward the risky one.ssh you@workstation02Start the session inside tmux
Create a named tmux session and run Claude Code inside it. tmux owns the terminal, so the connection can drop without taking the process with it.
tmux new -s claude claude03Detach, then come back
Press
Ctrl-bthendto detach; the agent keeps working. From any machine that can SSH in, reattach and the scrollback is where you left it.ssh you@workstation tmux attach -t claude04Resume a conversation without tmux
If the process did die, the conversation did not.
claude --continuereopens the most recent session in the current directory,claude --resumeopens a picker, andclaude --resume <name>finds one you named withclaude -n <name>or/rename. What comes back is the transcript and its state, not a running process — whatever was mid-flight when the connection dropped is gone.05Combine it with Remote Control
The two compose. Start
claude --remote-controlinside the tmux session and you get the phone view of a session that survives the SSH disconnect — which is exactly the arrangement Anthropic’s limitations section recommends.tmux new -s claude claude --remote-control
Where all three run out.
Each route covers one machine and one agent, and that is where they stop. A second machine — the build box, the Mac mini under the desk, the GPU host — means a second set of keys, a second listener to expose, a second tmux session to remember. Remote Control only knows about Claude Code, so a Codex or OpenCode session on the same machine is invisible to it. A session that must outlive the laptop needs a machine that stays awake and, for Remote Control, a claude process that stays alive. And a machine you would rather not expose to the internet at all has no honest place in the SSH route.
That is the substrate spawnd provides. One daemon on each host you own; it dials out, so nothing listens on the host — no open ports, no VPN needed. Every session’s PTY is owned by a worker process on the host, so a session survives the closed tab, the dropped connection, the laptop lid, and a daemon restart, scrollback intact, with no tmux to remember. Any browser is the console; on a phone it installs to the home screen as a web app, with no client app and no keys on the device. A new device is approved once against a short code, and revoking it is one click every host honors. Your browser talks to each daemon peer-to-peer, end-to-end encrypted; the server that introduces them never sees session content.
Claude Code runs in it exactly as it runs in any terminal — signed in on the host with your own plan, no API-key markup, --remote-control included if you want the Claude app view as well. Codex, OpenCode, and Aider ship as shortcuts alongside it, and any CLI can be added. Workspaces group sessions by project across hosts, attention cues show which agent is waiting on a yes, and notifications reach the phone. For the phone half, SSH from an iPhone walks the client route and then the one with no client at all; for the many-machines half, see agentic orchestration.
Start
Every machine you own, one console.
curl -fsSL https://spawnd.dev/install.sh | shQuestions
- Is Remote Control the same as Claude Code on the web?
- No. Both use the claude.ai/code interface, but Remote Control runs the session on your machine and the web runs it on Anthropic’s. Remote Control keeps your local files, tools, and MCP servers; the web needs none of them and none of your hardware.
- Can I run Claude Code on an iPhone?
- Not natively — there is no terminal on iOS — but you can drive it from one three ways: the Claude app over Remote Control or a web session, an SSH client app into a machine running it, or a browser console such as spawnd, where the session lives on your own machine and the phone is an approved window.
- Does spawnd replace Remote Control?
- It sits underneath it. A spawnd session is a real shell on your host, so Remote Control starts inside it unchanged. What spawnd adds is the part Remote Control does not cover: sessions that survive the process and the laptop, agents other than Claude Code, and several machines in one console.