Native desktop terminal for AI agents
The best terminal for Claude Code and Codex — built for parallel agents.
A native macOS app with live output per service in one window. Watch multiple agents work side by side and switch projects visually — without juggling a wall of terminal tabs.
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.
Running agents in parallel breaks a regular terminal
One AI coding agent is easy. Two or three working side by side on real projects is where the wheels come off — you need a workspace built for it.
Port conflicts everywhere
Two agents spin up the same dev server and race for port 3000. One wins, one crashes, and you spend more time restarting than coding.
No idea who is doing what
Five terminal tabs, five agents, and no clear view of which one is running tests, which is waiting, and which just errored out.
Context vanishes on every switch
Jump to another project and your running services, logs, and agent sessions are gone. Coming back means rebuilding the whole stack from memory.
A native workspace for the agents doing your work
Every service, side by side
Watch live terminal output from every service in one window. No more tab-juggling to find which agent broke the API while the other is editing the frontend.
Visual project sidebar
Every project sits in the sidebar. Click to jump straight to one with agents already running — no hunting through terminal windows.
Built-in config editor
Edit a project's config inside the app and restart services on the spot. No digging through dotfiles to tweak what an agent is running.
One-click actions
Wire up buttons for tests, lints, and deploy scripts. Run them with a click while the agent keeps working next door.
Toggle service profiles
Flip between profiles from the app header to run just the services the agent touches — or spin up the full stack when you need it.
Native, dark, and fast
A real macOS app with dark mode, native speed, and no browser tab eating your battery while agents chew through your codebase.
What changes when you run agents in a real macOS window
A second agent starts on a copy that already runs
Duplicate copies the whole project folder, so the new copy arrives with node_modules, .venv, .env files, and your uncommitted work already in place — no reinstall, no re-configuring, no "it works on my other checkout". If you want the copy on its own branch instead, the same dialog creates a Git worktree — a real checkout of your current commit, so it starts clean: uncommitted changes and ignored files like node_modules and .env stay behind in the original.
One prompt, up to 50 answers to choose from
Set a copy count in the Duplicate dialog — anywhere from 1 to 50 — and queue the same prompt in every copy at once. Claude Code, Codex, and Gemini CLI each attack the task in their own checkout, and you keep the version you like instead of rerolling the same session and hoping.
You find out an agent is waiting without checking on it
Each session carries its own status in the sidebar, so a terminal that has finished or is blocked on a question announces itself. You go back to the one agent that needs you instead of cycling through five to see who stopped.
You see how much of your plan the agents have burned
Claude and Codex each get a usage line in the sidebar: how much of the window is gone and when it comes back, for whichever window you pick — weekly out of the box, or the 5-hour one. Hover the line and both windows open together. When several agents run all afternoon, you know how much room is left before a limit lands mid-refactor.
Workflows that used to be painful
Claude Code on a feature branch, Codex writing tests
Click Start on your project in the lpm sidebar and the full stack boots in one window, one service per tab. Point Claude Code at it to drive the feature work. For the second agent, open Duplicate and create a linked worktree — a real Git worktree on its own branch, with its own services and its own ports — then point Codex at that. Two agents, two checkouts, nothing fighting over port 3000, and both projects sit in the same sidebar so you can watch the live service tabs side by side.
Switch branches without a stale dev server
Agents get confused when the server on port 3000 is still running the code from the branch they just left. Hit Stop on the project in the sidebar and everything shuts down cleanly — no orphaned node processes, no stuck migrations. Click Start again on the new checkout and the whole stack comes back fresh in the same window, so when Claude Code returns it sees the code it actually expects.
Give the agent only the services it should see
You don’t need the Next.js frontend running while an agent is refactoring a Go API. Open the profile switcher in the header and pick a profile that only exposes the API and its database — the frontend tab drops out, the API keeps running, and the agent works against a smaller, quieter stack. Fewer moving parts, less terminal noise, and no accidental writes to services the agent was never meant to touch.
A desktop workspace, not another terminal
The lpm macOS app gives every running service its own pane in one native window — the visual layer your terminal tabs, tmux session, or editor doesn't.
| Capability | lpm desktop | Terminal tabs | tmux / screen | Editor window |
|---|---|---|---|---|
| Start full stack in one command | Yes | No | Yes | No |
| Live output per service | Yes | Yes | Yes | No |
| One window for every running service | Yes | No | Yes | No |
| Run multiple agents in parallel with no conflicts | Yes | No | No | No |
| Visual project switcher with live state | Yes | No | No | No |
| Native macOS app with dark mode | Yes | Yes | No | Yes |
lpm desktop
- YesStart full stack in one command
- YesLive output per service
- YesOne window for every running service
- YesRun multiple agents in parallel with no conflicts
- YesVisual project switcher with live state
- YesNative macOS app with dark mode
Terminal tabs
- NoStart full stack in one command
- YesLive output per service
- NoOne window for every running service
- NoRun multiple agents in parallel with no conflicts
- NoVisual project switcher with live state
- YesNative macOS app with dark mode
tmux / screen
- YesStart full stack in one command
- YesLive output per service
- YesOne window for every running service
- NoRun multiple agents in parallel with no conflicts
- NoVisual project switcher with live state
- NoNative macOS app with dark mode
Editor window
- NoStart full stack in one command
- NoLive output per service
- NoOne window for every running service
- NoRun multiple agents in parallel with no conflicts
- NoVisual project switcher with live state
- YesNative macOS app with dark mode
Questions developers ask before switching
Does lpm work with Claude Code and Codex out of the box?
Yes. You point lpm at your project, hit Start in the app, and watch each service stream live output in its own pane. The agent talks to the services the app started.Can I run multiple agents in parallel on the same repo?
Yes — each agent works in its own copy of the repo, so they never edit the same files. Duplicate copies the project folder (dependencies,.envfiles, and uncommitted work included) and Worktree checks out a real Git worktree on its own branch; either way you can create up to 50 copies at once and queue the same prompt in every one. Every copy appears in the sidebar with its own services and terminals, so Claude Code in one and Codex in another sit side by side with all their output visible. The worktree guide covers which of the two to reach for.Do I need Docker to use lpm?
No. lpm runs anything that runs in a terminal. Docker Compose stacks work, and plain Rails, Next.js, Go, Django, or Flask projects work without containers.Is lpm open source?
Yes. The source, issue tracker, and releases live on GitHub. Contributions and bug reports are welcome.Which frameworks does lpm work with?
Rails, Next.js, Go, Django, Flask, Docker Compose, and anything else that runs in a terminal. lpm can generate the service config for you with AI when you add a project.
Keep reading
Connect AI agents to your projects
Give Claude Code and Codex a CLI to start, stop, and restart services, read logs, and fan out into parallel copies.
A Git worktree alternative for AI agents
See when a standalone lpm Duplicate is a better fit than a linked worktree.
Multiple Claude Code accounts
Pin a Claude account to each project — work and personal run in parallel, signed in once.
Claude Code & Codex token usage
See tokens, approximate cost, cache usage, projects, models, and sessions in one local dashboard.
Run Claude Code on a remote server
Move the long runs to a Linux box you own and drive it from the same window.
Claude Code & Codex statuslines
Pick a preset, reorder the fields, and preview live — so parallel agent sessions stay readable at a glance.
Review changes in terminal
See a file-by-file diff of everything your agents changed before you commit.
Download the macOS app.
Run your agents side by side.
Native desktop workspace for Claude Code, Codex, and every other agent that lives in a terminal.