Feature guide
What lpm does, from dev servers to Claude Code and Codex
lpm is a free, open-source Mac app for your local projects and the AI agents working in them. This guide walks through 148 features in 11 areas, with the fine print where it matters.
Add a project once. Start it all with one click.
lpm reads each repo, sets up its dev servers, and gives every project a Start button, live output, and one-click commands.
Automatic service detection
Add a folder or clone a repo and lpm reads its files to set up start commands, working folders, and ports. It knows Node, Python, Rails, Laravel, Phoenix, Spring, .NET, Go, Rust, Docker Compose, Procfiles, and Make or just tasks, monorepo workspaces included.
Rule-based and offline. Runs when you add or clone a local project.
One-click start and stop
One button starts or stops every dev server in a project, or just a saved profile like “backend only”. lpm checks for busy ports first, and the sidebar dot turns green while it runs.
Action buttons
Turn tests, builds, deploys, migrations, and log tails into one-click buttons in the project header or terminal footer. A three-step wizard covers what it does, how it looks, and how it runs.
More in Projects & services
Four ways to add a project
Add a local folder, clone a Git repository (optionally a single branch), connect an SSH host, or start from a template.
Project templates
Scaffold a new project from a template that gives Claude Code, Codex, Gemini CLI, or OpenCode a prompt, or runs a setup command. A Next.js template is built in, and you can add your own.
Services keep running after you quit
Quit or update lpm and your dev servers stay up. Reopen it and lpm finds them again.
In-app terminals end on quit, and nothing survives a reboot.
A terminal built for Claude Code and Codex
Every project gets its own terminals next to its services. Claude Code and Codex get live status, alerts, and session tools; Gemini CLI and OpenCode launch with one click too.
One-click agent launchers
A fresh install adds Claude and Codex buttons to every project, and lpm suggests Claude Code, Codex, Gemini CLI, or OpenCode launchers for the CLIs you have. Any other command can be a button too.
You install and sign in to the agent CLIs yourself.
Live agent status
Each Claude Code and Codex tab shows whether it's Working, Needs you, Done, or Problem. The sidebar lists every session under its project with a running timer; click one to open its tab.
Claude Code + CodexStatus in the sidebarAlerts when an agent needs you
Pick a chime, a macOS sound, or your own audio file for when an agent is done, wants approval, or fails, plus a macOS banner whenever lpm is in the background.
Claude Code + Codex
More in Terminals & AI agents
Terminal tabs per project
Shortcut:⌘T⌘WNew tabs open in the project folder with your login shell, right next to the project's service output.
Split panes
Shortcut:⌘D⌘⇧DSplit right or down, drag tabs between panes, and let one pane fill the window. Each project remembers its layout.
Activity view
Shortcut:⌘⇧AAgents, services, and automations across your projects on one screen, with whatever needs you on top. Filter, search, and move with j and k.
Agent rows cover Claude Code and Codex in projects opened this session.
Write prompts in an editor, not a shell prompt
A multi-line composer sits under every terminal and works with any CLI. Slash commands, model switching, and copying answers are for Claude Code and Codex.
- Shortcut:⌘I
A composer under every terminal
Write with normal text editing and undo, press Enter to send and Shift+Enter for a new line. Hide it with ⌘I and a slim bar keeps the agent's status in view.
@ mentions
Reference files, folders, changed files, branches, other projects and their copies, another tab's output, a running service's logs, or saved memory sessions.
Slash commands with hints
Type / to see the agent's commands, your custom commands, and skills, with the expected argument shown as a gray hint once you pick one.
Claude Code + Codex
More in Prompt composer
Images and files
Paste screenshots or drop files into the composer. They show as thumbnails you can preview, and become file paths the agent can read.
Switch model and effort
Move a running session to another model or reasoning effort from the menu next to Send, without restarting it.
Claude Code + CodexRefine with AI
Rewrite a prompt before sending: improve it, make it concise, fix grammar, add acceptance criteria, plan first, or use your own rewrites, with up to five versions to pick from.
Runs through your own agent CLI and plan.
Run agents side by side, each in its own folder
Make standalone copies or Git worktrees of a project, give each one its own task, and keep the result you like best.
Duplicate a project
Make up to 50 independent copies at once. On APFS they're copy-on-write clones that bring your .env files and node_modules along and leave build output and caches behind.
Git worktrees
Create one or many linked worktrees, each on its own new branch from the current commit and sharing the repo's history.
Uncommitted and ignored files don't carry over.
Run in duplicates
Pick Run in duplicates from the Send menu to start one prompt 2 to 10 times: the current terminal plus new copies of the project, one agent per copy. Keep the run that wins.
More in Parallel work
Copy options
Keep committed work only, pull the latest changes, or reinstall Node dependencies in each copy, and group the copies into a sidebar folder.
A task for every copy
While duplicating, have each copy run an action, a shell command, or an agent prompt with images. Use the same task for all of them or one each.
Copies stay organized
Copies and worktrees nest under their original with their own labels. A collapsed stack sums up what's working, blocked, or waiting on you.
Review what the agent wrote, then ship it
See every uncommitted change as one diff, commit with an AI-written message, and open a GitHub pull request without leaving the app.
- Shortcut:⌘⇧R
Review every change
All uncommitted changes as one scrolling diff stack beside a tree of changed files, split or unified. Edit and save in the diff, and lpm won't overwrite a file an agent changed meanwhile.
AI commit messages
Pick files, then let your installed agent CLI write a conventional-commit message from the diff. Auto Commit does it all in one click, and can push too.
Uses Claude Code, Codex, Gemini CLI, or OpenCode on your Mac.
Auto Create PR
Go from uncommitted work to an open pull request in one step: a new AI-named branch if you're on the default one, a commit, a push, and a written title and description.
GitHub + gh CLI
More in Review, Git & files
Commit dialog
Shortcut:⌘↩Tick files or whole folders, see each diff inline, discard what you don't want, then commit or commit and push.
Whole files only; there's no line-level staging.
Pull request dialog
Pick a base branch, see the commits it will include, and have AI write the title and description.
GitHub + gh CLIPR status in the footer
When your branch has a pull request, the footer shows PR #N colored by state. Click it to open the PR.
GitHub + gh CLI
Schedule agents and see what they use
Run agent prompts, commands, and actions on a schedule, and keep an eye on the tokens and plan limits your Claude Code and Codex sessions spend.
Scheduled automations
Run a Claude Code, Codex, Gemini CLI, or OpenCode prompt, a shell command, or a saved action every day, on chosen weekdays, on an interval, or at a random time in a window.
Needs lpm running and the Mac awake to fire.
Token usage stats
Token totals per range, from Today to All time, split into input, cache, output, and reasoning, with an estimated cost at list prices and your busiest projects and sessions.
Claude Code + CodexToken usage trackingPlan limit meters
Watch your 5-hour and weekly plan windows fill up, see when each resets and whether you're ahead of pace, with a warning before you run out. A compact meter sits in the sidebar.
Claude meters need a one-click opt-in and a subscription login.
Claude Code + Codex
More in Automations & usage
Work in a fresh copy
Let a job run on a fresh copy or a new Git worktree so your folder stays untouched. Each run's copy opens like any other project.
Only when there's work
Add a check, like “are there new commits?”, and the job runs only when it passes. A verify command, like your tests, marks each run passed or failed.
Reply to a run
Every run keeps its outcome and duration. Open one to read the agent's answer as a conversation and reply to keep it going.
Tune how Claude Code and Codex work in each project
Pin a Claude account to a project, design the status line, see and write the skills agents load, and keep shared memory and private notes.
Multiple Claude Code accounts
Add work, personal, or client Claude accounts, sign each in, and pin one per project so its sessions use the right subscription.
Automations use your default Claude login.
Claude Code onlyMultiple accountsStatus line designer
Build the line under Claude Code from presets or drag-and-drop items like model, branch, context left, and usage meters, and pick Codex's footer fields the same way.
Claude Code + CodexStatus lines- Shortcut:⌘⇧K
Skills & tools inspector
See the MCP servers, skills, plugins, subagents, commands, instruction files, and hooks an agent will load in a folder, with clashes flagged and a context-size estimate.
Claude Code + CodexSkills & tools
More in Accounts, skills & memory
Write agent skills
Create, edit, or delete skills in a form, or describe one and let AI draft it for you to review.
Shared session memory
Shortcut:⌘⇧MAgents save named work sessions with a goal, current state, and timeline, and any agent or a later session can pick one up by name.
Needs lpm's agent skills installed.
Encrypted project notes
Shortcut:⌘⇧NA private notes space per project, organized as chats with attachments and search, encrypted on disk with the key in your Keychain. Agents don't read them.
Drive projects on another Mac, a server, or over SSH
Work runs where the project lives, and lpm on your Mac is the screen and keyboard. Machines connect to each other directly, not through a cloud relay.
Connect Macs
Pair two Macs and the other Mac's projects appear in your sidebar under its name. Start its services, use its terminals and agents, review its changes, and run its actions.
Both Macs run lpm, and the host turns on “Allow control of this Mac”.
A Linux host from one SSH string
Type user@server and lpm installs itself there, pairs, and connects through SSH. Services and agents keep running on the server after your Mac closes.
SSH projects
Add a project on any machine you can SSH into, picked from your SSH config or typed in. Its terminals, services, and actions run there, and Claude Code and Codex report their status back.
lpm itself isn't installed on the server. SSH projects can't be duplicated.
More in Across devices
Pair the way that suits you
Paste a one-time invite, type an address and code by hand, or tap a nearby Mac and confirm the same 6-digit code on both screens.
Pinned, revocable connections
When both sides run a current lpm, connections are encrypted and pinned to each machine's identity, so a different machine at the same address is refused. Revoke any device at any time.
Away from home with Tailscale
Invites carry your Tailscale address next to your LAN address, so paired machines reach each other over your tailnet.
You set up Tailscale; lpm detects the address.
Your terminals and agents, in your pocket
The free lpm link app for iPhone and iPad mirrors terminals, sends prompts, and tells you when an agent needs you. Everything still runs on your Mac or Linux host.
lpm link is free on the App Store
In lpm on your Mac, open Settings → Mobile devices, choose Add a device, then scan the QR code with your iPhone or iPad.
Tour the iPhone appLive terminals
Open any terminal running on your Mac and watch it live with 10,000 lines of scrollback. Tap to type into it, with extra keys for Esc, Tab, Ctrl-C, and the arrows.
Push notifications
Get a push when an agent waits for you, finishes, or errors, and optionally when automations run. Content is encrypted on your Mac and only your phone can read it.
Agent alerts come from Claude Code and Codex.
A real prompt composer
Multi-line prompts land as one message, with photos, files, / commands, and @ mentions. Drafts sync with the same terminal on your Mac.
More in lpm link for iPhone
Agent status and Activity
See each project's agents as Needs you, Working, Done, or Problem, and one Activity list of agents, automations, and running services.
Start, stop, and run actions
Start a project or a profile, toggle single services, read service logs, and run actions with their inputs and confirmations.
Review and ship
Review uncommitted diffs, commit chosen files with an AI-written message, pull, push, switch branches, and open a GitHub pull request.
Let your scripts and agents drive lpm
The lpm command and its agent skills give Claude Code, Codex, Gemini CLI, OpenCode, and your scripts the same controls you have in the app.
The lpm command
List projects, start and stop services, read logs, check agent status, and run actions from any terminal. Most commands can print JSON for scripts, and inside a project the name is optional.
Changes, live agent status, and automations need the running app. lpm list, logs, project, wait, and config validate also work while it's closed.
Agent skills
Install lpm's skills from Settings and Claude Code, Codex, Gemini CLI, and OpenCode learn to control projects, edit configs safely, make copies, and use shared memory.
Status with no setup
lpm adds its hooks to Claude Code and Codex so live status just works, and Settings can check and repair the Claude Code hooks.
Only lpm's own entries are added, and Remove app takes them out.
Claude Code + Codex
More in CLI & integrations
lpm wait
Block until a service is up, a port is listening, or a project's agents settle, which is handy before running tests.
lpm duplicate · lpm worktree
Make 1 to 50 copies or worktrees in one command, and queue the same action or command, with an optional agent prompt, on each.
lpm run
Open a terminal in the app and run an action or any command in it, optionally with a prompt for an agent.
Free, open source, and no telemetry
lpm has no account and no paid tier, and the apps ship without analytics. Updating, backing up, and removing lpm are all built in.
Free and open source
MIT-licensed, with the source and every release on GitHub. No account, no sign-up, no paid tier.
No telemetry in the apps
The Mac app, the CLI, and the iPhone app include no analytics or crash reporting. The Mac app checks GitHub for updates; otherwise the apps go online only for features you turn on and things you start.
Paired-iPhone pushes pass through lpm's relay, encrypted.
Signed and notarized
Each macOS release is Developer ID signed and notarized by Apple, in one build for Apple Silicon and one for Intel.
More in Privacy, platform & updates
One-click updates
lpm checks for a new version at launch and daily. Click Update and it relaunches in place while your services keep running.
Clean uninstall
Remove app stops your projects, removes the CLI, skills, and agent hooks it added, and moves lpm to the Trash. Your project folders are left alone.
Backup and transfer
Export your projects and settings and import them on another Mac, and back up the key that encrypts your notes.
What you need
Only a Mac is required. Everything else depends on which features you use.
- A Mac
- macOS 12 or later; pick the Apple Silicon or the Intel download.
- AI coding agents
- Claude Code, Codex, Gemini CLI, or OpenCode, installed and signed in by you. lpm doesn't bundle them, and they run under your own accounts.
- Git and GitHub
- Git for review and commits. Pull request features also need the GitHub CLI (gh), signed in.
- iPhone or iPad
- The free lpm link app, paired with a Mac or Linux host that is awake and running lpm.
- Linux host
- An x86_64 server on Ubuntu 22.04 or newer, reachable over key-based SSH as root or a user with passwordless sudo.
- Away from home
- Tailscale on both devices, or another network route you set up. lpm has no cloud relay for terminals.
Questions about lpm's features
What's included, what it needs, and where the limits are.
Are any features paid or behind an account?
None. Every feature on this page ships in the free, MIT-licensed app, and nothing asks you to sign up; the lpm link iPhone app costs nothing on the App Store either.Which features need Claude Code or Codex?
Live status, alerts, session resume, fork, copy last answer, slash-command autocomplete, and model switching work only with Claude Code and Codex, and pinning an account per project is Claude Code only. The launchers also cover Gemini CLI and OpenCode, and any other CLI runs in a terminal or behind a button. You install and sign in to each agent yourself.Do duplicates or worktrees get their own ports?
No. lpm doesn't isolate ports or containers. A duplicate is a full folder copy, including .env files and node_modules, and a worktree shares the repo's Git history. Each copy runs the same commands, so give copies their own ports, for example with a PORT variable in their config. lpm checks for a busy port before starting a project and can stop whatever holds it.Do my dev servers and automations keep running when lpm is closed?
Dev servers do: they keep running after you quit or update lpm, and the app picks them up again when you reopen it. In-app terminals, including agent tabs, end when you quit. Automations need lpm open on an awake Mac; a run that came due while it wasn't fires once when lpm is back. For work that keeps going after your Mac closes, add a Linux host.Which features talk to the network?
A few, and none of them send your code to lpm. Update checks go to GitHub, AI commit messages go through the agent CLI you installed under your own account, links to your other Macs, servers, and iPhone are direct, and iPhone push alerts cross one relay encrypted so only your phone can read them. The Mac app, CLI, and iPhone app have no analytics or telemetry built in.Can I use lpm from my iPhone or another computer?
Yes. The lpm link app mirrors terminals and controls projects from an iPhone or iPad, Connect Macs lets one Mac drive another, and a Linux host or SSH project runs work on a server. Every command runs on the machine that owns the project, so it has to be on and reachable, for example over your home network or Tailscale.
Keep reading
Run Claude Code in parallel
Duplicates, worktrees, and one prompt sent to up to ten copies at once.
Schedule Claude Code tasks
Recurring agent prompts, commands, and actions with run history and replies.
Best terminal for Claude Code & Codex
Live agent status, alerts, and a prompt composer right next to your services.
lpm link for iPhone
Mirror terminals, send prompts, and get push alerts from your phone.
Run Claude Code on a remote server
Add a Linux host with one SSH string and keep agents running after your Mac closes.
Configuration docs
Every field for services, actions, profiles, and terminals, with examples.
Try all of it on a project
you already have.
Download lpm, add a folder, and press Start. Every feature on this page is free, with no account and no paid tier.