Local Project Manager

Switch between projects and terminals in seconds

lpm starts, stops, and duplicates your local dev projects — every service streaming live, with one-click terminals for Claude Code and Codex. Free, open source, native macOS.

Desktop App
Download for macOS
Signed & notarized by Apple

225 GitHub stars · Free & open source

Live interactive demo

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.

Loading demo…
How it works

See it in action

1

Add a new project

Click + in the sidebar, browse to a directory, and define your services in the built-in editor. Hit Save and the project appears in the sidebar ready to start.

2

Start a project

Select a project and click Start. All services launch in parallel with live terminal output side by side. Switch between service tabs or view them all at once.

3

Add an action

Add one-shot commands like linters, test runners, or deploy scripts directly in the editor. Actions appear as buttons you can trigger without leaving the app.

4

Switch between profiles

Define profiles to run different subsets of services. Toggle between them with the profile switcher in the header — pick default for everyday work or full when you need everything running.

5

Launch your AI agent in one click

Configure any command you want — Claude, Codex, Aider, a custom script, anything. Pick a project, click the button, and the terminal opens with your agent already running in the right directory. No cd, no setup, no excuses. From zero to coding in seconds.

6

Run agents in parallel on the same codebase

Duplicate a project to spin up a second (or third) checkout in seconds. Each copy gets its own services, terminals, and agents — so Claude can work on one feature while Codex ships another, without branch conflicts or context bleed.

Liked the demo? Run the real thing.

Download for macOS
Signed & notarized by Apple
What you get

Built for real dev workflows

Live terminal output

Watch every service stream in real time. Switch between service tabs or tile them side by side — all from a native window.

Parallel agents, same codebase

Duplicate any project to run Claude, Codex, or any agent in parallel — each on its own checkout, with its own services and terminals. No branch conflicts, no context bleed.

Commits and PRs, built in

Stage changes, generate commit messages, and open pull requests right from the app. Pair it with Claude or Codex to ship without ceremony.

AI writes your config

Let your AI agent analyze a repo and generate the full project setup — services, ports, actions, and profiles — ready to run.

Instant project switching

Stop one project and start another in a single click. No manual cleanup needed.

Service profiles

Run subsets of your services. Start just the API, or spin up the full stack.

Native macOS app

A desktop app with live terminal output, built-in config editor, and dark mode.

Works with any stack

If it runs in a terminal, lpm can manage it. No Docker or containers required.

One config file. That's it.

Define your services, group them into profiles, and add one-shot actions. Edit below to see it live.

~/.lpm/projects/myapp.ymlvalid
myapp

No active terminals

Click Start to run myapp, or open a terminal.

New Terminal
name: myapp
root: ~/Projects/myapp

# Long-running services — started from the app
services:
  api:
    cmd: python manage.py runserver
    cwd: ./backend
    port: 8000
  frontend:
    cmd: npm run dev
    cwd: ./frontend
  worker: celery -A backend worker

# Named subsets of services
profiles:
  default: [api, frontend]
  full: [api, frontend, worker]

# One-shot commands — run from the app
actions:
  test: pytest
  migrate:
    cmd: python manage.py migrate
    cwd: ./backend
    confirm: true
  deploy: ./scripts/deploy.sh

Services

Long-running processes. Use string shorthand or full config with cwd, port, env.

Profiles

Named groups of services. Pick a profile from the header and start only that subset.

Actions

One-shot commands. Appear as buttons in the app — trigger tests, migrations, or deploys in one click.

FAQ

Questions developers ask before downloading

  • Is lpm free?
    Yes. lpm is free and open source. Download it from lpm.cx, browse the source on GitHub — there is no paid tier and no account required.
  • Which Macs and macOS versions are supported?
    lpm runs on macOS 12 or later, with separate native builds for Apple Silicon and Intel Macs. Both builds are signed and notarized by Apple, and there is no Electron runtime.
  • Does lpm replace my terminal or editor?
    No. lpm works alongside the tools you already use. It manages your projects, services, and agent terminals, and a one-click open-in-editor button takes any project straight to your editor of choice.
  • Does lpm work with my AI coding agent?
    Yes. lpm has built-in launchers with a model picker for Claude Code, Codex, Gemini, and OpenCode, and you can configure any other command-line agent or script as a one-click button.
  • Does lpm collect my code or telemetry?
    No. The desktop app runs entirely on your machine — no analytics, no telemetry, no account, and nothing is sent to any server we control. Only this website uses basic visitor analytics; see the privacy policy for details.
Latest Release

Get lpm

Free and open source. Available for macOS (Apple Silicon & Intel).

Signed & notarized by Apple