The lpm companion for iPhone & iPad
Run Claude Code, Codex, or any AI agent from your phone.
The lpm iOS app pairs with lpm on your Mac and mirrors every terminal live. Prompt a running agent with a real composer, review the diff it just wrote, commit and push it, and get an encrypted alert the moment it’s waiting on you. The work stays on your Mac; the control comes with you.
Install lpm on your Mac, then scan one QR code to pair your iPhone or iPad.
Your agents keep working — but only while you're sitting in front of them
AI coding agents run for minutes at a time, then wait for a prompt, a review, or a push. If you're not at your Mac, every one of those hand-offs is dead time you never even see.
Agents stall the second you step away from your desk
You kick off a long refactor with Claude Code and go make coffee. Two minutes in, the agent hits a question and waits. It sits idle until you're back at the keyboard — and you have no idea it stopped.
A one-line answer means a full trip back to your desk
The agent just needs a yes, a file name, or a quick correction. But typing that one line means being physically in front of your Mac. The smallest input becomes the biggest interruption.
The change is done, but you can't review or ship it
Codex finished ten minutes ago. The diff is sitting there waiting to be read, committed, and pushed — but reviewing it and opening a PR both mean walking back to the machine before anything moves.
Your Mac terminals, live in your pocket
Not a status page and not a remote desktop — the real session, streamed to your phone and ready for your thumbs.
A live mirror, not a screenshot
Every terminal on your Mac streams to your phone character by character, with full scrollback. It's the same session — what you see on the phone is exactly what's on the Mac, updating as it happens. Leave the app and come back and it re-seeds the live view instantly.
Take control with one tap
A terminal is live in one place at a time. When it's active on your Mac, your phone shows a Take control button — tap it and the session hands off to your hand, keystrokes and all. Tap away on the Mac and it hands right back.
The keys a terminal actually needs
A special-keys row sits above the keyboard: esc, tab, ctrl+C, arrows, enter, and paste. Answer a prompt, interrupt a run, or drive a full-screen TUI without hunting for keys your phone doesn’t have.
Scroll it like a native app
Flick to scroll back through output with your thumb — even inside full-screen terminal apps that normally trap the mouse. The scrollback you'd reach for on the Mac is right there under your finger.
A full prompt composer, not just a keyboard
The same composer you rely on in the desktop app — rewrites, slash commands, mentions, attachments, and history — rebuilt for your thumbs.
Rewrite the prompt with AI
Run any of your saved composer actions — or a free-form instruction — on the draft you're writing. Generate up to five variants, compare them, then pick and edit the one that says it best before you send.
Slash commands that know the agent
Type /and get autocomplete for the commands the AI CLI in that terminal actually supports, argument hints and all. The menu adapts to whether it’s Claude Code, Codex, or another agent.
@-mention real context
Pull the agent’s world into the prompt with @: changed files, any file or folder, a git branch, this terminal’s recent output, or a service’s logs — injected as context so you don’t have to describe it by hand.
Attach a photo, screenshot, or file
Add up to ten images from your library, snap one with the camera, paste a screenshot, or pick a file. lpm uploads it to your Mac and drops the path into the prompt so the agent can read it — a bug shot or a design reference, straight from the field.
Searchable prompt history
Every prompt you've sent is saved, searchable, and infinite-scroll — plus drafts, favorites, and folders. Load an old prompt back into the composer to tweak it, or resend it as-is. Each terminal keeps its own draft, so nothing gets crossed.
Review the diff and ship it — all from your phone
The change your agent just made doesn't have to wait for you to get back to your desk. Read it, commit it, push it, and open the PR from wherever you are.
Read the diff, file by file
A full review screen with GitHub-style inline diffs of every changed file, add and delete counts, viewed marks, collapse, and jump-to-file. It live-refreshes while the agent keeps editing, so you're always looking at the current state.
Commit with an AI-written message
Select the files you want, let lpm draft a commit message from the diff, tweak it if you like, and commit — right from your phone.
Push, pull, and fetch
Move the commit up to your remote, pull in what changed, or fetch to see where you stand — the everyday git plumbing, one tap each.
Switch branches
Browse local and remote branches and check one out without touching the keyboard, so you can line up the right branch before the agent runs.
Open a pull request
Create a GitHub PR straight from the review screen, with a title and body drafted for you from the changes — the last step of shipping, done from the couch.
Ask the agent about a diff
Spotted something off? Send that file's diff to any running terminal as a prompt and ask the agent to explain or fix it. Or discard everything and start clean.
Drive the whole workspace, not just one terminal
Everything you do to a project on the Mac — start it, toggle services, run actions, duplicate and fan out — you can do from your phone.
Start, stop, and switch projects
Browse every project from your phone, grouped into the same sidebar folders as your Mac with live status badges. Start the whole stack with a profile, stop it, or spin up the API before you're back at your desk so it's ready when you sit down.
Run actions and manage terminals
Toggle individual services, trigger a saved action — a test run, a linter, a deploy — and open, close, rename, pin, or reorder terminals. It all runs on your Mac in the normal flow and shows up the next time you look.
Duplicate a project and fan out
Set copy count, labels, a group folder, and git options, optionally run an action or command in each copy, and watch per-copy progress stream in. When a copy has served its purpose, delete it — folder and all — right from your phone.
Run one prompt across fresh copies
Straight from the composer, send a prompt to run in several duplicates at once — the current terminal plus fresh parallel copies — to try one idea a few ways and compare the results side by side.
Never miss a waiting agent again
Close the app and go live your life. The moment an agent is waiting, finished, or stuck, your phone tells you — privately.
Know the second an agent needs you
When Claude Code or Codex stops to ask a question, finishes a task, or hits an error, a notification lands on your phone — even with the app closed. Turn each kind on or off: waiting, finished, errored. The idle time between a stall and your reply disappears.
End-to-end encrypted, always
Every alert is sealed with an AES-256 key that only your iPhone holds. It travels to your phone as an opaque blob that the delivery relay can't read — the contents are decrypted on your device and nowhere else.
Tap to jump straight in
Tapping a notification deep-links right to the project that needs you, ready to answer. Handle it on your Mac instead and the notification quietly withdraws itself, so you're never chasing an alert that's already done.
From download to controlling your Mac from your phone
- 1
Install lpm on your Mac
Download the native macOS app and open your projects as usual. The companion talks to this app — it’s where every terminal and agent actually runs.
- 2
Add a device and scan the QR code
In Settings → Mobile devices on your Mac, add a device to reveal a one-time QR code. Open the lpm app on your iPhone or iPad and scan it. Pairing is one tap — no account, no sign-in.
- 3
Your projects appear on your phone
The phone lists every project and terminal, live. Tap a terminal to watch it stream, tap into it to type, or start and stop projects right from the list.
- 4
Stay in the loop anywhere
On the same Wi-Fi it just works. Away from home, put both devices on a Tailscale tailnet. The QR code carries both your local and tailnet addresses, so the app connects over whichever one it can reach — your terminals follow you.
Remote access to your dev machine, on your terms
The phone controls a real terminal on your Mac — so the connection is built to be private, direct, and revocable.
Per-device tokens, stored on the phone
Pairing issues a unique token that lives in your iPhone's Keychain. Your Mac only ever stores its hash — the raw token never leaves the device. Revoke a phone in Settings and its access is gone instantly, live connection dropped.
Your code stays between phone and Mac
Your phone connects directly to your Mac — no server in the middle. Terminal output, keystrokes, diffs, and files never pass through anyone else. The one thing that leaves your network is a push notification, and it travels as an end-to-end encrypted blob only your iPhone can open.
You choose the reach
By default the connection only listens on your Mac. Opt in to your local network when you want the phone on the same Wi-Fi, or use a Tailscale tailnet for encrypted access from anywhere. You decide how far it goes.
Questions about the lpm iOS companion
Do I need lpm on my Mac to use the iOS app?
Yes. The iOS app is a companion, not a standalone terminal. Every project, service, and AI agent runs on your Mac inside lpm — the phone is a live display and input client that pairs with it. Install lpm on your Mac first, then pair your iPhone or iPad.Can I prompt Claude Code and Codex from my phone?
Yes. Each terminal has a full prompt composer: type or dictate a prompt, run an AI rewrite and pick from variants, use slash commands for the agent in that terminal, @-mention changed files, branches, terminal output, or service logs, and attach images. Your prompt goes to the real agent session running on your Mac.Can I review a git diff and commit or push from my phone?
Yes. A full review screen shows inline diffs of every changed file with add and delete stats, and it refreshes as the agent keeps editing. You can select files and commit with an AI-generated message, then pull, push, fetch, switch branches, or open a GitHub pull request with an AI-drafted title and body — all from the phone.Will I get a notification when Claude Code finishes or is waiting?
Yes. Even with the app closed, you get a push the moment an agent is waiting on you, finishes, or hits an error, with a separate on/off toggle for each kind. Tapping the notification deep-links straight to the project, and it withdraws itself if you handle the agent on your Mac instead.Does my code or terminal output go through the cloud?
No. Terminal output, keystrokes, diffs, and files all travel directly between your phone and your Mac — there is no server in the middle for any of it. The only thing that leaves your network is a push notification, and it is end-to-end encrypted with a key only your iPhone holds; the delivery relay sees an opaque blob it cannot read.Can I use it when I'm away from home?
Yes. On the same Wi-Fi it works out of the box. Away from your network, put both your Mac and iPhone on a Tailscale tailnet and connect to your Mac's tailnet address for an encrypted link from anywhere. The pairing QR code carries both your local and tailnet addresses, so the app uses whichever it can reach.Is it safe to control my dev machine from my phone?
Pairing issues a per-device token that lives only in your iPhone's Keychain; your Mac stores just its hash. By default the connection listens only on your Mac, and you explicitly opt in to reach it over your local network or a tailnet. You can revoke any device from lpm Settings at any time, which immediately drops its connection.Does it work on iPad?
Yes. The companion runs on iPhone and iPad, on iOS and iPadOS 17 or later. Both pair with lpm on your Mac the same way — scan the QR code once and you're in.Do I need an account to use it?
No. There is no account and no sign-in. You pair a device by scanning a QR code from lpm's Settings on your Mac (or entering the host and code by hand), and that's it.Does the agent keep running if my phone locks or disconnects?
Yes. All the work runs on your Mac. The phone is just a window into it — if it locks, sleeps, or loses the connection, your terminals and agents keep going. Reconnect and you pick up the live stream where it is.
Keep reading
Put your terminals in your pocket.
Prompt your agents, review the diff, and ship it from anywhere.
Download the native macOS app, open a project, and pair your iPhone or iPad in Settings → Mobile devices. Free, native, and yours — the work stays on your Mac, the control comes with you.