Setting a theme
Add atheme line to your ~/.config/ghostty/config:
Conditional themes (light/dark)
Specify different themes for light and dark mode:You can also specify a single theme without prefixes as a fallback:The unprefixed theme is used if neither dark nor light variant matches.
Theme file locations
cmux searches for theme files in the following order:$GHOSTTY_RESOURCES_DIR/themes/<theme-name>(if set)- App bundle:
cmux.app/Contents/Resources/ghostty/themes/<theme-name> $XDG_DATA_DIRS/ghostty/themes/<theme-name>(colon-separated paths)/Applications/Ghostty.app/Contents/Resources/ghostty/themes/<theme-name>~/.config/ghostty/themes/<theme-name>~/Library/Application Support/com.mitchellh.ghostty/themes/<theme-name>
Theme name resolution
Theme name resolution
cmux supports Ghostty’s theme naming conventions:
monokai→ searches for file namedmonokaiMonokai Pro→ searches forMonokai Probuiltin monokai→ strips “builtin” prefix → searches formonokaimonokai (builtin)→ strips “(builtin)” suffix → searches formonokai
Theme file format
Theme files use the same syntax as Ghostty config files:Required fields
background— Terminal background colorforeground— Default text colorpaletteentries (0–15) — ANSI color palette
Optional fields
cursor-color— Cursor fill color (defaults to foreground)cursor-text— Text color under cursor (defaults to background)selection-background— Background color for selected textselection-foreground— Text color for selected textbackground-opacity— Transparency (0.0–1.0)
Creating custom themes
-
Create
~/.config/ghostty/themes/directory: -
Create a theme file (e.g.,
my-theme): -
Edit the file with your colors:
~/.config/ghostty/themes/my-theme
-
Reference it in your config:
~/.config/ghostty/config
- Reload configuration: ⌘⇧,
You can also copy existing themes from Ghostty’s theme directory as starting points.
Compatibility aliases
cmux includes compatibility aliases for popular themes:solarized light→ triesiTerm2 Solarized Lightas fallbacksolarized dark→ triesiTerm2 Solarized Darkas fallback
Overriding theme colors
You can override specific colors from a theme in your main config file:~/.config/ghostty/config
Built-in themes
If you have Ghostty installed at/Applications/Ghostty.app, cmux can access its bundled themes:
- 3024 Day / Night
- Alabaster
- Argonaut
- Ashes
- Atom One Dark / Light
- Breeze
- Builtin Tango variants
- Catppuccin (Frappe, Latte, Macchiato, Mocha)
- Dracula
- Flexoki (Dark, Light)
- Gruvbox (Dark, Light)
- Nord
- One Half (Dark, Light)
- Tokyo Night (Day, Moon, Night, Storm)
- … and many more
/Applications/Ghostty.app/Contents/Resources/ghostty/themes/ for the complete list.
Terminal color testing
Test your theme with this snippet:Troubleshooting
Theme not found
Theme not found
- Verify the theme file exists:
- Check the theme name matches exactly (case-sensitive)
- Try the full path:
- Look for the theme in Ghostty bundle:
Colors not applying
Colors not applying
- Verify all palette entries (0–15) are defined
- Check hex format: must be
#RRGGBB(6 digits) - Reload config with ⌘⇧,
- Check for conflicting color definitions in main config
- Try a known working theme (e.g.,
monokai) to isolate the issue
Light/dark switching not working
Light/dark switching not working
- Verify syntax:
theme = dark:theme1,light:theme2 - Check both theme files exist
- Test by changing app theme in Settings (⌘,)
- Try using
theme = systemin a theme file to delegate to main config
Transparency not working
Transparency not working
Background transparency requires:
background-opacityset to less than 1.0- macOS compositing enabled (should be default)
- No background image set in the theme
Resources
- Ghostty theme documentation
- iTerm2 Color Schemes — Many are Ghostty-compatible
- Gogh — Terminal color scheme collection