Operating Ghostty
Treat the installed binary and its help output as the source of truth because Ghostty behavior varies by version, build, and platform.
Establish Context
- Run
command -v ghostty, ghostty +version, and ghostty --help before relying on remembered syntax.
- Run
ghostty +<cli-action> --help before using a helper action whose flags or effects are uncertain.
- Use
ghostty +help to list CLI helper actions.
- Use
ghostty +list-actions --docs to list documented keybind and command-palette actions.
- Use
ghostty +list-keybinds --plain for active keybinds and add --default when inspecting built-in bindings.
Do not confuse the two action systems.
CLI helper actions have names such as +show-config and are invoked as commands.
Names from +list-actions, such as new_tab, reload_config, and toggle_fullscreen, are configuration actions and cannot generally be invoked as ghostty +<name>.
Keep Commands Non-Interactive
- Add
--plain to +list-themes, +list-keybinds, and other listing commands when available.
- Do not run
ghostty +edit-config because it opens an interactive editor.
- Do not launch an interactive child command with
ghostty -e from an agent shell.
- Do not invoke crash, quit, close, reset, clear, or other disruptive behavior unless the user explicitly requested that exact effect.
- Treat unsupported-action errors as platform or build evidence instead of retrying with guessed syntax.
Inspect and Troubleshoot
- Use
ghostty +show-config --changes-only to inspect effective non-default settings.
- Use
ghostty +show-config --default --docs only when full option documentation is needed because its output is large.
- Use
ghostty +list-fonts --family='<family>' to diagnose font discovery.
- Use
ghostty +show-face --string='<text>' or --cp=<codepoint> to identify the selected font face.
- Use
ghostty +list-themes --plain with --color=dark, --color=light, or --color=all to discover theme names without opening the preview TUI.
- Use
ghostty +list-colors --plain for named colors.
Report the Ghostty version, platform-relevant limitation, command evidence, and the smallest next action that resolves the request.
Change Configuration
- Inspect
ghostty +edit-config --help and existing platform-specific config paths without launching the editor.
- Prefer the existing non-empty config selected by Ghostty, and do not create competing config files in multiple locations.
- Read the current file and
ghostty +show-config --changes-only before editing it.
- For a keybind, confirm the action and argument with
ghostty +list-actions --docs, then inspect current and default bindings for trigger conflicts.
- Add the smallest requested setting in Ghostty configuration syntax, such as
keybind = super+t=new_tab.
- Run
ghostty +validate-config --config-file='<path>' after editing.
- Re-read the changed lines and relevant
+show-config or +list-keybinds --plain output.
- Explain that reloading is an in-app keybind or menu action rather than inventing a
ghostty +reload_config command.
Preserve comments and unrelated settings.
Do not overwrite an existing keybind unless the user requested that conflict resolution.
Check action documentation for platform restrictions before adding a binding.
Launch Ghostty
On macOS, direct CLI launching is unsupported, so use open -na Ghostty.app and pass configuration arguments only with open -na Ghostty.app --args ....
On supported non-macOS builds, use the launch syntax shown by the installed ghostty --help.
Do not claim that a window opened successfully without observable process, window, or command evidence.
1---2name: operate-ghostty3description: Inspect, launch, configure, validate, and troubleshoot an installed Ghostty terminal, including helper CLI actions, keybind actions, themes, fonts, configuration files, and platform-specific behavior.4---5
6# Operating Ghostty
7
8Treat the installed binary and its help output as the source of truth because Ghostty behavior varies by version, build, and platform.
9
10## Establish Context
11
121. Run `command -v ghostty`, `ghostty +version`, and `ghostty --help` before relying on remembered syntax.
132. Run `ghostty +<cli-action> --help` before using a helper action whose flags or effects are uncertain.
143. Use `ghostty +help` to list CLI helper actions.
154. Use `ghostty +list-actions --docs` to list documented keybind and command-palette actions.
165. Use `ghostty +list-keybinds --plain` for active keybinds and add `--default` when inspecting built-in bindings.
17
18Do not confuse the two action systems.
19CLI helper actions have names such as `+show-config` and are invoked as commands.
20Names from `+list-actions`, such as `new_tab`, `reload_config`, and `toggle_fullscreen`, are configuration actions and cannot generally be invoked as `ghostty +<name>`.
21
22## Keep Commands Non-Interactive
23
24- Add `--plain` to `+list-themes`, `+list-keybinds`, and other listing commands when available.
25- Do not run `ghostty +edit-config` because it opens an interactive editor.
26- Do not launch an interactive child command with `ghostty -e` from an agent shell.
27- Do not invoke crash, quit, close, reset, clear, or other disruptive behavior unless the user explicitly requested that exact effect.
28- Treat unsupported-action errors as platform or build evidence instead of retrying with guessed syntax.
29
30## Inspect and Troubleshoot
31
32- Use `ghostty +show-config --changes-only` to inspect effective non-default settings.
33- Use `ghostty +show-config --default --docs` only when full option documentation is needed because its output is large.
34- Use `ghostty +list-fonts --family='<family>'` to diagnose font discovery.
35- Use `ghostty +show-face --string='<text>'` or `--cp=<codepoint>` to identify the selected font face.
36- Use `ghostty +list-themes --plain` with `--color=dark`, `--color=light`, or `--color=all` to discover theme names without opening the preview TUI.
37- Use `ghostty +list-colors --plain` for named colors.
38
39Report the Ghostty version, platform-relevant limitation, command evidence, and the smallest next action that resolves the request.
40
41## Change Configuration
42
431. Inspect `ghostty +edit-config --help` and existing platform-specific config paths without launching the editor.
442. Prefer the existing non-empty config selected by Ghostty, and do not create competing config files in multiple locations.
453. Read the current file and `ghostty +show-config --changes-only` before editing it.
464. For a keybind, confirm the action and argument with `ghostty +list-actions --docs`, then inspect current and default bindings for trigger conflicts.
475. Add the smallest requested setting in Ghostty configuration syntax, such as `keybind = super+t=new_tab`.
486. Run `ghostty +validate-config --config-file='<path>'` after editing.
497. Re-read the changed lines and relevant `+show-config` or `+list-keybinds --plain` output.
508. Explain that reloading is an in-app keybind or menu action rather than inventing a `ghostty +reload_config` command.
51
52Preserve comments and unrelated settings.
53Do not overwrite an existing keybind unless the user requested that conflict resolution.
54Check action documentation for platform restrictions before adding a binding.
55
56## Launch Ghostty
57
58On macOS, direct CLI launching is unsupported, so use `open -na Ghostty.app` and pass configuration arguments only with `open -na Ghostty.app --args ...`.
59On supported non-macOS builds, use the launch syntax shown by the installed `ghostty --help`.
60Do not claim that a window opened successfully without observable process, window, or command evidence.