The lpm companion for iPhone & iPad
Control Claude Code and Codex on your Mac from your iPhone.
lpm Link, the lpm app for iPhone and iPad, pairs with lpm on your Mac and puts every terminal in your pocket, live on whichever screen has control. Prompt Claude Code, Codex, or any running agent with a real composer, review and push the diff it just wrote, and get an encrypted alert the moment it’s waiting on you.
Get lpm for your MacInstall lpm on your Mac and lpm Link on your iPhone or iPad, then scan one QR code to pair.
Watch one session change hands
A Claude Code turn stops for approval on the Mac, the push lands on your iPhone, and you answer there. The Mac then takes the terminal back; the session itself never leaves the Mac.
An animation of one Claude Code session handed between a Mac and an iPhone. The agent pauses before it commits, and a push reaches the locked phone. Tapping it moves the terminal to the phone, so the Mac tab reads “Active in iPhone” and offers Take control. The reply goes in from the phone, the agent keeps working, and then the Mac takes the terminal back.
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.
Already driving Claude Code from your phone?
Claude Code ships its own remote control, and it is a good way to keep one agent moving. The lpm companion draws a wider circle around the same idea.
- Any agent, not one
- Claude Code, Codex, Gemini CLI, or whatever else you run in an lpm terminal all open on your phone the same way, and Claude Code and Codex also send status and push alerts.
- The real session, not a transcript
- You get the actual terminal from your Mac, opened with its recent scrollback already on screen, and you type into that same session — including the prompts and full-screen views an agent draws.
- Review and ship, not just prompt
- Read the diff file by file, commit the files you pick with an AI-written message, pull, push, and — where the GitHub CLI is set up — open the pull request from the phone.
- The project, not only the agent
- Start and stop services, start a project under a different profile, run saved actions, and duplicate a project to fan work out — the workspace around the agent comes with it.
- Every machine, not one session
- An Activity list across all your projects, scheduled automations, plan-limit meters, and several Macs or Linux servers, switched from one menu.
- Straight to your Mac
- Pair by scanning a QR code from lpm on your Mac. Terminal output and keystrokes travel directly between the two devices, and there is no account to create.
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.
The session itself, not a screenshot
Open any of your Mac's terminals and, once your phone has control, it streams live, drawn the way the desktop draws it and with its scrollback. It's the same session, not a copy. Leave the app and come back, and it catches up on the output you missed.
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 moves to your phone, resized to fit. Take it back on the Mac with one click.
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
Drag to scroll back through output with your thumb, even inside full-screen agent screens, where it scrolls the app's own view. 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 / in a Claude Code or Codex terminal and get autocomplete for the commands that CLI supports, your own custom commands included, argument hints and all.
@-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.
Start on the Mac, finish on the phone
What you type in a terminal's prompt box shows up in the same terminal's prompt box on your Mac, and the other way round, without overwriting you mid-sentence. Each terminal keeps its own draft.
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, from the Mac or the phone, is saved and searchable, with drafts, favorites, and folders. Load an old prompt back into the composer to tweak it, or resend it as-is.
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, watch their logs, 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; running an action or opening a terminal needs the lpm window open there.
Duplicate a project and fan out
Make up to 50 standalone copies with labels and a group folder, choose committed work only, pull latest, or reinstall dependencies, and run an action or command in each. A progress bar tracks the batch, and a copy you're done with can be deleted, folder and all.
Run one prompt across fresh copies
Long-press Send to run a prompt in 2 to 10 copies at once: this terminal counts as the first, and fresh copies of the project take the rest. Try one idea a few ways and keep the best result.
The rest of lpm, in your pocket too
The phone app covers the work around your agents as well: what is running, what is scheduled, what is left on your plan, and which machine it is all on.
Activity across every project
One list of every Claude Code and Codex agent, sorted by what needs you first, plus running automations and services you can start or stop. Filter, search, or group it by project.
Automations, created on the phone
Run, stop, or pause scheduled automations, read each run as a conversation, and reply to it. Build a new one with its agent, model, schedule, and checks. They run on your Mac while lpm is open.
Usage limits and token stats
See how much of your Claude and Codex 5‑hour and weekly windows is left, whether you are ahead of pace, and where the tokens went by project and session.
Notes and shared memory
Write in a project's encrypted notes, photos included, and browse the work sessions your agents saved to memory. Ask an agent to remember a conversation or pick up a saved one.
Configure and add projects
Edit a project's services, profiles, and actions with forms, or open its config file. Add a new project from a folder on your Mac, a Git clone, or an SSH host.
Several Macs and Linux servers
Pair more than one Mac, or a Linux server running lpm, and switch between them from the title menu. Alerts keep arriving from all of them.
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. Automations can alert you too when they start, finish, or fail. Turn each kind on or off.
End-to-end encrypted, always
Every alert is sealed with a per-device AES-256 key that only your iPhone and your Mac share. The delivery relay passes along an opaque blob it can't read, and your phone decrypts it on arrival.
Tap to jump straight in
Tapping a notification opens the exact terminal or automation that needs you, ready to answer. Handle it on your Mac instead and the notification 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 phone talks to this app, which is where every terminal and agent actually runs. The Windows and Linux desktop apps, and a Linux server running lpm, work the same way.
- 2
Add a device and scan the QR code
In Settings → Mobile devices on your Mac, turn on Remote control and add a device to reveal a one-time QR code. Scan it with lpm Link on your iPhone or iPad. On the same Wi-Fi you can instead tap your Mac in the app’s nearby list and approve the matching code. No account, no sign-in.
- 3
Your projects appear on your phone
The phone lists every project and terminal. Open a terminal, tap Take control if your Mac is showing it, and it streams here, ready to type into. 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, with 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, sealed with a key only your iPhone and your Mac hold.
Off until you switch it on
Phone access stays off until you turn on Remote control in Settings. When it's on, your Mac accepts connections from your network, the app pins your Mac's certificate when you pair, and only paired devices get in. Add your tailnet address to the QR code to reach it from anywhere.
Questions about the lpm iOS companion
Do I need lpm on a computer to use the iPhone app?
Yes. lpm Link is a companion, not a standalone terminal. Every project, service, and AI agent runs in the lpm desktop app on your Mac, Windows PC or Linux PC, or on a Linux server set up as an lpm host, and the phone is a live display and input client for it. You can pair several machines and switch between them in the app.How is this different from Claude Code's built-in remote control?
They solve overlapping problems from different ends, and they work fine side by side. Claude Code's own remote control keeps a Claude Code session moving from your phone. The lpm companion mirrors the real terminal sessions running on your Mac — full scrollback, and you type into the same session — so it works with whatever agent is in that terminal: Claude Code, Codex, Gemini CLI, or anything else you run there. It also covers the steps around the agent: reviewing the diff, committing, pulling and pushing, opening a pull request, and starting or stopping the project's services. And it pairs straight to your Mac by QR code, with no account to create.Can I prompt Claude Code and Codex from my phone?
Yes. Each terminal has a full prompt composer: type a prompt, run an AI rewrite and pick from variants, autocomplete Claude Code and Codex slash commands, @-mention changed files, branches, terminal output, or service logs, and attach images. Your prompt goes to the real agent session running on your Mac, and the draft stays in sync with the same terminal's prompt box there.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, and automations can notify you when they start, finish, or fail. Each kind has its own on/off switch. Tapping the notification opens that terminal or automation, 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, encrypted with a per-device key that only your iPhone and your Mac hold; 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. With your Mac's tailnet address added to the pairing QR code, the app keeps both addresses and uses whichever one it can reach. lpm has no cloud relay for terminals, so without a tailnet the phone needs another route to your Mac.Is it safe to control my dev machine from my phone?
Phone access is off until you turn on Remote control in lpm Settings. Pairing issues a per-device token that lives in your iPhone's Keychain, and your Mac stores just its hash. When Remote control is on, your Mac accepts connections from your network, the app pins your Mac's certificate when you pair, and only paired devices get in. You can revoke any device 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, by tapping a nearby Mac and approving it there, or by entering the address and code by hand.Can I control a Linux server from my phone?
Yes. The phone can pair with a Linux host directly instead of going through your Mac: right-click the server's row in the Mac sidebar and pick Pair a phone, or type lpm mobile pair on the server itself and scan the code it shows. From then on it reaches the server on its own, so a closed Mac doesn't matter, and the title menu flips between machines. The phone must be able to reach the server, over your tailnet for example.Can I check my Claude Code usage limits on my phone?
Yes. The Usage screen shows how much of your Claude and Codex 5-hour and weekly windows you have used, whether you are ahead of pace, and when each resets. Claude readings need Claude usage turned on in lpm on your Mac. A Stats screen shows token totals and estimated cost by project.Can I create and run automations from my phone?
Yes. You can see every automation, run or stop one, pause its schedule, read and reply to its runs, and create or edit one with its agent, model, schedule, and checks. Automations run in lpm on your Mac, so it needs to be on with lpm open.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
Run Claude Code on a remote server
Put long runs on a Linux box that never sleeps, then pair your phone with it directly.
Claude Code & Codex usage and limits
The 5-hour and weekly meters and token stats your phone shows, full-size on the Mac.
Schedule Claude Code tasks
Set up prompts that run on a schedule, then read and reply to each run from your phone.
Run Claude Code in parallel
Send one prompt to several fresh copies of a project and keep the best result.
Best terminal for Claude Code & Codex
Why lpm is the desktop home for the AI coding agents your phone controls.
Review changes in your terminal
The same diff review you get on your phone, full-size on your Mac.
Put your terminals in your pocket.
Prompt your agents, review the diff, and ship it from anywhere.
Download the lpm desktop app, get lpm Link from the App Store, 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.