ワンクリックで
ghostty-config
// Guidance for editing Ghostty terminal configuration files. You must use this skill when creating or modifying Ghostty config files.
// Guidance for editing Ghostty terminal configuration files. You must use this skill when creating or modifying Ghostty config files.
Review recent changes since a fixed point (commit, branch, tag, or merge-base) along three independent axes - Standards, Spec, and Maintainability - run as parallel sub-agents that read beyond the diff, then aggregated into severity-ordered findings with an explicit verdict. Use when the user wants to review a branch, a PR, or recent committed changes.
Extract wisdom, insights, and actionable takeaways from YouTube videos, blog posts, articles, or text files. Use when asked to analyse, summarise, or extract key insights from a given content source. Downloads YouTube transcripts, fetches web articles, reads local files, performs analysis, and saves structured markdown.
Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise.
Create a handoff document for the current conversation, ready for another agent to pick up.
Provides guidance and tools for hardware design. Activate when using KiCAD, looking up electronic parts or designing PCBs.
Find deepening opportunities in a codebase, informed by whatever domain language and architectural decisions are already documented in the repo. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.
| name | ghostty-config |
| description | Guidance for editing Ghostty terminal configuration files. You must use this skill when creating or modifying Ghostty config files. |
| model | inherit |
| metadata | {"config_schema_last_updated":"2026-05-20"} |
Guidance for configuring the Ghostty terminal emulator. Ghostty uses text-based config files with sensible defaults and zero required configuration.
Since Ghostty 1.2.3 the config file is named config.ghostty (the .ghostty extension lets editors apply syntax highlighting). The extensionless config name is still loaded for backwards compatibility.
XDG Path (All Platforms):
$XDG_CONFIG_HOME/ghostty/config.ghostty$XDG_CONFIG_HOME/ghostty/configXDG_CONFIG_HOME defaults to ~/.config if undefinedmacOS Additional Path:
~/Library/Application Support/com.mitchellh.ghostty/config.ghostty~/Library/Application Support/com.mitchellh.ghostty/configLoading order: all matching files are loaded, later files overriding earlier ones. Within a location config.ghostty loads before config. On macOS all macOS-path files load after all XDG-path files, so the macOS path wins on conflicts. Config is optional; with no file Ghostty uses its defaults.
# Comments start with #
background = 282c34
foreground = ffffff
font-family = "JetBrains Mono"
keybind = ctrl+z=close_surface
font-family = # Empty value resets to default
Rules:
= is flexibleghostty --background=282c34Files processed sequentially - later entries override earlier ones.
# Include additional configs
config-file = themes/dark.conf
config-file = ?local.conf # ? prefix = optional (no error if missing)
Critical: config-file directives are processed at the file's end. Keys appearing after config-file won't override the included file's values.
ctrl+shift+,cmd+shift+,Some options cannot be reloaded at runtime. Some apply only to newly created terminals.
Ghostty provides CLI actions via ghostty +<action>. Use ghostty +<action> --help for action-specific help.
| Command | Description |
|---|---|
ghostty +show-config | Show current effective configuration |
ghostty +show-config --default | Show default configuration |
ghostty +show-config --default --docs | Show defaults with documentation |
ghostty +validate-config | Validate configuration file for errors |
ghostty +edit-config | Open config file in default editor |
| Command | Description |
|---|---|
ghostty +list-fonts | List available fonts (fixed-width) |
ghostty +list-themes | List available colour themes |
ghostty +list-keybinds | Show current keybindings |
ghostty +list-keybinds --default | Show default keybindings |
ghostty +list-colors | List available colour names |
ghostty +list-actions | List all available keybinding actions |
| Command | Description |
|---|---|
ghostty +version | Show version information |
ghostty +help | Show help |
ghostty +show-face | Show font face information |
ghostty +ssh-cache | Manage SSH terminfo cache |
ghostty +crash-report | Generate crash report |
ghostty +new-window | Open new window (Linux only) |
ghostty +boo | Easter egg |
Every config key works as a CLI flag:
ghostty --background=282c34 --font-size=14
ghostty -e top # Run command in terminal
macOS Note: The ghostty CLI is a helper tool. To launch the terminal use open -na Ghostty.app or open -na Ghostty.app --args --font-size=14.
Format: keybind = trigger=action
Modifiers: shift, ctrl/control, alt/opt/option, super/cmd/command
keybind = ctrl+a=select_all
keybind = ctrl+shift+t=new_tab
keybind = super+backquote=toggle_quick_terminal
Physical keys (W3C codes): KeyA, key_a, Digit1, BracketLeft
Key sequences (leader keys):
keybind = ctrl+a>n=new_window # Press ctrl+a, release, press n
keybind = ctrl+a>ctrl+n=new_window # Both with ctrl
Sequences wait indefinitely for next key.
Named key tables (Ghostty 1.3+): Switch into a modal set of bindings with activate_key_table:name / activate_key_table_once:name, leave with deactivate_key_table. Use end_key_sequence to flush a partial sequence to the terminal. In-terminal search (search, start_search, navigate_search, end_search) is also available. See references/keybindings.md.
| Prefix | Effect |
|---|---|
global: | System-wide (macOS: needs Accessibility permissions; Linux: needs XDG Desktop Portal) |
all: | Apply to all terminal surfaces |
unconsumed: | Don't consume input (passes through) |
performable: | Only consume if action succeeds |
Combine prefixes: global:unconsumed:ctrl+a=reload_config
Note: Sequences cannot be used with global: or all: prefixes.
keybind = clear - Remove ALL keybindingskeybind = ctrl+a=unbind - Remove specific bindingkeybind = ctrl+a=ignore - Prevent processing by Ghostty and terminalAuto-injection for: bash, zsh, fish, elvish
shell-integration = detect # Default - auto-detect shell
shell-integration = none # Disable auto-injection
shell-integration = fish # Force specific shell
shell-integration-features = cursor,sudo,title
shell-integration-features = no-cursor # Disable specific feature
| Feature | Description |
|---|---|
cursor | Blinking bar at prompt |
sudo | Preserve terminfo with sudo |
title | Set window title from shell |
ssh-env | SSH environment compatibility |
ssh-terminfo | Auto terminfo on remote hosts |
jump_to_prompt keybinding worksBash (add to ~/.bashrc at top):
if [ -n "${GHOSTTY_RESOURCES_DIR}" ]; then
builtin source "${GHOSTTY_RESOURCES_DIR}/shell-integration/bash/ghostty.bash"
fi
Zsh:
source ${GHOSTTY_RESOURCES_DIR}/shell-integration/zsh/ghostty-integration
Fish:
source "$GHOSTTY_RESOURCES_DIR"/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish
macOS Note: /bin/bash does NOT support automatic shell integration. Install Bash via Homebrew or manually source the script.
theme = light:catppuccin-latte,dark:catppuccin-mocha
quick-terminal-position = top
quick-terminal-size = 50%
quick-terminal-autohide = true
keybind = global:super+backquote=toggle_quick_terminal
palette = 0=#1d2021
palette = 1=#cc241d
# ... (0-255 supported)
font-family = "JetBrains Mono"
font-family-bold = "JetBrains Mono Bold"
font-size = 14
font-feature = -calt # Disable ligatures
font-feature = -liga
background-opacity = 0.9
background-blur = true # macOS, KDE Plasma only
macOS Only:
window-position-x/y, window-save-state, window-step-resizewindow-vsync, window-colorspacemacos-titlebar-style, toggle_window_float_on_topfont-thicken, font-thicken-strengthtoggle_visibility, undo, redo, check_for_updatestoggle_secure_input, toggle_background_opacity, reset_window_sizeLinux/GTK Only:
window-title-font-family, window-subtitlewindow-titlebar-background/foreground (requires window-theme = ghostty)window-show-tab-bar, gtk-single-instancetoggle_maximize, toggle_window_decorationstoggle_tab_overview, show_gtk_inspector, show_on_screen_keyboardLinux Wayland Only:
quick-terminal-keyboard-interactivitygtk-quick-terminal-layer, gtk-quick-terminal-namespaceFreeType (Linux) Only:
freetype-load-flagsFor complete option and keybinding references, load:
references/options.md - All config options by category (font, colour, window, etc.)references/keybindings.md - All keybinding actions with parametersLoad these when you need specific option details, valid values, or keybinding action syntax.