lpm vs cmux
Project manager vs. terminal — both built for coding agents.
cmux is a native macOS terminal built for agents. lpm is a project manager with a built-in terminal. They overlap in the panes-for-agents area, but solve different halves of the workflow. Honest side-by-side, no shade.
Projects, terminals, agents, a built-in browser — one click each
Click anywhere below. Switch projects, start services, launch Claude Code or Codex, and preview your dev server in the in-pane browser — all running live in your browser, right now.
cmux and lpm, feature by feature
Rows where cmux wins are called out honestly. No marketing shade — this is the real shape of the overlap.
| Capability | lpm | cmux |
|---|---|---|
| Primary object | Project (services + agents) | Workspace (panes + commands) |
| Per-project config | small file you can edit and commit | cmux.json in repo |
| Auto-detect stack on init | ||
| Start, stop, restart services | via custom workspace commands | |
| Duplicate project for parallel agents | via custom commands | |
| Run a subset of services (profiles) | ||
| One-shot tasks (lint, migrate, seed) | as pane commands | |
| Embedded browser | tabs beside terminals | scriptable |
| Native SSH workspaces | remote projects + port forwarding | |
| Pre-built agent hooks (Claude Code, Codex, Aider, etc.) | Claude Code, Codex, Gemini, OpenCode | |
| External socket / control API | ||
| Portable, shareable config | GUI-first | |
| License | Open source, free | GPL-3.0 + paid commercial |
| Platforms | macOS | macOS |
lpm
- Project (services + agents)Primary object
- small file you can edit and commitPer-project config
- Auto-detect stack on init
- Start, stop, restart services
- Duplicate project for parallel agents
- Run a subset of services (profiles)
- One-shot tasks (lint, migrate, seed)
- tabs beside terminalsEmbedded browser
- remote projects + port forwardingNative SSH workspaces
- Claude Code, Codex, Gemini, OpenCodePre-built agent hooks (Claude Code, Codex, Aider, etc.)
- External socket / control API
- Portable, shareable config
- Open source, freeLicense
- macOSPlatforms
cmux
- Workspace (panes + commands)Primary object
- cmux.json in repoPer-project config
- Auto-detect stack on init
- via custom workspace commandsStart, stop, restart services
- via custom commandsDuplicate project for parallel agents
- Run a subset of services (profiles)
- as pane commandsOne-shot tasks (lint, migrate, seed)
- scriptableEmbedded browser
- Native SSH workspaces
- Pre-built agent hooks (Claude Code, Codex, Aider, etc.)
- External socket / control API
- GUI-firstPortable, shareable config
- GPL-3.0 + paid commercialLicense
- macOSPlatforms
When each one is the right tool
Both are macOS-native and OSS. The split is which half of the agent workflow you want the tool to own.
You want one switcher that owns starting, stopping, duplicating, and switching whole projects.
- You bounce between multiple local projects and want a single visual switcher with services + agents already wired up.
- You want lpm to read your repo and generate a working config instead of writing one by hand.
- You want a portable config you can read, edit, and commit — not settings locked inside a GUI.
- You want a fully free tool with no commercial-license tier.
- You rely on duplicating a project to run a second agent in parallel without conflicts.
You want a native macOS terminal with agent ergonomics baked in.
- You want a scriptable browser and an external control API for automation.
- Your work is one repo at a time, and project juggling isn't your bottleneck.
- You're fine writing a cmux.json by hand for each project.
lpm vs cmux — the honest FAQ
Do I have to pick one? Can lpm and cmux coexist?
Yes — and it's a reasonable setup. Let lpm own the project layer (which project is active, what services are running, duplicating for a parallel agent). Use cmux as your daily terminal when you want native rendering and the embedded browser. The two configs describe different things and don't conflict.What's the license difference?
lpm is open source and free for any use, including inside companies. cmux is GPL-3.0; that's fine for running it internally, and orgs that want to embed or redistribute it without GPL obligations can buy a commercial license from Manaflow.Can I migrate a cmux.json to an lpm config?
There's no automatic converter, but the shapes are close. Each cmux command roughly maps to an lpm service or action. Pointing lpm at the repo gives you a starting config you can prune to match what your cmux.json was launching.Does lpm have an embedded browser like cmux?
Yes — lpm opens browser tabs in panes right next to your terminals, so the app you're building renders in the same workspace as the agents building it. cmux's browser is scriptable, which matters if you automate browser checks. The source lives on GitHub if you want to see how lpm's browser tabs fit in.
Run your projects, your way.
lpm is free, macOS-native, and pairs cleanly with whatever terminal you love — including cmux. Download and try it next to your current setup.