The native terminal for macOS
The best free terminal app for Mac, built for Apple Silicon.
A real macOS app with split panes, search, and themes, plus what a plain terminal lacks: live output per service, a visual project switcher, and live status for Claude Code and Codex. No bundled Electron runtime.
Start a project, then hand it to Claude Code or Codex — one click each
Open a shell next to your logs, then switch projects without stopping them
A one-minute tour: start a project and hand it to Claude Code.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 iPhoneClick a step to run it in the window.
Done poking around? Get lpm for Mac and point it at your own projects.
Facts checked August 13, 2026 against iTerm2's official feature list and Warp's open-source announcement.
Why a Mac-focused terminal workspace feels different
lpm uses the macOS system webview instead of packaging an Electron runtime, with separate native builds for Apple silicon and Intel Macs.
No bundled Electron runtime
Hyper and Tabby package Electron with their apps. lpm uses the webview already provided by macOS, so its download does not include a separate Chromium runtime.
Terminal.app is general-purpose
Apple's built-in Terminal gives you a capable shell window. lpm adds the project sidebar, service controls, and live dashboard that a multi-service development stack needs.
iTerm2 manages sessions, not projects
iTerm2 offers tabs, profiles, and split panes. lpm adds project-aware service definitions, one-click stack controls, and live state for every repo in a visual sidebar.
A Mac-native terminal workspace, not another tab strip
What you get beyond a single shell window.
Native Apple silicon and Intel builds
Ships separate native builds for Apple silicon and Intel Macs. No Rosetta on Apple silicon, no Electron, and no bundled Chromium runtime — the app uses the webview already provided by macOS.
Every service in one window
Watch your API, worker, database, and Next.js frontend stream live logs side by side in one native window. No more ten iTerm2 tabs guessing which one crashed.
Visual project switcher
Every project sits in a sidebar with live state. Click one, press ⌘1–⌘9, or hold Ctrl and tap Tab for the ones you used last. No more cd ~/code/long/path, no more “which Terminal.app window was that?”.
One-click full-stack start
One click starts the whole stack. lpm sets it up from the files already in your repo, whether Rails, Next.js, Django, Go, Laravel or Docker Compose, and the config editor can have AI refine it.
A Files tab in the same pane
⌘⇧E opens a folder tree beside your shells, ⌘P jumps to any file by name, and the editor saves with ⌘S. Markdown renders the way GitHub shows it, and images preview inline.
A browser tab next to your shells
Open a web page as a tab beside your terminals, with an address bar, back, forward, and reload. A quick look at localhost without switching windows; your real browser is still one click away.
Great git terminal on macOS
Run every git command in your own shell, or use the branch switcher in the footer, commit with an AI-drafted message, and open a pull request from the same window. More on lpm as a git terminal for Mac.
Plays well with your other apps
Open any project in Cursor, VS Code, Zed, Xcode, WebStorm, iTerm, Ghostty, Warp, or Finder with one click; only the apps you have are listed. Pick a light or dark theme, or let it follow macOS.
Everything you expect from a Mac terminal
lpm's panes are real terminals, rendered on the GPU with 24-bit color. The everyday tools are all there.
Your login shell
zsh, bash, or fish with your dotfiles, prompt, and version managers, starting in the project folder.
Split panes
⌘D splits right, ⌘⇧D splits down. Drag tabs between panes; each project remembers its layout.
Find and filter
⌘F searches a terminal or log. Filter mode hides every line that doesn't match.
Themes and fonts
Eight color themes, including Dracula, Nord, and One Dark, any installed monospace font, and ⌘+ / ⌘− to resize.
Clickable paths and links
Click src/app.ts:42:7 in the output to open the file at that line. URLs open in your browser.
Copy that pastes clean
Copying rejoins wrapped lines and strips the margin bars agents draw, so pasted code stays code.
Paste a screenshot
Paste an image into a terminal and lpm saves it and types the path, ready for an agent to read.
Pinned tabs and undo close
Pin a tab so ⌘W can't close it, and bring back a closed tab with its scrollback from the Undo toast.
A window per project
Detach a local project into its own window and put it on another display. Take control moves any terminal to the window you're in.
What changes when you stop fighting your terminal
Four outcomes you'll feel in the first hour.
Your app ships without a bundled browser runtime
lpm uses the webview already provided by macOS instead of packaging Electron and a separate Chromium runtime. Your terminals, services, and project controls still live in one desktop app.
Your stack boots in one click, not ten terminal commands
Open a project in the sidebar and hit Start. API, worker, database, frontend — all live, all visible, all in one native window.
Switching projects stops wiping your context
Jump to another repo and your first project keeps running in the background. Come back and it's still there — logs intact, servers up, terminal history preserved.
You stop losing services in a sea of tabs
Every running service has its own pane with a clear label. No guessing which iTerm2 tab has the migration running.
Workflows your terminal on Mac should actually make easy
Three everyday flows for Mac developers, built around a native workspace.
Go from a fresh clone to a running stack
Paste the repo URL into Add a project and choose Clone Repository, or add a folder you already have. lpm reads the manifests and sets up the services, whether Rails, Next.js, Django, Go, Docker Compose, or a Procfile. Hit Start and every service streams live output side by side, with no digging through the README for start commands.
Switch between client projects without losing state
Each project gets its own sidebar entry with live status. Leave the first running while you jump to the second; both keep their servers, their terminal history, and their logs. When you switch back, nothing has to reboot.
Use your shell of choice alongside git and your services
lpm panes are real terminals — zsh, bash, or fish, with your dotfiles intact. Run git rebase -i in one pane, npm run dev in another, and rails console in a third, all in the same macOS window.
lpm vs iTerm2, Terminal.app, tmux, Hyper, and Warp
Every one of these renders text fast on Apple Silicon. These rows start with what the app itself costs and how it is built, then move to what it knows about the project you opened.
| Capability | lpm | iTerm2 | Terminal.app | tmux | Hyper | Warp |
|---|---|---|---|---|---|---|
| Native Apple Silicon build, no Electron runtime | Yes | Yes | Yes | Yes | No | Yes |
| Free | Yes | Yes | Yes | Yes | Yes | Yes |
| Open source | Yes | Yes | No | Yes | Yes | Yes |
| Visual project switcher with live state | Yes | No | No | No | No | No |
| Built-in project-aware full-stack start | Yes | No | No | No | No | No |
| Built-in service definitions with live output | Yes | No | No | No | No | No |
| Sets up your services from the repo's manifests | Yes | No | No | No | No | No |
| Claude Code and Codex side by side, each in its own copy | Yes | No | No | No | No | No |
| Project setup you edit inside the app | Yes | No | No | No | No | No |
Native Apple Silicon build, no Electron runtime
- lpm: yes
- iTerm2: yes
- Terminal.app: yes
- tmux: yes
- Hyper: no
- Warp: yes
Free
- lpm: yes
- iTerm2: yes
- Terminal.app: yes
- tmux: yes
- Hyper: yes
- Warp: yes
Open source
- lpm: yes
- iTerm2: yes
- Terminal.app: no
- tmux: yes
- Hyper: yes
- Warp: yes
Visual project switcher with live state
- lpm: yes
- iTerm2: no
- Terminal.app: no
- tmux: no
- Hyper: no
- Warp: no
Built-in project-aware full-stack start
- lpm: yes
- iTerm2: no
- Terminal.app: no
- tmux: no
- Hyper: no
- Warp: no
Built-in service definitions with live output
- lpm: yes
- iTerm2: no
- Terminal.app: no
- tmux: no
- Hyper: no
- Warp: no
Sets up your services from the repo's manifests
- lpm: yes
- iTerm2: no
- Terminal.app: no
- tmux: no
- Hyper: no
- Warp: no
Claude Code and Codex side by side, each in its own copy
- lpm: yes
- iTerm2: no
- Terminal.app: no
- tmux: no
- Hyper: no
- Warp: no
Project setup you edit inside the app
- lpm: yes
- iTerm2: no
- Terminal.app: no
- tmux: no
- Hyper: no
- Warp: no
Ghostty, Warp, iTerm2, WezTerm, Alacritty — and lpm
All five are good terminal emulators, and lpm is not trying to out-render them. Here is what each one is, where it wins, and where lpm sits.
Ghostty
- What it is
- Fast, native, GPU-accelerated terminal emulator with a platform-native macOS UI.
- Where it shines
- Raw rendering speed and native feel with almost no configuration required.
- How lpm differs
- lpm doesn't compete on emulator speed — it manages the project around the terminal. If you only want a faster single pane, pick Ghostty.
Warp
- What it is
- AI-native terminal with block-based input. Open source — the client has been AGPLv3 since April 2026.
- Where it shines
- AI assistance built into the shell itself: suggestions, command generation, agent features.
- How lpm differs
- lpm takes the other route to AI: it runs the agent CLIs you already use — Claude Code, Codex — alongside your services instead of building AI into the shell.
iTerm2
- What it is
- The mature macOS standard, deeply configurable after 15+ years of development.
- Where it shines
- Split panes, profiles, triggers, tmux integration — a setting for nearly everything.
- How lpm differs
- iTerm2 manages sessions; lpm manages projects. One click starts the whole stack, with live output per service.
WezTerm
- What it is
- Cross-platform GPU-accelerated emulator configured entirely in Lua.
- Where it shines
- One scriptable config that follows you across macOS, Linux, and Windows.
- How lpm differs
- lpm is built for the Mac, and its per-project setup is edited in the app rather than scripted in Lua — it starts your services, not just your shell.
Alacritty
- What it is
- Minimal GPU-accelerated emulator — deliberately no tabs or splits; most people pair it with tmux.
- Where it shines
- Doing one thing fast. The simplest terminal on this list, by design.
- How lpm differs
- The opposite philosophy: lpm puts services, project switching, and AI agents in one window. If minimalism is the point, Alacritty is the better pick.
lpm is not a raw emulator replacement. It is for the day your terminal stops being one shell and becomes the place a whole project runs — dev servers with live logs, one-click switching between repos, and coding agents working next to your services. If agents are the reason you're shopping, see the guide to the best terminal for Claude Code and Codex.
What Mac developers ask before switching terminals
Does lpm run natively on Apple silicon Macs?
Yes. lpm provides separate native downloads for Apple silicon and Intel Macs, so the Apple silicon build does not require Rosetta. The app uses the macOS system webview rather than bundling Electron or Chromium.Is lpm a free terminal for Mac?
Yes. lpm is free to download from lpm.cx and the source is public on GitHub. There is no paid tier gating the terminal, the project switcher, or the dev stack features.Is lpm a good git terminal for Mac?
Yes, and the output looks the way you expect it to. Panes are real macOS terminal sessions with GPU-accelerated rendering, 256-color and 24-bit color escapes drawn as sent, and Unicode 11 character widths, so colored diffs, prompt themes, and full-screen tools like lazygit or tig draw correctly. URLs and file paths in the output are clickable. You run git in one pane and your dev servers in another, inside the same native window. When you'd rather click, the footer has a branch switcher, a Commit dialog that drafts the message with AI, and Create PR.Is lpm a good iTerm2 alternative on Mac?
If you picked iTerm2 for tabs and split panes, lpm gives you those plus a visual project sidebar, a one-click full-stack start, and live output per service. If you only need a raw terminal with no project awareness, iTerm2 is still a fine choice — lpm is the step up for developers juggling multiple services and projects. There is a side-by-side comparison of lpm and iTerm2 if you want the details.How do I download lpm for macOS?
Use the download button on this page, open the .dmg, and drag lpm to your Applications folder. The app supports macOS 12 and later on both Apple Silicon and Intel Macs. On first launch, point it at any project folder and lpm detects the services it can run.Does lpm have split panes, search, and themes?
Yes. ⌘D splits a pane to the right and ⌘⇧D splits it down, ⌘F searches any terminal or service log with an optional filter mode, and you can pick one of eight color themes, any installed monospace font, and a font size from 8 to 24. Each project remembers its own pane layout.Can I browse and edit files in lpm?
Yes, lightly. The Files tab (⌘⇧E) shows the project's folder tree, ⌘P jumps to any file by name, and the editor has syntax highlighting and saves with ⌘S. Markdown renders GitHub-style and images preview inline. It is not an IDE, so Open with sends the project to Cursor, VS Code, Zed, or Xcode when you need one.Is lpm a good terminal for beginners on Mac?
Yes. Beginners get a visual sidebar, one-click Start and Stop buttons, and services set up automatically for common frameworks like Rails, Next.js, Django, Flask, and Laravel. You never have to memorize which command starts which server: the Start menu lists every service by name, and your own commands become labelled buttons, while a full macOS terminal is still there when you want one.
Keep reading
Mac terminal for developers
Services, logs and agents for the whole stack, inside one native Mac app.
Git terminal for Mac
Git work next to live dev-server output, in one window.
Terminal with a project sidebar
What replaces the tab row: one persistent row per project, holding its terminals and running state.
lpm vs iTerm2
Side by side with the Mac terminal you already have open — including where iTerm2 still wins.
Best terminal for Claude Code and Codex
Claude Code and Codex status, needs-you alerts and plan limits at a glance.
Every lpm feature
Every lpm feature, area by area.
Download the best terminal for Mac.
Free, native, Apple Silicon ready.
Native builds for Apple Silicon and Intel Macs. Drag to Applications and you're in. Works on every Mac running macOS 12 or later.