By James Aspinwall, co-written by Alfred Pennyworth (my trusted AI) — February 28, 2026, 12:59
I write code from my phone. Not pseudocode. Not notes-to-self. Actual commits that hit production, pushed from the same pool chair where I check the wind forecast before a kite session.
This isn’t a gimmick. Claude Code is an agentic coding tool — it reads files, writes changes, runs tests, and manages git. The work happens on the machine. You just need a way to talk to it. A phone is enough.
There are now three ways to do this, each with different tradeoffs. I’ve used all of them.
Method 1: Remote Control (Official, Easiest)
Anthropic shipped Remote Control on February 25, 2026. It’s the simplest path from laptop to phone.
How it works: Claude Code keeps running on your machine. You scan a QR code with the Claude mobile app. The phone becomes a window into your local session — same files, same MCP servers, same project config. Nothing moves to the cloud.
Setup:
# From your project directory
claude remote-control
# Or from an existing session
/rc
A QR code appears. Scan it with the Claude app on iOS or Android. You’re in.
What’s good:
- Zero infrastructure. No SSH, no VPN, no port forwarding.
-
Full local environment — your filesystem, MCP tools, and
.claude/settings are all there. - Survives laptop sleep. When the machine wakes up, the session reconnects automatically.
- You can type from both the terminal and the phone simultaneously — conversation stays in sync.
What’s not:
- Requires Claude Max ($100-200/month). Pro support is coming.
- One remote session per Claude Code instance.
- If your machine loses network for ~10 minutes, the session times out.
- The terminal process must stay running. Close it and the session dies.
Best for: Stepping away from the desk mid-task. Start a refactor at your desk, walk to the kitchen, approve the file changes from your phone. The session is already running — you’re just moving the steering wheel.
Method 2: SSH + tmux (DIY, Most Flexible)
This is the approach Harper Reed wrote about — and the one I use daily. It’s the early-2000s workflow resurrected with modern tools, and it’s the most powerful option if you’re comfortable with a terminal.
How it works: Your workstation runs Claude Code inside a tmux session. You SSH into it from a phone terminal app. Tmux keeps the session alive regardless of connection state.
Setup:
-
Tailscale — creates a private mesh network across all your devices. No firewall configuration, no port forwarding, no dynamic DNS. Your phone and your workstation are on the same virtual network.
-
Terminal app — Blink Shell (iOS) or Termius (iOS/Android). These are real terminal emulators, not toys.
-
tmux — session persistence. Detach on your laptop, reattach from your phone. The Claude Code session never stops running.
-
mosh (optional) — handles flaky mobile connections better than raw SSH. The connection pauses through tunnels, elevators, and network switches, then resumes without dropping the session.
# On your workstation
tmux new -s claude
cd ~/projects/my-app
claude
# From your phone (via Blink or Termius)
mosh workstation -- tmux attach -t claude
What’s good:
- Run a dozen Claude Code instances simultaneously, each in its own tmux window.
- Works with any subscription tier — even API keys.
- Sessions persist indefinitely. I’ve had tmux sessions running for weeks.
- Full terminal access — you can run anything, not just Claude Code. Check logs, restart services, deploy, all from the same phone session.
- Works through any network — coffee shop WiFi, mobile data, airplane WiFi.
What’s not:
- Requires a workstation that stays on and connected (home server, cloud VM, office desktop).
- Initial setup takes 30 minutes if you’ve never configured SSH keys and Tailscale.
- Phone keyboard for terminal input is painful for anything beyond short commands. But that’s the point — Claude Code does the typing.
- Small screen means you’re scrolling more and seeing less context.
Best for: Power users who want full control. Developers who already live in the terminal. Anyone running Claude Code on a remote server (cloud VM, home lab, office workstation).
Method 3: Your Own Web Interface
This is what I built. The Elixir MCP server at workingagents.ai exposes Claude’s capabilities through a web UI, REST API, and MCP tools. WhatsApp integration means I can send a message to a contact and get Claude-powered responses on tasks, contacts, and monitoring — all from the phone’s native messaging app.
How it works: The server runs Claude-connected services (task management, CRM, monitoring, blog management). Each service is accessible through multiple interfaces — web pages for the browser, REST endpoints for automation, MCP tools for AI agents, and WhatsApp for messaging.
What’s different from Remote Control:
- This isn’t Claude Code running on a laptop. It’s a persistent server with its own state, databases, and integrations.
- You’re not sending terminal commands. You’re interacting with purpose-built tools — create a task, check server health, send a notification, query contacts.
- It works from any device with a browser or WhatsApp. No app required. No subscription tier gating.
What’s good:
- Always on. No laptop required. The server runs 24/7.
- Purpose-built interfaces for each task. The web UI for tasks looks like a task manager, not a terminal.
- WhatsApp integration means zero-friction access — message a contact, get a response. No app to open, no session to start.
- Multiple users. Two people can interact with the same system simultaneously.
What’s not:
- You have to build it. This is a custom application, not a product you install.
- It’s not a general-purpose coding agent. You can’t ask it to refactor a module. It does what the tools are built to do.
- Requires server infrastructure — hosting, domain, SSL, monitoring.
Best for: Teams or individuals who want persistent AI-powered tools accessible from any device. People who’ve outgrown the “chat with an AI” paradigm and want structured, domain-specific interfaces.
The Phone as a Steering Wheel
The common thread across all three methods: the phone isn’t doing the work. The phone is directing the work.
Claude Code is an agent. It reads your codebase, plans changes, writes code, runs tests, and iterates. That loop doesn’t need a 27-inch monitor. It needs intent. A sentence or two of direction. “Fix the failing test in auth_test.exs.” “Add rate limiting to the login endpoint.” “Run the test suite and fix whatever breaks.”
The agent does the heavy lifting. You approve, redirect, or refine. That interaction model fits on a 6-inch screen.
I’ve shipped real features from my phone:
- Bug fixes committed from a café while waiting for food
- Blog posts written and published via WhatsApp
- Server health checks triggered from the back of a taxi
- Database queries run from the couch at midnight
None of this required seeing the full codebase on screen. It required trusting the agent to do its job and having a channel to communicate with it.
Which Method to Use
| Remote Control | SSH + tmux | Custom Web Interface | |
|---|---|---|---|
| Setup time | 2 minutes | 30 minutes | Weeks-months |
| Subscription | Max ($100-200/mo) | Any (even API keys) | Self-hosted |
| Persistence | Until terminal closes | Indefinite | Always on |
| Multiple sessions | One per instance | Unlimited | N/A |
| Full terminal access | No (Claude only) | Yes (everything) | No (tools only) |
| Works offline-to-online | Reconnects after sleep | mosh survives anything | Always available |
| Non-developers can use it | With Claude app, yes | No | Yes (web/WhatsApp) |
Just want to step away from the desk? Remote Control. Scan, type, done.
Want full control over everything? SSH + tmux + Tailscale. The power user’s setup.
Want persistent, structured tools for a team? Build your own interface. It’s more work upfront, but the result is something that doesn’t depend on your laptop being open.
The Real Shift
A year ago, coding from a phone was a novelty — editing a single file in a GitHub mobile app, maybe fixing a typo. Nobody was shipping features.
Now the phone is a legitimate development surface. Not because phone screens got bigger or phone keyboards got better. Because the unit of work changed. You’re not typing code. You’re directing an agent that types code. And direction is something a phone handles just fine.
The laptop is becoming the build server. The phone is becoming the control room.