Skip to main content
The show-config command outputs the current Ghostty configuration in a valid configuration file format.

Usage

ghostty +show-config [options]

Description

This command displays the effective configuration that Ghostty is using. By default, it only shows options that differ from the default values. The output is valid Ghostty configuration syntax that can be copied directly into a config file. The output format may not exactly match your input configuration files (comments, whitespace, and formatting are not preserved), but it will result in the same behavior.

Options

--default
boolean
Show the default configuration instead of loading the user configuration. Useful for seeing what Ghostty’s built-in defaults are.
--changes-only
boolean
default:"true"
Only show options that have been changed from the default values. This has no effect when --default is specified.Set to false to show all configuration options regardless of whether they’ve been changed.
--docs
boolean
Print documentation above each option as a comment. This makes the output very verbose but is extremely useful for learning about available options, especially when combined with --default.
-h, --help
flag
Display help information for this command.

Examples

Show Your Current Changes

ghostty +show-config
theme = nord
font-family = "JetBrains Mono"
font-size = 14
window-padding-x = 4
window-padding-y = 4
keybind = super+t=new_tab
keybind = super+w=close_surface
Shows only the configuration options you’ve changed from defaults.

Show All Default Options

ghostty +show-config --default --changes-only=false
theme = default
font-family = monospace
font-size = 12
font-thicken = false
window-padding-x = 2
window-padding-y = 2
window-decoration = true
cursor-style = block
cursor-style-blink = false
mouse-hide-while-typing = false
shell-integration = detect
auto-update = off
...(hundreds more options)

Show Config with Documentation

ghostty +show-config --default --docs
# The theme to use for the terminal. Themes define the color palette
# and other visual properties. You can list available themes with
# the list-themes command.
theme = default

# The font family to use for the terminal. This should be a monospace
# font. You can specify multiple fallback fonts by using the font-family
# option multiple times.
font-family = monospace

# The font size in points. This is the base font size that will be
# used for the terminal.
font-size = 12

# If true, the font will be artificially thickened. This can help
# improve readability on some displays.
font-thicken = false
...
Perfect for learning about all available configuration options.

Backup Your Configuration

ghostty +show-config > backup-config.txt
Save your current configuration to a file.

Compare with Defaults

diff <(ghostty +show-config --default --changes-only=false) <(ghostty +show-config --changes-only=false)
See exactly what’s different between your config and defaults.

Export for Sharing

ghostty +show-config > my-ghostty-config.txt
Export your configuration to share with others (be sure to review for sensitive information first).

Output Format

The output follows standard Ghostty configuration syntax:
Format
# Comments (only with --docs)
option-name = value

# Repeatable options appear multiple times
font-family = "First Font"
font-family = "Fallback Font"

keybind = ctrl+c=copy_to_clipboard
keybind = ctrl+v=paste_from_clipboard

Use Cases

For New Users

Explore all available options and their defaults:
ghostty +show-config --default --docs | less

For Configuration Management

Generate a clean configuration file:
ghostty +show-config > ~/.config/ghostty/config

For Debugging

Verify what Ghostty is actually loading:
ghostty +show-config
If an option doesn’t appear, it’s using the default value.

For Documentation

Generate configuration with inline documentation:
ghostty +show-config --default --docs > ghostty-config-reference.txt

Notes

The output order is consistent between runs but doesn’t necessarily match the order in your input files. Options are grouped logically by the configuration system.
When using --changes-only=false without --default, you’ll see your customized values merged with all default values.
Conditional configurations and platform-specific settings are evaluated before output, so you’ll see the effective configuration for your current platform.

See Also