A Slatewave theme for Ghostty — slate foundation, teal signature. Part of the Slatewave family — one palette across editors, terminals, prompts, notes, and more.
Slate below, teal above.
Slatewave for Ghostty is a single theme file tuned against Ghostty's native color keys. It sets:
- ANSI 0–15 — mirrored from the VSCode Slatewave terminal block so
ls --color,git diff, and 256-color TUIs all read identically across your editor and terminal - Background — slate
#282c34, matching the VSCode editor background - Foreground — slate-200
#e2e8f0, matching the VSCode editor foreground - Cursor — teal
#5eead4with slate-background text, so the block cursor stays legible - Selection — slate-700
#334155with slate-200 text, for a calm, non-competing highlight
Ghostty loads user themes from $XDG_CONFIG_HOME/ghostty/themes/ (typically ~/.config/ghostty/themes/).
mkdir -p ~/.config/ghostty/themes
curl -fsSL https://raw.githubusercontent.com/kevinlangleyjr/ghostty-slatewave/main/Slatewave \
-o ~/.config/ghostty/themes/SlatewaveThen add this line to ~/.config/ghostty/config:
theme = SlatewaveReload with ⌘⇧, (macOS) or restart Ghostty.
git clone https://github.com/kevinlangleyjr/ghostty-slatewave
cp ghostty-slatewave/Slatewave ~/.config/ghostty/themes/SlatewaveIf you'd rather not manage a separate theme file, paste the contents of Slatewave directly into your ~/.config/ghostty/config — the same keys work at the top level.
For the cleanest match with the companion themes:
theme = Slatewave
font-family = "JetBrainsMono Nerd Font"
font-size = 14
cursor-style = block
cursor-style-blink = false
background-opacity = 1.0
background-blur = false
# If you use the oh-my-posh prompt
shell-integration = detectSlatewave shares its palette with the companion themes. The anchor colors:
Mirrors the terminal.ansi* block from vscode-slatewave so shell output is consistent across editor and terminal.
| Slot | Normal | Bright |
|---|---|---|
| Black | #1e293b slate-800 |
#475569 slate-600 |
| Red | #fb7185 rose-400 |
#ef5350 |
| Green | #5eead4 teal-300 |
#99f6e4 teal-200 |
| Yellow | #b45309 amber-700 |
#fbbf24 amber-400 |
| Blue | #38bdf8 sky-400 |
#7dd3fc sky-300 |
| Magenta | #b388ff |
#c4b5fd violet-300 |
| Cyan | #0e7490 cyan-700 |
#67e8f9 cyan-300 |
| White | #e2e8f0 slate-200 |
#f1f5f9 slate-100 |
The theme file is a plain Ghostty config fragment — every line is a key = value pair. To override a single color without forking, copy the relevant line into your ~/.config/ghostty/config after the theme = Slatewave line:
theme = Slatewave
# Override just the cursor
cursor-color = #99f6e4Later keys win in Ghostty's config, so the override takes effect without editing the theme file itself.
One palette. Every tool.
- Editors — VSCode · Neovim · Helix · Zed · Sublime Text · JetBrains
- Terminals — Alacritty · iTerm2 · WezTerm · Windows Terminal
- Prompts — Oh My Posh · Starship
- Multiplexer — tmux
- Notes — Obsidian · Logseq
- Launchers — Alfred · Raycast
- Chat — Slack
See getslatewave.com for the full family.
Issues and PRs welcome. For palette changes, include a before/after screenshot of the same terminal session (ls --color, git diff, a TUI like lazygit or btop) so the visual tradeoff is obvious.
WTFPL — Do What The Fuck You Want To Public License. See LICENSE.











