Ghostty
Ghostty is a GPU-accelerated terminal emulator by Mitchell Hashimoto — native UI on each platform (not Electron), fast, and configured with a single plain-text file rather than a settings GUI.
Config file
| Platform | Location |
|---|---|
| macOS | ~/Library/Application Support/com.mitchellh.ghostty/config |
| Linux | ~/.config/ghostty/config |
Format is key = value, one per line, no quoting needed for most values:
font-family = JetBrains Mono
font-size = 14
theme = catppuccin-mocha
background-opacity = 0.95
window-padding-x = 10
window-padding-y = 10
cursor-style = block
shell-integration = detect
copy-on-select = true
Config reloads live — no restart needed after saving (Cmd+Shift+, on macOS opens it directly).
Useful CLI subcommands
ghostty +list-themes # every built-in theme, with a live preview flag
ghostty +list-fonts # fonts Ghostty can see on the system
ghostty +show-config # fully resolved config, including defaults
ghostty +list-keybinds # every active keybinding
Keybindings (macOS defaults)
| Shortcut | Action |
|---|---|
Cmd+D |
Split right |
Cmd+Shift+D |
Split down |
Cmd+Opt+Arrow |
Move focus between splits |
Cmd+T |
New tab |
Cmd+Shift+P |
Command palette |
Cmd+K |
Clear scrollback |
Cmd+Shift+, |
Open config file |
All keybinds are remappable via keybind = <trigger>=<action> in config, e.g.:
keybind = cmd+shift+r=reload_config
keybind = global:cmd+grave_accent=toggle_quick_terminal
Quick terminal
A Ghostty-hosted, drop-down/global terminal (like iTerm2’s Hotkey Window) — bind a global shortcut (toggle_quick_terminal) and it summons over whatever app is focused, no Cmd+Tab needed.
Shell integration
shell-integration = detect auto-injects hooks for bash/zsh/fish/elvish on startup, giving you:
- Correct working-directory tracking (new tabs/splits open where you were).
- Cursor shape changes between prompt and command execution.
- Safer paste handling — warns on multi-line or suspicious pastes.
- Sudo password prompt handled without echoing to the scrollback.
Notes
- Rendering uses Metal (macOS) or OpenGL/Vulkan (Linux) — GPU-driven, not a CPU text renderer, which is most of why it feels faster than Electron-based terminals under heavy scrollback.
- Deliberately no plugin/extension system — the philosophy is a small, fast, well-defaulted core rather than an ecosystem to configure.
- Ligature support is built in; toggle with
font-feature = -caltif you want to disable a specific one (e.g. to stop!=rendering as ≠).