MCPInstall

ghostty-config

Use when creating, editing or debugging Ghostty terminal configuration - config.ghostty files, config option names and their valid values, keybinds and key sequences, themes, fonts, shell integration, or ghostty + CLI actions. Covers macOS and Linux/GTK differences.

Installs
221
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/sammcj/agentic-coding --skill ghostty-config
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads ghostty-config automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

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_HOME defaults 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

config-file = themes/dark.conf
config-file = ?local.conf       # ? prefix = optional, no error if missing

config-file directives are processed at the end of the containing file, so keys written after one still lose to the included file's values. Put overrides in the included file, or include first and keep the parent free of conflicting keys.

Applying Changes

  • Reload: ctrl+shift+, (Linux), cmd+shift+, (macOS). Some options need a restart; some apply only to newly created terminals.
  • Validate after every edit: ghostty +validate-config.

CLI Actions

ghostty +<action>; add --help for per-action help.

CommandPurpose
ghostty +validate-configCheck the config for errors
ghostty +show-configShow the effective configuration
ghostty +show-config --default --docsShow defaults with documentation
ghostty +edit-configOpen the config in the default editor
ghostty +list-fontsAvailable fixed-width fonts
ghostty +list-themesAvailable colour themes
ghostty +list-colorsAvailable X11 colour names
ghostty +list-keybindsCurrent keybinds (--default for defaults)
ghostty +list-actionsAll keybind actions
ghostty +show-faceFont face information
ghostty +ssh-cacheManage the SSH terminfo cache
ghostty +new-windowOpen a new window (Linux only)

On macOS the ghostty binary is a helper tool: launch the terminal with open -na Ghostty.app, passing flags as open -na Ghostty.app --args --font-size=14. Use ghostty -e <command> to run a command in a new terminal.

Keybind Syntax

Format: keybind = [prefix:]trigger=action[:param]

Modifiers: shift, ctrl/control, alt/opt/option, super/cmd/command.

keybind = ctrl+shift+t=new_tab
keybind = super+backquote=toggle_quick_terminal
keybind = ctrl+a>n=new_window          # Sequence: press ctrl+a, release, press n
keybind = clear                        # Remove ALL keybinds, including defaults
keybind = ctrl+a=unbind                # Remove one binding
keybind = ctrl+a=ignore                # Ghostty and the terminal both ignore the key
  • Physical keys use W3C codes (KeyA, key_a, Digit1, BracketLeft) and outrank unicode codepoints. Prefer them for non-US layouts.
  • Sequences wait indefinitely for the next key.
PrefixEffect
global:System-wide (macOS: needs Accessibility permission; Linux: needs an XDG Desktop Portal)
all:Applies to all terminal surfaces
unconsumed:Passes the input through as well
performable:Consumes the input only if the action succeeds

Prefixes combine: global:unconsumed:ctrl+a=reload_config. Sequences work with unconsumed:/performable: but not with global: or all:.

Ghostty 1.3+ adds modal key tables and in-terminal search actions - see references/keybindings.md.

Gotchas

  • Confirm an option's platform before recommending it: the reference tables carry platform markers, and an option gated to another platform silently does nothing.
  • theme accepts mode switching: theme = light:catppuccin-latte,dark:catppuccin-mocha.
  • Disable ligatures with font-feature = -calt plus font-feature = -liga.
  • Prefer a theme name from ghostty +list-themes over hand-written colours when the user asks for a known theme.

References

Load one when the task needs it - each is a lookup catalogue, not background reading:

  • Naming or checking an option for fonts, colours and themes, cursor appearance, selection or search-match colours, transparency, background images, shaders, cell metrics, scrollbar, window geometry/padding/decoration/startup state, tabs, splits or the quick terminal -> references/options-appearance.md
  • Naming or checking an option for shell and command startup, shell integration, clipboard, scrollback, mouse (including cursor click-to-move), modifier remapping via key-remap, bell, notifications, links, app lifecycle, or the macos-*, gtk-*, adw-* and linux-* prefixed families -> references/options-behaviour.md
  • Naming a keybind action, its :param form, key tables or search actions -> references/keybindings.md

Platform-gated options sit with their domain, not in a platform bucket: font-thicken (macOS) and window-vsync (macOS) are in the appearance file. Only the prefixed families above live in the platform sections.

The current schema (including tip releases) is at https://raw.githubusercontent.com/sammcj/vscode-ghostty-config-syntax/refs/heads/main/schema/ghostty-config-syntax.schema.json - large, so query it programmatically rather than reading it whole.

FAQ

What does the ghostty-config skill do?

Use when creating, editing or debugging Ghostty terminal configuration - config.ghostty files, config option names and their valid values, keybinds and key sequences, themes, fonts, shell integration, or ghostty + CLI actions. Covers macOS and Linux/GTK differences.

How do I install ghostty-config?

Run npx skills add https://github.com/sammcj/agentic-coding --skill ghostty-config in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/ghostty-config/ (personal) or .claude/skills/ghostty-config/ (project).

Which AI agents can use ghostty-config?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is ghostty-config safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains ghostty-config?

It is published by sammcj in sammcj/agentic-coding. It has 221 recorded installs.

More from sammcj/agentic-coding

View all →

Critically analyse the reasoning in written content (articles, blogs, transcripts, reports), not code. Use only when explicitly asked to critically analyse or critique an argument.

AI & Agents2.4K installs

Applies the Diataxis framework to create or improve technical documentation. Use when being asked to write high quality tutorials, how-to guides, reference docs, or explanations, when reviewing documentation quality, or when deciding what type of documentation to create. Helps identify documentation types using the action/cognition and acquisition/application dimensions.

Docs & Writing615 installs

creating-development-plans

sammcj/agentic-coding

Creates structured development plans with phased task breakdowns, requirements, and QA checklists. Use when the user explicitly asks to create a dev plan, development plan, or document development requirements.

code-simplification

sammcj/agentic-coding

Use this skill when you need to review and refactor code to make it simpler, more maintainable, and easier to understand. Helps with identifying overly complex solutions, unnecessary abstractions.

prompt-enhancer

sammcj/agentic-coding

Open the skill to read its SKILL.md instructions.

AI & Agents184 installs

extract-wisdom

sammcj/agentic-coding

Extract wisdom, insights, and actionable takeaways from YouTube videos, blog posts, articles, or text files. Use when asked to extract wisdom or key insights from a given content source.

AI & Agents162 installs

Popular ai & agents skills

View category →

google-agents-cli-publish

google/agents-cli

This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).

AI & Agents513.9K installs

google-agents-cli-eval

google/agents-cli

This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).

AI & Agents513.5K installs

skill-creator

anthropics/skills

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

OfficialAI & Agents416.4K installs

codex-pet

prime-skills/runcomfy-agent-skills

Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.

AI & Agents402.1K installs

full-output-enforcement

leonxlnx/taste-skill

Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.

AI & Agents401K installs

executing-plans

obra/superpowers

Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available

AI & Agents245.7K installs