Skip to content

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.

Quick picks

The best terminal for Mac in 2026, by what you need

Eight terminals worth installing, and who each one suits best. lpm is ours; the other seven are the picks we would make if it did not exist.

  1. 1

    lpm

    Running whole projects and coding agents

    Split panes and search like any terminal, plus a project sidebar, one-click start for every dev server, and live status for Claude Code and Codex.

    Free, open source

  2. 2

    Ghostty

    Speed with a native Mac feel

    Its macOS interface is written in Swift with AppKit and SwiftUI, and tabs and splits work out of the box with almost no setup.

    Free, open source

  3. 3

    iTerm2

    Power users who want a setting for everything

    Profiles, triggers, split panes and tmux integration, refined over many years as the Mac default for developers.

    Free, open source

  4. 4

    Warp

    AI built into the shell

    Block-based input with an agent inside the terminal that writes and runs commands for you.

    Free plan; AI plans from $20/month

  5. 5

    WezTerm

    One config on Mac, Linux and Windows

    Configured in Lua, with a built-in multiplexer for panes, tabs and remote hosts.

    Free, open source

  6. 6

    Kitty

    Keyboard-driven tinkerers

    Renders with OpenGL, arranges tabs and windows in split layouts, and extends with small programs called kittens, all set in one kitty.conf.

    Free, open source

  7. 7

    Alacritty

    Minimalists who pair it with tmux

    A fast OpenGL renderer with deliberately no tabs or splits; your multiplexer handles the rest.

    Free, open source

  8. 8

    Terminal.app

    Nothing to install

    Already on every Mac, with tabs and profiles. Enough for occasional commands, thin for a full day of development.

    Free, built into macOS

See where each one wins and where lpm differs

Your dev servers, Claude Code and Codex in one window

A three-minute tour: start a stack, free a busy port, and run Claude Code and Codex side by side.

Three-minute tour · 3:19

lpm in 3 minutes

lpm is a desktop app with a multi-pane terminal workspace. Open this page on your computer to try the interactive demo.

Or check your computers from your iPhone
Built for macOS

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.

Inside the app

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.

Terminal basics

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.

Why developers switch

What changes when you stop fighting your terminal

The first hour, before and after.

  • Before lpm: Ten terminal commands to bring up the API, worker, database and frontend

    With lpm: Open the project and press Start. Every service is live in one window

  • Before lpm: Switching repos means stopping servers and losing scrollback

    With lpm: The first project keeps running in the background, logs and history intact

  • Before lpm: Guessing which iTerm2 tab has the migration running

    With lpm: Every running service has its own labeled pane

  • Before lpm: Electron-based terminals bundle their own Chromium runtime

    With lpm: lpm uses the webview macOS already provides, native on Apple Silicon and Intel

In practice

Workflows your terminal on Mac should actually make easy

Three everyday flows for Mac developers, built around a native workspace.

1

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.

2

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.

3

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.

How it compares

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.

  • 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
The 2026 field

Ghostty, Warp, iTerm2, WezTerm, Kitty, Alacritty, Terminal.app — and lpm

All seven are good terminals, 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 Mac-first, and its per-project setup is edited in the app rather than scripted in Lua — it starts your services, not just your shell.
  • Kitty

    What it is
    OpenGL-rendered emulator for macOS and Linux, set up in a single kitty.conf file.
    Where it shines
    Keyboard control: split layouts, tabs, and kittens — small programs that extend it, from remote file editing to Unicode input.
    How lpm differs
    Kitty rewards you for scripting your setup; lpm keeps it in the app, where each project knows its own services and agents. If you live in config files, Kitty fits better.
  • 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.
  • Terminal.app

    What it is
    The terminal Apple ships with macOS, with tabs, window groups and profiles.
    Where it shines
    Zero setup, and it is already there on every Mac you sit down at.
    How lpm differs
    Terminal.app runs a shell; lpm runs the project around it, with every dev server in its own pane and Claude Code or Codex in the next tab.

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.

FAQ

What Mac developers ask before switching terminals

  • What is the best terminal for Mac in 2026?
    It depends on what you do in it. For speed with a native feel, Ghostty. For a setting for everything, iTerm2. For AI inside the shell, Warp. For one config across Mac, Linux and Windows, WezTerm. For keyboard-driven setups, Kitty, and for minimalism with tmux, Alacritty. If your day is dev servers plus Claude Code or Codex across several projects, lpm runs all of it in one window, free and open source.
  • Is Ghostty better than iTerm2?
    They suit different people. Ghostty needs almost no configuration and its macOS interface is written in Swift, so it feels like part of the system from the first launch. iTerm2 has the deeper feature set — profiles, triggers and tmux integration — if you want to tune everything. Neither starts your dev servers or tracks coding agents; lpm does, and it runs happily next to either.
  • 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.

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.