Claude Code mobile: use it on your phone with Remote Control, or with Caprock from anywhere
Claude Code on mobile: the Claude app for iOS and Android with Remote Control, or Caprock to start work, chat, commit and push from anywhere, no account.
To use Claude Code on your phone, start Remote Control on your machine — /remote-control inside a session — and open that session in the Claude app for iOS or Android, or at claude.ai/code. You can read, reply and answer permission prompts.
Set it up in two minutes
- Open it. In the Caprock app on the computer: Settings → Use on your phone. The command palette (⌘K, or Ctrl+Shift+K) has Open Caprock on your phone.
- Connect a phone. Press Connect a phone. The tick under it, It can control sessions, is on by default: the phone can start agents, type, approve and stop. Untick it for a phone that should only look. The press turns access from anywhere on, and it stays on across restarts until you turn it off under How it works.
- Scan. Point the phone's camera at the QR code and open the link. The code works once, for five minutes. The phone opens on a Ready card: which computer it is connected to, and whether it can type.
- Put it on the home screen. Android, in Chrome: Install the Caprock app on the page. iPhone, in Safari: Share → Add to Home Screen, then paste the link into the home-screen app once (Copy link, under How it works while the code is up), because it keeps its own storage.
- Continue a session. Open it from Continue on the phone and type in its chat. You can answer approvals and stop it from there.
- Alerts. Settings → Telegram sends a message through a bot you own when a Claude Code session needs approval or has finished.
Caprock types only into sessions it started; one running in your own terminal is watched from the phone, never typed into. The sections below cover each step, and what Claude Code's own Remote Control does instead.
Is there a Claude Code app for iPhone or Android?
Not a separate one. Anthropic's mobile docs: "Claude Code doesn't have a separate mobile app". It lives in the Code tab of the Claude app for iOS (iPad included) and Android, signed in to the claude.ai account you use for Claude Code — not an API key, not Bedrock. /mobile in a session shows a QR code that opens the right app store. From the app you reach:
- Cloud sessions, in the Code tab — Claude Code on Anthropic's machines, on a GitHub repository; they keep running with your laptop closed.
- Remote Control, in the Code tab — a session running on your own computer, below.
- Projects — a conversation in which Claude coordinates parallel threads of work in the cloud.
- Dispatch — a task you message in the app, run by the Desktop app on your computer, on Pro or Max.
From the app you cannot pick Bypass permissions; a Remote Control session offers Manual, Accept edits, Plan and Auto. Caprock has no app-store app either: on a phone it is a web page you add to the home screen, covered below.
Claude Code Remote Control: the built-in way
Requirements, limits and a fix for each error it shows are in Claude Code Remote Control.
| Run | Where | What you get |
|---|---|---|
/remote-control | inside a running session | that session, history kept |
claude --remote-control | your shell | a new interactive session, also reachable remotely |
claude remote-control | your shell | server mode: waits for connections from other devices |
The terminal shows a session URL; in server mode, the spacebar shows a QR code for the phone. In the Claude app, tap Code and pick the session — it has a computer icon with a green dot while online. No app yet? /mobile shows a QR code that opens the right app store.
From the phone you can send messages (the conversation stays in sync with the terminal), answer permission prompts and questions, attach photos and files, and run some commands — /compact, /clear, /usage, /model sonnet and others; /plugin and /resume stay local. For a push when a task finishes or needs a decision, turn on Push when Claude decides or Push when actions required in /config.
To connect every session without asking, set Enable Remote Control for all sessions in /config, or put "remoteControlAtStartup": true in ~/.claude/settings.json. If you would rather nothing ran on your machine, a cloud session — Claude Code on the web — runs on infrastructure Anthropic manages and uses the same claude.ai/code screens.
What Remote Control does not cover
From Anthropic's docs, today:
- Plans. Pro, Max, Team and Enterprise. "API keys are not supported." On Team and Enterprise an Owner has to turn it on first. A long-lived token from
claude setup-tokencannot start it either. - Providers. Not on Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry, or with
ANTHROPIC_BASE_URLpointing at a gateway or proxy. - Only the sessions you connected. Outside server mode, each process carries one remote session.
- The transcript goes to Anthropic. While connected, your messages, Claude's replies and tool activity are stored on Anthropic's servers. Organizations with Zero Data Retention cannot enable it.
- The machine stays on. Stop
claude, and the session goes offline until you start it again.
Watch and control sessions from your phone with Caprock
Pairing is steps 1 to 3 above. The phone then appears under Your devices in the same section, with Remove. On a machine you reach over SSH, without the app, caprock remote on then caprock pair, which draws the QR code in the terminal, pair a phone that only looks.
Caprock reads every Claude Code session on the machine from the transcripts on disk — including the ones you started yourself in any terminal, on a subscription, an API key, Bedrock or Google Cloud's Agent Platform (Vertex AI).
The phone then reads what the app shows: every session live with its status and cost, each session's timeline and changes, the Cost screen, and Memory — what Claude wrote, searchable across sessions. No account and no app store: on Wi‑Fi or mobile data alike, the phone opens Caprock's page at m.caprock.dev and reaches your computer through the relay.
The relay forwards bytes it cannot read or change. Your computer dials out to it, and the phone encrypts end to end with a key it read from the QR code (Noise NK, X25519, AES-GCM). What the relay does see is which machine a phone connects to, when, from which IP address, and how many bytes pass; it stores nothing. To run your own, put caprock remote relay behind TLS and point the machine at it with caprock remote on --relay wss://your.relay.
Let the phone control sessions
It can control sessions, ticked by default when you connect a phone, decides what it may do. A phone connected with it unticked can only look until you press Allow control beside it on the computer. A phone that may control sessions can:
- Start work. + Start work on the full dashboard offers Clone (an
https://orgit@address, into a folder under your home), New project and Worktree, then Start an agent here, which opens on the session's chat. A clone runs on the computer: lock the phone halfway and the page catches up when you are back, without cloning twice. - Start a session in any folder under your home directory with Claude Code, Codex, OpenCode, Gemini CLI, Grok Build or Hermes Agent, whichever is installed, and any permission mode. Bypass asks once on the phone before it starts, and the computer's one-time bypass consent has to be given at the computer.
- Chat with it. A session opens on its chat: your prompts, what the agent wrote, each tool call on one line. Type in the field and send. A web address in a reply is a link you can tap.
- Answer a permission prompt with a button. Under the command or file it asks about: Yes, Claude Code's own second option (don't ask again, allow all edits this session) and No. Claude Code sessions only; Codex and OpenCode prompts are answered with the keys below.
- Type into it from a large input field, with Esc, Tab, ↑, ↓, Enter and Ctrl+C buttons.
- Attach a photo. Photo beside the input takes a picture or picks one from the library, shrinks it to 2048 px and types its path into the session.
- Commit and push. A session's Changes tab lists what is uncommitted in its worktree. Tap files to commit only those, write a message or take the agent's summary, then Commit or Commit & Push; Pull and Fetch sit under them. Only in a project under your home folder.
- Pause, resume or stop it, and approve or reject a task.
That is as much power as a shell in your home folder, so grant it only to your own phone. It reconnects by itself, and the header says where it stands: Live, Catching up…, Reconnecting or Offline since. A message sent while offline waits as Will send when connected and goes when the connection is back: in the chat it joins the queue, so it never lands in a permission prompt; on the Terminal tab it stays a draft while a prompt waits.
It types only into sessions Caprock started; one running in your own terminal is watched, never typed into. Settings, pairing, custom commands and folders outside home stay on the machine. Take control away is one button and holds from the next keystroke, even in a terminal already open on the phone. It is free, like pairing.
Get a Telegram alert when a session waits
Settings → Telegram sends a message through your own Telegram bot when a Claude Code session is waiting for approval (at once) or has finished (after a minute with nothing new); a turn that ended on a question is titled Needs your answer. It covers every Claude Code session on the machine, not only the ones Caprock started. Create a bot with @BotFather, paste its token, send the bot the six-digit code Settings shows, and tick each kind you want. Send a test alert checks the bot. Alerts are free. The bot talks to Telegram from your computer; it does not use the phone relay.
The first line, the one a lock screen shows, names the agent, project and session; the next says what happened. Below it: the folder and branch; for an approval, the command or file it asks about; for a finished run, how long it worked, what it cost, its tool calls, the files it changed and the first line of its reply (a switch turns that off); and a link to the session when phone access is on. Tool output is never sent. At most one alert of a kind per session every three minutes, and 20 an hour. Codex and OpenCode sessions send no alerts.
When the phone cannot connect
The phone says why — at once when it has no network, after five seconds otherwise — and keeps trying by itself.
| It says | Why | Fix |
|---|---|---|
| No internet on this phone | the phone has lost its network | nothing: it counts down to the next try and reconnects by itself when the network is back, the last screen dimmed underneath |
| Can't reach the relay | the phone cannot reach relay.caprock.dev or m.caprock.dev; a VPN or a network that blocks them is the usual cause | check the phone's connection or VPN |
| Connected to the relay — your computer is offline | the relay has no connection from the computer | wake it, check it is online, open Caprock |
| Connected to the relay — your computer isn't answering | the relay reached it and it did not reply, the usual sign of a computer asleep | wake the computer; Settings → Keep awake keeps it up while agents work |
| Paired device removed: pair again | it was removed on the computer, or the computer's keys changed | connect it again with a new code |
| This is the old Wi‑Fi link | it was paired on the Wi‑Fi address, before the relay; its row on the computer says Works on your home Wi‑Fi only | press Reconnect in that row and scan the code |
A lost phone stays paired until you remove it: press Remove next to it in Settings → Use on your phone, on the computer. Pairing and removing work only on the machine itself. A computer with no way out to the internet can still pair a phone over the Wi‑Fi from a terminal: caprock up --lan, then caprock pair.
Remote Control or Caprock
| Remote Control | Caprock | |
|---|---|---|
| Reply to a session | yes | yes, on a phone that may control sessions |
| Answer permission prompts | yes | with a button in Claude Code sessions it started |
| Alert when a session needs you | push, turned on in /config | a message to your own Telegram bot |
| Start a new session | in server mode, in the folder the server runs in | in any folder under your home directory, or a new clone or worktree |
| Which sessions | the ones you connected | watches every session; types into those it started |
| Pro, Max, Team, Enterprise | yes | yes |
| API key | no | yes |
| Bedrock, Google Cloud | no | yes |
| Transcript stored off the machine | yes, on Anthropic's servers | no |
| Reaches the machine | through Anthropic | through Caprock's relay, end-to-end encrypted, or one you run |
| On the phone | Claude app or claude.ai/code | the phone's browser |
Remote Control is Anthropic's free remote for the one session you connected. Caprock keeps the record of all of them — which are running, which are waiting on you, how close each subscription is to its limit, what each would cost at list price, what Claude said — and starts and types into its own, from anywhere too. To answer a session you started in your own terminal, use Remote Control.
Questions people ask
- Can I use Claude Code on my phone?
- Yes. Start Remote Control on your machine with /remote-control and open the session in the Claude app's Code tab or at claude.ai/code.
- Is there a Claude Code iOS app?
- Not a separate one. Claude Code lives in the Code tab of the Claude app for iOS and Android, for cloud sessions and Remote Control to a session on your computer; Dispatch is a task you message in the same app. Run /mobile in a session for a QR code to the app store.
- Does Claude Code Remote Control work with an API key?
- No. Anthropic's docs say "API keys are not supported"; it needs a Pro, Max, Team or Enterprise plan.
- Does Remote Control work with Bedrock or Vertex AI?
- No. It is not available on Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry, or with ANTHROPIC_BASE_URL pointing at a gateway.
- Can I approve permission prompts from my phone?
- With Remote Control, yes; Claude Code keeps them open until you answer. With Caprock, yes for Claude Code sessions Caprock started, on a phone that may control sessions: Yes, the second option or No, as buttons under the command or file.
- Can my phone tell me when Claude Code is waiting for approval?
- With Caprock, yes, free: Settings → Telegram sends a message through your own Telegram bot when any Claude Code session on the machine waits for approval or finishes. It says what happened and which session, with the folder and branch; tool output is never sent.
- Can I start a Claude Code session from my phone?
- With Caprock, yes, on a phone that may control sessions, which is the default when you connect it: it can start Claude Code, Codex, OpenCode, Gemini CLI, Grok Build or Hermes Agent, whichever is installed, in any folder under your home directory, or clone a repository or make a worktree and start an agent there, from anywhere.
- Can I commit and push from my phone?
- With Caprock, yes, on a phone that may control sessions: a session's Changes tab lists the uncommitted files in its worktree, and Commit or Commit & Push commits the ones you tap, or all of them. Only in a project under your home folder.
- How do I pair my phone with Caprock?
- In the Caprock app on the computer, open Settings → Use on your phone and press Connect a phone. Scan the QR code with the phone's camera and open the link; the phone pairs by itself and appears under Your devices with a Remove button.
- Does my phone need to be on the same Wi-Fi as the computer?
- No. Caprock pairs a phone through an end-to-end encrypted relay, so it works on any Wi-Fi or on mobile data. Access from anywhere stays on across restarts until you turn it off.
- Can the relay read my sessions?
- No. The phone encrypts end to end with a key it read from the QR code, so the relay forwards bytes it cannot read or change. It sees which machine a phone connects to, when, from which IP address and how many bytes pass, and stores nothing. You can run your own relay with caprock remote relay.
Sources
- Claude Code docs — Claude Code on mobile, read 20 October 2026
- Claude Code docs — Remote Control, read 20 October 2026
- Claude Code docs — Use Claude Code in the cloud, read 20 October 2026
- Caprock README — From anywhere, through an encrypted relay: what the relay sees, running your own
- Caprock docs — Use Caprock on your phone: Connect a phone, the Ready card, when the phone cannot reach the computer (docs/app.md)
- Caprock source — Settings → Use on your phone
- Caprock ADR-058 — A phone reaches the machine from anywhere, through a relay that carries only ciphertext
- Caprock ADR-034 — A phone the owner chooses can work on sessions
- Caprock ADR-035 — A permission prompt is answered with a button
- Caprock docs — Telegram: setup, what is sent (docs/telegram.md)
- Caprock source — alert cooldown and hourly cap (internal/alerts/alerts.go)
- Caprock source — what a paired phone may read, and what one you let control sessions may do
- Caprock source — pairing codes, five minutes (internal/pairing/pairing.go)
- Caprock source — Bedrock and Vertex model ids
- Caprock changelog — 0.71.0, your phone as a controller; 0.78.0, commit and push from the phone; 0.116.0, the encrypted relay; 0.117.0, one way to pair, from anywhere; 0.133.0, Connect a phone
Try it
The record of every coding agent you run, the sessions it did not start included. Free, open source; nothing leaves your machine.
Notarized by Apple. One file for Apple silicon and Intel, macOS 13 or later.
Or run it yourself:
Paste in Terminal: it installs Caprock and opens it.Or with Homebrew: brew install --cask dspv/tap/caprock-app