UFO

Claude Code from your phone, and where it still breaks

Short answer: there is an official way, it is called Remote Control, and for most people it is the right one. It connects the Claude app on your phone to a Claude Code session running on your own machine — your code, your filesystem, your terminal.

The longer answer is that it has some sharp edges people hit within the first hour, there are four other official routes that suit different situations, and SSH plus tmux is still better for one specific thing. That's what the rest of this is.

Written 2026-07-31 · Official behaviour checked against Anthropic's docs · Complaints are dated, because several are being fixed as this ships

Remote Control — the direct answer

From Anthropic's docs:

"Remote Control connects claude.ai/code or the Claude app for iOS and Android to a Claude Code session running on your machine."

The important part is where the work happens:

"When you start a Remote Control session on your machine, Claude keeps running locally the entire time, so your code execution and filesystem access stay on your machine … The web and mobile interfaces are a window into that local session."

There are four ways to start one.

# server mode — stays resident, prints a session URL,
# press space for a QR code
claude remote-control

# a normal interactive session that is also exposed remotely
claude --remote-control      # or --rc

Inside a session already in progress, /remote-control (or /rc) keeps your conversation history. The VS Code extension has the same command. To make every session remote-capable, /configEnable Remote Control for all sessions.

Useful flags on server mode: --name, --continue, --session-id, --spawn <same-dir|worktree|session>, --capacity <N> (default 32), --sandbox.

There is no separate Claude Code mobile app. The docs are explicit: cloud sessions and Remote Control both live in the Code tab of the regular Claude app. If you went looking for "Claude Code" in the App Store and found nothing, that's why.

On the network side this is better than most self-hosted setups: the local session "makes outbound HTTPS requests only and never opens inbound ports on your machine." No port forwarding, no exposing SSH. The trade is that while connected, the session transcript — your messages, Claude's replies, tool activity — is stored on Anthropic's servers. Organisations on zero data retention can't use it at all.

It is not the same as Claude Code on the web

These get conflated constantly and they are opposites.

Remote ControlClaude Code on the web
Where code runsYour machineAn Anthropic-managed VM
Where code comes fromYour working directoryCloned from GitHub
Machine must be onYesNo
StatusAvailable on Pro/MaxResearch preview

The GitHub detail catches people out, and the docs say it plainly:

"The session clones your current directory's GitHub remote at your current branch, so push first if you have local commits, since the VM clones from GitHub rather than your machine."

There is an escape hatch — running claude --cloud in a repo with no GitHub remote bundles and uploads your local repository. It needs at least one commit, must be under 100 MB, and does not include untracked files.

Handoff between the two is one-way. claude --teleport (or /tp) pulls a cloud session down into your terminal; you cannot push a terminal session up to the web from the CLI. Only the desktop app can do that, and only with a clean working tree.

Where it breaks

These are user reports from Anthropic's issue tracker, with reaction counts, as of July 2026. Several have partial fixes in the changelog and the issues are still open — check them before assuming any one still bites.

Issue👍What happens
#29006154Sessions started from the desktop app can't enable Remote Control at all
#28351129Slash commands don't work remotely — no /clear, no /compact
#3425599Reconnection doesn't recover on its own. "The only fix is to physically walk to the terminal"
#2921480Permission prompts on every edit even with --dangerously-skip-permissions
#3298274Session dies after roughly 20 minutes idle. The phone shows "Failed to send message" while the terminal still says "Remote Control active"

That last one is worth reading in the reporter's words, because it names the problem precisely: "This affects every RC user who steps away from their keyboard — the core use case."

Simon Willison, writing in February 2026, summed it up as "a little bit janky right now" — he hit an "is not enabled for your account, contact your administrator" error on his own personal account, then a run of API 500s. On Hacker News the top comment called it "an extremely clunky and buggy prerelease" and listed the things that stick: you press stop and Claude keeps going, the UI disconnects intermittently, one session at a time.

Some of the limits are simply documented behaviour rather than bugs, and those won't be fixed:

Anthropic's own fix for the first one is tmux. Straight from the docs: "To keep a session running on a remote machine after you disconnect from SSH, start it inside tmux or screen." If you were wondering whether the terminal-multiplexer era is over — it isn't.

Things that silently disable it

This is the section that saves an evening. Remote Control will simply not work, often without a clear error, if any of these are true:

One more that surprises people: the web shares your account's rate limits with everything else. There's no separate compute charge for the cloud VM, but parallel cloud tasks eat your allowance proportionally.

The other four official routes

Remote Control isn't the only one, and for "I'm away and want something to happen" the others are often better.

RouteHow you trigger itWhere Claude runs
DispatchMessage a task in the Claude mobile appYour machine, via the desktop app
ChannelsTelegram, Discord or iMessageYour machine (CLI)
Slack@Claude in a channelAnthropic cloud
RoutinesA scheduleCloud, desktop or CLI

Channels is the closest thing to "text my agent" and it is a research preview. It needs Bun, and it has one limitation that decides whether it's useful to you: "Events only arrive while the session is open, so for an always-on setup you run Claude in a background process or persistent terminal." Also, if Claude hits a permission prompt while you're away, the session pauses until you answer — only channels that declare a permission-relay capability can forward that prompt to your phone.

Routines (cloud) is the only one of these that doesn't need your machine powered on, at the cost of running against a fresh clone rather than your working directory. Minimum interval is one hour. Desktop-scheduled tasks go down to a minute but need the machine awake.

When SSH and tmux is still better

Remote Control attaches to a session that is already running. That leaves a gap, and it's the reason people keep the old setup around: you cannot start something new from your phone, and you cannot cd into a different project. A shell can do both.

The stack the community has converged on is three layers, and the shape is the same as Remote Control's — your computer does the work, the phone is a viewport:

Add mosh if you move between Wi-Fi and cellular — it survives the switch in a way plain SSH doesn't.

Two details most tutorials skip:

# tmux tuned for a touchscreen
set -g mouse on
set -g status off
bind -n PageUp copy-mode -eu   # Termius sends PageUp on two-finger swipe

And an authentication trick: start the session locally, at your desk, then attach from the phone. Because Claude Code authenticated while you were physically there, you skip re-authentication (and on macOS, keychain unlocking) entirely.

# at your desk
tmux new -s cc
claude

# later, from the phone
tmux attach -t cc

Being honest about the downside, since the people who use this setup are the loudest about it: typing into a terminal with your thumbs is genuinely unpleasant. Reported problems include iOS voice-to-text not reaching stdin in Termius, no swipe or autocorrect, and one commenter's summary — "terrible UX. Very low bandwidth." Another put the whole category in perspective: "We've re-invented GNU screen in the most inefficient way imaginable."

Where we fit, briefly

We build UFO, so treat this paragraph accordingly — and it is deliberately short, because for the question this page answers, Remote Control is the right tool and it is free. If what you want is one Claude Code session, driven from your phone, stop here and use it.

UFO is a different shape rather than a better version of that. It's a team chat where AI agents are members of channels alongside people: several agents on several models in one room, each running on a machine you've paired, with task cards for work that outlives a session and human-only channels the agents can't see. The reason it exists is the thing that starts mattering after the first session — you end up wanting more than one agent, and other people wanting to see what they did.

It's hosted, so you give up the thing Remote Control does well: nothing of ours needs to be trusted with your session if you just use Anthropic's.

Sources

Official behaviour, commands and limitations are from Anthropic's documentation, read 2026-07-31. Complaints are linked to their original issues and dated — the project moves fast, and several of these have partial fixes in the changelog while the issues remain open.

Not affiliated with Anthropic. If something here is wrong or has gone stale, tell us and we'll fix it.