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.
1On your computer
Install lpm
The free desktop app your phone connects to, for macOS, Windows or Linux. Your terminals and agents run here.
2On your iPhone or iPad
Get lpm Link
Free on the App Store.
Download on theApp StoreOn a computer?Scan with your iPhone camera to open lpm Link.3Once
Scan to pair
lpm on your computer shows a one-time QR code. Scan it with lpm Link and your projects appear. No account, no sign-in.
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.
- Agents
- Claude Code remote control: Claude Code
- lpm Link: Claude Code, Codex, Gemini CLI, or any CLI you run in lpm, with status and alerts for Claude Code, Codex, Gemini CLI and Cursor CLI
- On screen
- Claude Code remote control: The conversation, in the Claude app or at claude.ai/code
- lpm Link: The real terminal, with its scrollback and the full-screen views agents draw
- Git
- Claude Code remote control: A diff pane of your changes
- lpm Link: Read the diff file by file, commit with an AI-written message, pull, push and open a PR
- The project
- Claude Code remote control: The session, with your local tools and MCP servers
- lpm Link: Start and stop services, switch profiles, run saved actions, duplicate the project
- Across machines
- Claude Code remote control: Claude Code sessions on machines running Remote Control
- lpm Link: An Activity list across projects and agents, automations, plan-limit meters, several Macs and Linux servers
- Connection
- Claude Code remote control: Through the Anthropic API, on a Pro, Max, Team or Enterprise plan
- lpm Link: Straight to your computer, paired by QR code, no account
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, Codex, Gemini CLI and Cursor CLI 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 using them too fast, 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, like a Mac mini running Claude Code and Codex, 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, Codex, Gemini CLI or Cursor CLI 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.
Set it up once, use it from anywhere
Four steps from install to your first prompt from the phone. The lesson walks through pairing, Built-in Tailscale and running Claude Code.
- 1
Install both apps
lpm on your Mac, Windows or Linux computer, where every terminal and agent runs, and lpm Link from the App Store. The steps at the top of this page have both.
- 2
Turn on Remote control and pair
In lpm, open More → Mobile app. On the same Wi-Fi, tap your Mac in lpm Link and allow it when the codes match, or add a device and scan its one-time QR code. No account, no sign-in.
- 3
Your projects appear on the phone
Every project and terminal shows up. Open a terminal, tap Take control if your Mac is showing it, and type into it. Start and stop projects right from the list.
- 4
Away from home, add Built-in Tailscale
Sign in on the Mac, then in lpm Link with the same account. Your Mac and phone share a private, encrypted network, so it works on cellular too, with no Tailscale app and no open ports.
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 using them too fast, 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.