~/.config/ghostty/config for themes, fonts, and colors. Terminal rendering is powered by libghostty.
Configuration file locations
cmux searches for Ghostty configuration files in the following order (matching Ghostty’s macOS defaults):~/.config/ghostty/config~/.config/ghostty/config.ghostty~/Library/Application Support/com.mitchellh.ghostty/config~/Library/Application Support/com.mitchellh.ghostty/config.ghostty
cmux loads configuration at startup and when you reload via ⌘⇧, (Cmd+Shift+Comma) or cmux → Reload Configuration.
Supported configuration options
cmux implements a subset of Ghostty’s configuration parser focused on visual appearance:Fonts
- font-family — Font name (default:
Menlo) - font-size — Point size (default:
12)
Theme
- theme — Theme name or conditional theme selection
Colors
You can override individual colors directly in the config:#RRGGBB
Transparency
- background-opacity — 0.0 (fully transparent) to 1.0 (opaque)
- Default:
1.0
Split pane appearance
- unfocused-split-opacity — Opacity of unfocused panes (0.15–1.0, default: 0.7)
- unfocused-split-fill — Overlay color for unfocused panes (default: background color)
- split-divider-color — Color of dividers between panes (auto-computed if not set)
Scrollback
- scrollback-limit — Number of lines to keep in scrollback (default: 10000)
Working directory
- working-directory — Default directory for new terminal sessions
Configuration reloading
Reload your configuration without restarting:- ⌘⇧, (Cmd+Shift+Comma)
- Menu: cmux → Reload Configuration
Theme changes apply immediately. Font changes may require creating a new surface or workspace to take full effect.
Example configuration
Here’s a complete example combining common settings:~/.config/ghostty/config
Environment variables
cmux sets the following Ghostty-compatible environment variables:TERM=xterm-ghosttyTERM_PROGRAM=ghosttyGHOSTTY_RESOURCES_DIR— Path to Ghostty resources (themes, terminfo, etc.)
Relationship to Ghostty
cmux uses libghostty for terminal rendering but is a separate application. Key differences:- cmux adds vertical tabs, notifications, and workspace management
- cmux uses its own bundle ID (
com.cmuxterm.app) and socket path (/tmp/cmux.sock) - Not all Ghostty config options are supported (see list above)
- cmux-specific features are configured via in-app settings (⌘,)
You can run cmux and Ghostty side-by-side. They share the same config files but operate independently.
Troubleshooting
Theme not loading
Theme not loading
- Check that your theme file exists in
~/.config/ghostty/themes/or the Ghostty bundle - Verify the theme name matches exactly (case-sensitive)
- Try reloading configuration with ⌘⇧,
- Check the theme syntax — see Themes
Font not applying
Font not applying
- Verify the font is installed on your system
- Use the exact font family name (check Font Book.app)
- Reload configuration with ⌘⇧,
- Create a new workspace to see font changes
Colors look wrong
Colors look wrong
- Check for conflicting color definitions in your config
- Verify hex colors are in
#RRGGBBformat - If using a theme, individual color overrides take precedence
- Try commenting out custom colors to test theme defaults
Configuration not reloading
Configuration not reloading
- Verify file path:
~/.config/ghostty/configexpands correctly - Check file permissions (should be readable)
- Look for syntax errors (invalid keys are silently ignored)
- Try restarting cmux as a last resort