A macOS terminal with session persistence, smart multiplexing, and native UI. Built on libghostty.
Documentation · Website · Releases
- Persistent multiplexing — projects, tabs, and split panes are saved and restored on relaunch. Shells run under a bundled zmx session, so quitting detaches and relaunching reattaches every pane with its scrollback and running processes intact.
- Remote projects — open a directory on another machine over SSH. Each pane is a persistent session on the host, so your shells survive quits, dropped connections, and even a local reboot.
- Vertical project sidebar — organize projects and their tabs in a native macOS sidebar, stacked vertically where there's room to read them.
- Command palette — press ⌘P to split panes, switch projects, or open a directory. Every action is a keystroke away, and each row shows its keybind.
- Declarative layouts — describe a project's tabs, splits, and per-pane commands in YAML; Macterm builds the workspace from it on open.
- Control CLI — a bundled
mactermcommand drives the running app over a local socket, so scripts and AI agents can spawn panes, run commands, and script layouts. - Quick terminal — a global drop-down terminal on a hotkey (⌃`), for scratch work from anywhere.
- Ghostty compatibility — reads your existing
~/.config/ghostty/config. Theme, font, keybinds — all of it just works.
brew install --cask thdxg/tap/mactermThe cask strips the Gatekeeper quarantine attribute on install, so the app launches without extra prompts.
Download the latest .dmg from Releases, open it, and drag Macterm to Applications. Since the app isn't signed with an Apple Developer certificate, clear the quarantine flag once:
xattr -cr /Applications/Macterm.appSparkle handles updates from there, verifying an EdDSA signature on each one — so you won't need xattr again.
Full guides live at macterm.thdxg.dev/docs:
- Installation and Configuration
- Command palette and Quick terminal
- Declarative layouts, Session persistence, and Remote projects
- The
mactermCLI
The Cookbook collects workflows and recipes from the community — the layouts, keybinds, and scripts people actually run to get more out of Macterm. Three to start with: one ⌃hjkl chord that moves between nvim's splits and Macterm's panes, driving an interactive program from a script, and giving a coding agent control of Macterm.
Got a recipe of your own? Start a Cookbook topic — anyone can post, and anyone can borrow.
See CONTRIBUTING.md for setup, build, and PR guidelines.
MIT
