Slatewave (Ghostty)
May 4, 2026 · View on GitHub
Slatewave (Ghostty)
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.

What it styles
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
Installation
As a Ghostty theme
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/Slatewave
Then add this line to ~/.config/ghostty/config:
theme = Slatewave
Reload with ⌘⇧, (macOS) or restart Ghostty.
From a local clone
git clone https://github.com/kevinlangleyjr/ghostty-slatewave
cp ghostty-slatewave/Slatewave ~/.config/ghostty/themes/Slatewave
Inline
If 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.
Recommended config
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 = detect
Palette
Slatewave shares its palette with the companion themes. The anchor colors:
| Hex | Tailwind | Role | |
|---|---|---|---|
![]() | #282c34 | — | background |
![]() | #334155 | slate-700 | selection background |
![]() | #1e293b | slate-800 | ANSI 0 (black) |
![]() | #e2e8f0 | slate-200 | foreground, ANSI 7 (white) |
![]() | #5eead4 | teal-300 | cursor, ANSI 2 (green) |
![]() | #99f6e4 | teal-200 | ANSI 10 (bright green) |
![]() | #7dd3fc | sky-300 | ANSI 12 (bright blue) |
![]() | #38bdf8 | sky-400 | ANSI 4 (blue) |
![]() | #b388ff | — | ANSI 5 (magenta) |
![]() | #fb7185 | rose-400 | ANSI 1 (red) |
![]() | #fbbf24 | amber-400 | ANSI 11 (bright yellow) |
ANSI mapping
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 |
Customize
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 = #99f6e4
Later keys win in Ghostty's config, so the override takes effect without editing the theme file itself.
Slatewave family
One palette. Every tool.
- Editors — VSCode · JetBrains · Xcode · Sublime Text · Zed · Neovim · Helix
- Terminals — Alacritty · iTerm2 · WezTerm · Windows Terminal · Kitty
- Prompts — Oh My Posh · Powerlevel10k · Starship
- Multiplexer — tmux
- CLI — bat · delta · LSD · btop
- Notes — Obsidian · Logseq · MarkEdit · Anytype
- Launchers — Alfred · Raycast
- Chat — Slack
See getslatewave.com for the full family.
Contributing
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.
License
WTFPL — Do What The Fuck You Want To Public License. See LICENSE.










