Blog

Driving Claude Code from my phone: see it, point at it, say what's wrong

The agent does the work. My job is the part it can't do for itself: looking at what it made and telling it what's wrong. Here is how that runs from a phone.

I run Claude Code on my Mac and drive it from my phone. The agent does the work. My job is the part it can’t do for itself: looking at what it made and deciding what’s wrong with it.

On a laptop that part is free. The browser is right there next to the terminal, so you glance over and you know. On a phone it has always been the expensive part. The agent rebuilds a page, and to actually see it you open a tunnel to a browser, or you deploy the branch just to look, or you wait until you’re back at the desk. You end up directing a frontend you can’t see.

So the loop I care about is the one where I can see it. It goes: see, point, say, see.

See

You run your dev server in the terminal like you always do. npm run dev, bun dev, whatever you use. Then you open the preview, and it slides up over the terminal at half height. The top half is your live Claude Code session. The bottom half is your actual site, loaded from the dev server on your machine.

You did not start a tunnel. You did not deploy. The page is your localhost, reached over the SSH connection the terminal already holds. When the agent edits a file, the dev server’s hot reload pushes the change down the same connection and the preview repaints. You watch the page change a second or so after you tell the agent to change it.

Swipe up and the preview fills the screen in a clean mobile view. Swipe down and you’re back to both halves. The terminal stays live the whole time, so you’re never trading the session for the render.

Point

Two things are worth pointing at. The page, and everything else the agent makes.

The page is the preview you already have open. Everything else is files. When Claude Code writes or edits a file, it prints the path in the terminal:

claude code · in the terminal

Update(src/components/Hero.astro) Write(docs/launch-plan.md) # tap either path and it renders in a sheet

Tap one of those paths and the file renders. A markdown plan comes up formatted, not as raw text. A logo it generated comes up as the image. A standalone HTML mockup renders as the page. A PDF opens as the PDF. It reads the file straight off your machine over the connection, so this works whether or not a dev server is running. You only ever tap what the agent printed, so it stays a view of the work, not a file browser.

Say

This is the step that used to be words. Something on the page is wrong, the spacing is off, a button sits in the wrong place, and you have to turn that into a sentence the agent can act on.

Instead, you snapshot the preview and circle the thing with your finger. The circle goes down in orange. You add a few words, “this gap is too big,” and send. It lands in the agent’s prompt as the screenshot, marked up, plus the file path. The agent sees the image you drew on.

See it change

Then the agent reads the marked-up screenshot, changes the file, and the dev server repaints the preview. The gap closes, on the screen, in front of you. If it’s right, you move on. If it’s not, you circle it again.

That’s the loop. See the render, point at the problem, say the one thing that’s wrong, see it change. All of it on the phone, over one SSH connection, with nothing installed on your machine but the SSH server it already has.

I built this because it’s the loop I wanted for my own work, and I run it every day. The agent writes the code. I’m still the one who has to look at the result and decide, and now I can do that from wherever I am instead of saving it for the desk.

FAQ

How do I see my dev server on my phone while Claude Code is running?

Run your dev server in the terminal as usual, then open the preview. It loads your localhost dev server over the SSH connection and repaints as the agent edits files. No tunnel, no deploy, no second device.

Can I see files the agent writes that aren't web pages?

Yes. Tap a file path the agent prints in the terminal and it renders in a sheet: a markdown plan, a generated image, a standalone HTML mockup, a PDF. It reads the file over the same SSH connection, so no dev server is needed for that part.

How do I tell the agent what's visually wrong without describing it in words?

Snapshot the preview, circle the problem with your finger, add a short note, and send. It lands in the agent's prompt as an image it can read plus the file path. You point at the thing instead of describing it.

Does any of this require software on my machine?

No. You enable SSH on your machine and add your key (on a Mac, that’s turning on Remote Login). The preview, the file rendering, and the annotation all travel over the one SSH connection. There is no daemon or host app to install.