Skip to content
thdxgPublic

About

A feature-rich macOS terminal built to be pleasant, native, and lightweight

Resources

Code of conduct

Contributing

Stars

497 stars

Watchers

0 watching

Forks

Repository files navigation


Macterm

A feature-rich macOS terminal built to be pleasant, native, and lightweight.

Latest version Total downloads CI status macOS 14+

Website · Docs · Releases

Macterm's vertical project sidebar beside an editor pane and a shell pane

Watch it work →

Note

This project has no relation to MacTerm, an earlier macOS terminal emulator with the same name.

Features

  • Session persistence: your shells keep running when you quit, and every pane returns when you start Macterm again.
  • Vertical project sidebar: projects and their tabs in a native macOS sidebar.
  • Splits and multiplexing: split panes, drag a pane onto another, and move a pane to its own tab.
  • Remote projects: open a folder on another machine over SSH. Its shells keep running on that machine.
  • Pinned tabs: keep a tab above your projects. It starts with Macterm.
  • Command palette: press ⌘P for every command, with its keybind on the row.
  • Extensions: add palettes for Git, Docker, Kubernetes, SSH and Claude Code, or write your own in YAML.
  • Save and restore layouts: the tabs, splits and commands of a project in one YAML file.
  • Control CLI: scripts and coding agents control Macterm with the macterm command.
  • Tab switcher: hold the recent-tab keybind to pick a tab from live previews.
  • Animations: scrolling, splits and the cursor glide into place.
  • Quick terminal: a drop-down terminal over any app, with a global keybind.
  • Desktop widgets: a terminal on your desktop, in the grid and shape of the macOS widgets.
  • Password autofill: Macterm saves the passwords that you type at a prompt and fills them in again.
  • Adaptive background: the window takes the background color of the running program.
  • Ghostty compatibility: your Ghostty config, theme, font and keybinds carry over.

Install

Homebrew

brew install --cask thdxg/tap/macterm

The cask removes the Gatekeeper quarantine attribute when it installs. The app then starts with no extra prompts.

From Releases

Download the latest .dmg from Releases. Open it and drag Macterm to Applications. The app has no Apple Developer certificate signature, so clear the quarantine flag one time:

xattr -cr /Applications/Macterm.app

After that, Sparkle installs updates. It checks an EdDSA signature on each update. You do not need xattr again.

Configuration

Macterm reads your Ghostty config from the same places as Ghostty: ~/.config/ghostty/config or ~/Library/Application Support/com.mitchellh.ghostty/config. An existing setup carries over with no change. The Ghostty option reference documents every key. A minimal config looks like this:

theme = catppuccin-mocha
font-family = JetBrains Mono
font-size = 14

A few Macterm defaults are different from the Ghostty defaults: theme, font size, padding and macos-option-as-alt. Macterm also sets tab-inherit-working-directory = false, so new tabs open at the project root. Macterm loads these defaults before your config. A key that you set always wins. defaultsBody in MactermConfig.swift has the full list.

Macterm has its own settings for window opacity, sidebar behavior, quick terminal size and keymaps. Open them with Macterm → Settings. The configuration docs give the full order of precedence and the few window keys that Macterm overrides.

Cookbook

The community shares workflows and recipes: layouts, keybinds and scripts that people run with Macterm. For example:

Do you have a recipe? Start a Cookbook topic. Anyone can post a recipe, and anyone can use one.

Contributing

Read CONTRIBUTING.md for setup, build and pull request rules.

License

MIT

About

A feature-rich macOS terminal built to be pleasant, native, and lightweight

Resources

Code of conduct

Contributing

Stars

497 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages