Skip to content

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.

  1. 1On your computer

    Install lpm

    The free desktop app your phone connects to, for macOS, Windows or Linux. Your terminals and agents run here.

  2. 2On your iPhone or iPad

    Get lpm Link

    Free on the App Store.

    Download on theApp Store
  3. 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.

Desktop + iPhone

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.

The away-from-desk tax

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.

Alongside the built-in remote control

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
The live terminal

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.

The composer

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 & ship

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.

Project control

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.

Beyond the terminal

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.

Encrypted alerts

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.

Watch it

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. 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. 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. 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. 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.

Every lpm lesson on YouTube
Yours, and only yours

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.

FAQ

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.

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.

Get lpm for your Mac