Themes
A gallery of 473 themes, applied to the terminal and the whole window without a relaunch.
Settings ▸ Themes is a gallery, not a menu of names: every theme is drawn as a small window in its own colours, so you pick the one that looks right rather than the one whose name you half remember.
The catalogue
473 themes, from three places:
| Where | How many | Shown as |
|---|---|---|
| Ghostty’s own bundled set | 463 | Built in |
| bundled beside them | 10 | Built in |
~/.config/ghostty/themes |
yours | Yours |
Ghostty v1.3.1 ships a snapshot of iTerm2-Color-Schemes — 463 themes — and upstream has kept going since. Rather than take all of the newer ones, Overterm bundles ten by hand:
Claude Dark · Claude Light · Everforest Dark Soft · Everforest Light Soft · Noctis · Noctis Lux · Tailwind Dark · Tailwind Light · JetBrains Islands Dark · Dracula+ High Contrast
Six of those are the missing half of a family Ghostty’s snapshot has only one side of; the rest are editor themes people already know.
Your own themes need nothing of Overterm: Ghostty reads
~/.config/ghostty/themes itself, so a file dropped in there appears in the
gallery marked Yours and works in the terminal. A name that exists in both
places resolves the way Ghostty resolves it, so what the gallery draws is
what the terminal takes.
Finding one
The gallery opens on ten rather than on 473, which is a wall and not a choice — a light one for every two dark, in the order people usually want them:
Catppuccin Mocha · TokyoNight Night · Dracula · Gruvbox Dark · Nord · Rose Pine · Everforest Dark Hard · Claude Dark · Catppuccin Latte · One Half Light
The filters are Popular, Dark, Light and All, with a search field over the names. Popular is shown in that order rather than alphabetically, because the first card should be the one most people would have picked.
Reading the files takes a few milliseconds and happens off the main thread, when the Themes section opens — not at launch, where nothing needs them.
Picking one changes everything at once
A theme is not just the terminal’s colours. Choosing one reloads the configuration and recomputes the window’s whole palette, so these change together, with no relaunch and nothing to restart:
- every open terminal, in every tab and every pane;
- the tab strip;
- the sidebar;
- the pane headers, the cards and the window’s own background.
The window’s colours are three grounds a step apart — between the cards, a panel, and the terminal — derived from the theme’s own background and foreground, so a theme that has never heard of Overterm still produces a coherent window.
Following macOS
Follow macOS between a light and a dark theme keeps one theme of each kind and switches with the system. Turn it on and a second picker appears for the Light theme, used while macOS is light.
Ghostty does the switching itself, so it happens as the system changes — no relaunch, and no reading a dark theme in daylight.
In settings.json
All three controls write the one theme option:
{
"appearance.theme": "Catppuccin Mocha",
"appearance.followSystemAppearance": true,
"appearance.themeLight": "Catppuccin Latte"
}
On its own, appearance.theme becomes theme = "Catppuccin Mocha" in
Overterm’s overrides file. With the system switch on and both names set, it
becomes the pair Ghostty switches between itself.
Unset — which is the default — your own Ghostty config decides, and Overterm writes nothing. Your config file is never edited either way. See Settings.
The font goes with it
Settings ▸ Appearance has the terminal’s font and size, also as Ghostty options, also applied to open terminals immediately. The editor’s font is separate, in Settings ▸ Editor, and defaults to the system’s monospaced font.