Ghostty Cheatsheet
Getting Started
Use this Ghostty reference while you build software engineering projects, review code, or refresh the syntax you reach for most.
What Ghostty is
Ghostty is a native, GPU-accelerated terminal emulator by Mitchell Hashimoto. The macOS GUI is Swift with AppKit and SwiftUI, the Linux GUI is Zig with GTK4, and both drive a shared Zig core called libghostty. Current stable release is 1.3.1.
| Property | Value |
|---|---|
| Platforms | macOS and Linux |
| macOS minimum | macOS 13 Ventura or later, universal binary |
TERM value | xterm-ghostty |
| Config format | plain text, key = value |
| Embedded font | JetBrains Mono, plus built-in Nerd Font glyphs |
| Built-in themes | hundreds, sourced from iterm2-color-schemes |
Native tabs, native splits, a macOS quick terminal, Kitty graphics protocol, OSC 8 hyperlinks, and light/dark theme switching are all built in.
Install on macOS
Official signed and notarized .dmg from the download page, or the
community-maintained Homebrew cask that repackages the same .dmg.
brew install --cask ghostty
Nixpkgs users want ghostty-bin on macOS, which repackages the official .dmg.
The plain ghostty package is the GTK build for Linux.
Install on Linux
The project only officially distributes prebuilt binaries for macOS. On Linux you use a distro package or build from source.
pacman -S ghostty # Arch, [extra] apk add ghostty # Alpine, testing repo
Distro packages are built and verified by the distributions, not by the Ghostty project. Report packaging problems to your distro maintainers first. If your distro has no package, build from source with Zig.
Zero configuration first
Ghostty is designed to need no configuration. It ships sensible defaults, embeds a font, and the project treats "you had to configure this" as a bug worth discussing. Launch it and use it before you write a config file.
When you do want to change something, one line is usually enough.
# ~/.config/ghostty/config.ghostty theme = catppuccin-mocha font-size = 14 background-opacity = 0.95
Reload without restarting: cmd+shift+, on macOS, ctrl+shift+, on Linux. Some
options only apply to newly created terminals, and a few cannot be reloaded at
all. The per-option reference says which.
Where the config lives
The file is named config.ghostty (it was config before 1.2.3, and that name
still loads). Every existing location is loaded in order, and later files override
earlier ones.
| Order | Path |
|---|---|
| 1 | $XDG_CONFIG_HOME/ghostty/config.ghostty |
| 2 | $XDG_CONFIG_HOME/ghostty/config |
| 3 | ~/Library/Application Support/com.mitchellh.ghostty/config.ghostty (macOS) |
| 4 | ~/Library/Application Support/com.mitchellh.ghostty/config (macOS) |
$XDG_CONFIG_HOME defaults to ~/.config. macOS reads the XDG path too, and all
macOS-specific files load after all XDG files.
First commands to know
ghostty --version # version and build info ghostty +list-themes # browse and preview built-in themes ghostty +list-fonts # valid font-family values ghostty +list-keybinds --default # the default keybind set ghostty +show-config --default --docs | less # every option, documented ghostty +validate-config # check the config file for errors ghostty +edit-config # open the config in your editor
Every configuration key is also a command-line flag, so
ghostty --font-size=16 --theme=nord starts a one-off terminal without touching
your config file.