An iTerm2 alternative that manages projects, not just panes.
iTerm2 is the terminal emulator most Mac developers already have open, and it is very good at that job. lpm sits a layer above: it starts and stops your whole stack, shows live status per service, and duplicates a project when a second agent needs its own checkout. Honest side-by-side, including the rows where iTerm2 wins.
iTerm2 and lpm, feature by feature
These tools overlap less than the search results suggest. Rows where iTerm2 wins are called out plainly — it is the better emulator, and lpm does not pretend otherwise.
| Capability | lpm | iTerm2 |
|---|---|---|
| Primary object | Project (services + agents) | Terminal window (tabs + split panes) |
| Per-project config | small file you can edit and commit | Profiles in app settings |
| Auto-detect stack on init | Yes | No |
| Start, stop, restart services | Yes | you run each command yourself |
| Live status per service on the tab | Yes | No |
| Run a subset of services (profiles) | Yes | profiles set the shell and appearance, not service sets |
| One-shot tasks (lint, migrate, seed) | buttons in the project | shell history and aliases |
| Duplicate a project for a parallel agent | worktrees or standalone copies, in a batch | No |
| Pre-built agent hooks (Claude Code, Codex, …) | Claude Code, Codex, Gemini, OpenCode | No |
| Embedded browser | tabs beside terminals | No |
| Native SSH workspaces | remote projects + port forwarding | ssh in a shell, with shell integration |
| tmux control mode integration | No | Yes |
| Triggers, smart selection, scripting API | No | Yes |
| Years of terminal-emulator polish | terminal built for running services and agents | Yes |
| License | Open source, free | Open source, free |
| Platforms | macOS | macOS |
- Primary objectlpmProject (services + agents)iTerm2Terminal window (tabs + split panes)
- Per-project configlpmsmall file you can edit and commitiTerm2Profiles in app settings
- Auto-detect stack on initlpmYesiTerm2No
- Start, stop, restart serviceslpmYesiTerm2you run each command yourself
- Live status per service on the tablpmYesiTerm2No
- Run a subset of services (profiles)lpmYesiTerm2profiles set the shell and appearance, not service sets
- One-shot tasks (lint, migrate, seed)lpmbuttons in the projectiTerm2shell history and aliases
- Duplicate a project for a parallel agentlpmworktrees or standalone copies, in a batchiTerm2No
- Pre-built agent hooks (Claude Code, Codex, …)lpmClaude Code, Codex, Gemini, OpenCodeiTerm2No
- Embedded browserlpmtabs beside terminalsiTerm2No
- Native SSH workspaceslpmremote projects + port forwardingiTerm2ssh in a shell, with shell integration
- tmux control mode integrationlpmNoiTerm2Yes
- Triggers, smart selection, scripting APIlpmNoiTerm2Yes
- Years of terminal-emulator polishlpmterminal built for running services and agentsiTerm2Yes
- LicenselpmOpen source, freeiTerm2Open source, free
- PlatformslpmmacOSiTerm2macOS
When each one is the right tool
Both are free, open source, and macOS-only. The split is whether your bottleneck is the terminal itself or everything you have to start inside it.
Your friction is starting, stopping, and switching whole projects — not the emulator.
- You start several services every morning and want one click instead of six tabs.
- You want lpm to read your repo and generate a working config rather than writing one by hand.
- You run AI coding agents and want a second checkout with its own ports, created as a worktree or a copy.
- You want a crashed service to be visible on its tab instead of buried in scrollback.
- You bounce between projects and want a visual switcher that remembers what each one runs.
You want the most capable terminal emulator on macOS, and you want to configure it deeply.
- You rely on triggers, smart selection, or the scripting API.
- You drive tmux through control mode and want it rendered natively.
- Your work is one repo with one or two processes, so project juggling isn't the bottleneck.
- You have years of muscle memory in your iTerm2 setup and no reason to move it.
Projects, terminals, agents, a built-in browser — one click each
A recording of lpm booting a project and handing it to Claude Code — lpm is a macOS app, so the clickable demo runs on desktop.Click anything — it runs live in your browser.
lpm is a macOS app with a multi-pane terminal workspace. Open this page on your computer to try the interactive demo.
Get lpm for MacOr check your Macs from your iPhone
Done poking around? Get lpm for Mac and point it at your own projects.
lpm vs iTerm2 — the honest FAQ
Is lpm a replacement for iTerm2?
For most people, no — and it doesn't need to be. iTerm2 is a terminal emulator; lpm is a project manager that happens to have a terminal inside it. If what you want is a better emulator — triggers, smart selection, tmux control mode, the Python API — iTerm2 is the more capable tool and lpm will not match it. If what you want is to stop hand-starting six services every morning, that is the gap lpm fills.Can I keep using iTerm2 alongside lpm?
Yes, and plenty of people do. Let lpm own the project layer — which project is active, what services are running, duplicating a checkout for a second agent — and keep iTerm2 as the terminal you reach for when you want a scratch shell. They don't conflict: lpm starts and stops ordinary native processes, exactly as you would by hand.What does lpm do that iTerm2 can't?
Three things, all above the terminal layer. It reads your repo and generates a working config, so starting the whole stack is one click instead of six tabs. It shows live status per service on each tab, so a crashed worker is visible without hunting for it. And it can duplicate a project — as a linked Git worktree or a standalone copy — so a second agent gets its own checkout and its own ports instead of fighting the first one.I only ever work on one repo. Is lpm worth it?
Honestly, the gains are smaller. lpm's value scales with how many services you start and how often you switch context. On a single repo with one process, iTerm2 plus a shell alias is a perfectly good setup and you should keep it. The moment you add a second agent working in parallel, or a stack of four services with a database, the project layer starts paying for itself.Is lpm free like iTerm2?
Yes. lpm is free and open source with no paid tier and no commercial license to buy, the same as iTerm2. The source is on GitHub if you want to read it before installing.
Keep iTerm2. Add the project layer.
lpm is free, macOS-native, and starts ordinary processes the same way you would by hand. Install it next to your current setup and see whether the project layer earns its place.