
Ghostty Config
This handles Ghostty terminal config file editing with full knowledge of syntax, locations, and keybinding format. It knows about the config.ghostty vs config filename change in 1.2.3, XDG and macOS paths, and the critical gotcha that config-file includes process at file end so later keys won't override included values. The keybinding syntax is well documented, including physical keys, sequences, prefixes like global and unconsumed, and the named key tables added in 1.3. Shell integration coverage is thorough. Use this when you need to set up or modify Ghostty configs and want to avoid the manual's quirks around loading order and keybind format.
- skills.sh installs
- 228
- GitHub stars
- 169
- last updated
- Aug 21, 2026
Install
$ npx -y skills add sammcj/agentic-coding --skill ghostty-config --agent claude-codeInstalls into .claude/skills of the current project.
Files
Ghostty Configuration
Config File Locations
Config is optional; with no file Ghostty runs on its defaults. Since Ghostty 1.2.3 the file is named config.ghostty; extensionless config still loads for backwards compatibility.
- XDG (all platforms):
$XDG_CONFIG_HOME/ghostty/config.ghostty, then$XDG_CONFIG_HOME/ghostty/config.XDG_CONFIG_HOMEdefaults to~/.config. - macOS also:
~/Library/Application Support/com.mitchellh.ghostty/config.ghostty, then.../config.
Every matching file loads, later files overriding earlier ones. Within a location config.ghostty loads before config. On macOS the macOS-path files load after the XDG ones, so macOS paths win on conflict.
Syntax
# Comments start with #
background = 282c34
font-family = "JetBrains Mono"
keybind = ctrl+z=close_surface
font-family = # Empty value resets to default
- Keys are case-sensitive: use lowercase.
- Repeatable keys (
font-family,keybind,palette,env,link) accumulate across lines. - Every config key doubles as a CLI flag:
ghostty --background=282c34 --font-size=14.
Includes
Sponsors
Details
- Repository
- github.com/sammcj/agentic-coding
- Categories
- AI & Agent Building, CLI & Terminal
- First seen
- Jun 3, 2026