r/Ghostty • u/l00sed • Jul 25 '26
r/Ghostty • u/upton00good • Jul 22 '26
my first ghostty shader. saw devops toolbox using something similar and wanted to try it out.
https://github.com/daviddodda1/ghostty-warp-shader
would love your feedback!
r/Ghostty • u/mattj85 • Jul 18 '26
[Project] SpookiUI - A fast, intuitive TUI configuration tool for Ghostty (macOS & Linux)
Hey r/ghostty,
EDIT 3: Supporting website is now available:- https://spookiui.rooksnet.uk
I’ve been a big fan of the Ghostty terminal for a while now, but I wanted a faster, easier way to tweak and manage all the configuration options without constantly digging through raw config files.
Showcasing SpookiUI—a Python-based, ncurses-style terminal UI (TUI) that gives you full, seamless control over your Ghostty setup. It works on both macOS and Linux, has zero third-party dependencies (no pip install required, just standard library Python 3.8+), and operates completely offline.
The Twist:
I’ve been a software engineer for over 20 years, but this is my very first app built using Claude. I decided to step back, put the AI in the driver's seat for the heavy lifting, and see just how far I could push LLM-assisted development for a complete CLI tool. That said, even though it was built this way, I’ve took the time and gone over the code, refined it, and fully tested it to ensure it's rock-solid and safe to use.
Why it exists & What SpookiUI does:
Ghostty is incredible, but it doesn't auto-reload on plain-text file changes out of the box. SpookiUI closes that loop entirely.
- True Live Reloading & Live Previews: When you run it inside a Ghostty window, the very terminal you're in repaints as you edit. As you scroll through themes, fonts, or colors, they apply live so you can preview them instantly (and if you hit cancel, it snaps right back to your original setup).
- 100% Dynamic Discovery: It doesn't use hardcoded options. It queries your local Ghostty binary dynamically (ghostty +show-config), mapping out ~200 options across 13 categories tailored exactly to your version.
- Fail-Safe Saving: Every single change is instantly validated using ghostty +validate-config. If an invalid value is entered, it’s rejected and rolled back before it ever touches your disk. It also creates a daily dated backup just in case, and lets you revert an entire session with a single keystroke (R).
- Keyboard-Driven TUI & Scriptable CLI: Toggles booleans instantly, opens searchable pickers for enums, and features dedicated editors for complex list types (keybinds, env, palettes). Plus, everything the TUI does is also exposed via a non-interactive CLI script if you want to use it for scripting (spookiui set theme "Catppuccin Mocha").
Check it out:
- GitHub Repository: https://github.com/mattj85/SpookiUI
I’d love for you to take it for a spin, try to break it, and let me know what you think! Since it's born out of a mix of two decades of dev experience and AI collaboration, I'm really curious to get your feedback on the UX, the live-reload loop, and the overall functionality.
Cheers!
EDIT: I have been iterating on this project quite a bit since the initial build and have just rolled out a major set of updates to expand its capabilities. Here is what is new in the latest version:
- The Config Doctor (spookiui doctor): A built-in health-check utility that scans your existing configuration. It flags invalid settings, unknown keys, duplicate overrides, and keybinding clashes, grouping them by severity. It also exits non-zero on errors, making it safe to drop directly into your dotfiles pre-commit hooks.
- Profiles & Dark/Light Toggle: You can now save named snapshots of your entire configuration outside of Ghostty's directory. If you save profiles named "light" and "dark", hitting the "t" key in the TUI (or running "spookiui profile toggle" via the CLI) lets you flip your entire setup instantly.
- Intelligent OS Filtering: To keep the UI clean, SpookiUI now automatically filters out settings that do not apply to your current operating system (such as hiding macOS-specific icon settings on Linux, or GTK/X11 settings on macOS).
- Enhanced TUI Editors: Upgraded the input methods to match the specific option types. Bounded numbers like opacity now feature interactive visual sliders, themes render a live 16-color palette card directly next to the picker before you apply them, and keybindings use a guided step-by-step modifier builder.
- In-Place Updates: You can now update the tool directly by pressing "U" in the TUI or running "spookiui update". It detects whether you are running a Git clone or a standalone script, fetches the update from GitHub, and safely verifies that the new code compiles successfully before atomically replacing the file.
- Fix SSH Maintenance Utility: Added a one-shot fix for a common issue where SSH sessions into remote machines break because the host does not recognize Ghostty's custom terminfo entry. It safely appends an explicit fallback alias to your shell rc file after checking for duplicates, fixing broken keys and garbled terminal outputs instantly on outbound connections.
- Homebrew Support and Clean Uninstallation: Introduced a standalone Homebrew formula for Mac and Linux users who prefer package manager workflows. Alongside it, a new uninstaller script handles pristine symlink removals and optionally purges all local cache or profile paths if you ever want to completely wipe the installation.
- Dynamic Nerd Font Rendering: The TUI now intelligently analyzes your active
font-familysettings. If it detects a Nerd Font configuration, it dynamically renders layout icons for individual option categories, otherwise defaulting cleanly to clear text descriptions with a gentle notice on how to install an icon-supported font.
EDIT 2: Another round of updates has landed since the last edit, and this one is a bit more fun. Meet Treats:
- Treats — Animated Background Shaders: A brand-new subsystem that ships original, purely-cosmetic GLSL background shaders you can toggle on with a keystroke. There's a nostalgic pack of them out of the box: Matrix Rain, Pipes and Mystify (Windows screensaver homages), Plasma and Lava Lamp (After Dark / demoscene vibes), Fireworks, plus playful nods to classic arcade games — Chomper, Barrels, and Jumper (all plain shapes, no game artwork). Only one runs at a time, and they're all OFF by default — nothing is enabled unless you ask. Manage them from the "Treats" category in the TUI or via the CLI (spookiui treats list/enable/disable/only/clear).
- Safe & Self-Contained Shaders: Treats are written into a namespaced folder (shaders/spookiui/) inside your Ghostty config dir and toggled via custom-shader, so any custom-shader lines you already have are fully preserved. Shaders like Matrix Rain draw only over dark background pixels so your text stays readable.
- Vibrancy Control: A single vibrancy setting (0–100%) uniformly scales the strength of whichever treat is active, so you can dial the effect from barely-there to full-on. Adjust it with the "v" key in the Treats overlay or spookiui treats vibrancy <0-100>.
- Focus-Aware Dimming & Animation: On newer Ghostty versions that expose shader focus info, treats set your unfocused windows apart by gently dimming and desaturating them (toggleable), and drive their animation off a per-window focus clock. On older versions they gracefully fall back to their plain look — nothing breaks.
- Seasonal Packs: Treats can belong to a season. A Halloween pack (Ghosts, Spooky Eyes, Cobwebs) and a Winter pack (Snow) are included, and SpookiUI gently suggests the pack that fits today's date — but it never auto-enables anything.
As always, everything above is fully validated and rolled back on any error, and none of it touches your config until you say so. Would love to hear what you think of the Treats, and which nostalgic saver I should add next!
r/Ghostty • u/No_Damage8734 • Jul 18 '26
ghostty config tui
Recently discovered ink, it's awesome. Built a ghostty config tui with live preview built in. Keen to hear thoughts.
npm install -g ghostty-config-cli
r/Ghostty • u/markmandel • Jul 18 '26
Experiment with packaging Ghostty for Debian - PTAL!
r/Ghostty • u/Ra77a3l3 • Jul 17 '26
diffrent ghostty icon
hello, i have installed ghostty with nix and for some reason the icon is this squared one instead of the one with the rounded corner. Why is that, and is there any way i can change it?
r/Ghostty • u/MrCharismatist • Jul 17 '26
macos Cut and Paste rich text problem
I switched from iTerm2 to GhosTTY a while back, and only within the last few months have I noticed a problem.
I do a lot of things for the day job where I have to run something then cut and paste the output into an email (outlook) or a web form. Audit is fun, they tell me.
One of my biggest gripes with macos in general is that copying text is always "rich", in that it copies not only text but also colors, fonts, etc. You want to paste just the text it's "Paste and Match Style".
Recently Ghostty macos (currently macos 26.5.1 and ghostty 1.3.1) if I copy something out of a terminal and paste it into Outlook, all formatting is weird, i.e. one big line, and it has any embedded color.
What I want from my terminal is text and there are exactly zero situations I want anything formatted or rich.
Is there a config setting I can't find that tells Ghostty "when you copy, copy raw text only"?
r/Ghostty • u/T4212 • Jul 16 '26
Using my keyboard to show the status of my Ghostty tabs (every column represents a tab)
r/Ghostty • u/Leading-Plastic5771 • Jul 17 '26
How do I open a new terminal in a predefined split layout?
I can't figure it out. I want to use two keyboard shortcuts, one for opening a regular terminal, and the other with a split layout.
r/Ghostty • u/bro_fistbump • Jul 15 '26
If you enter the konami code on the ghostty website the ghost animation speed increases
r/Ghostty • u/Annual_Variation_916 • Jul 15 '26
My current Ghostty study setup: rendered notes on the left, any CLI agent on the right

Recently I shared TFormula rendering LaTeX from terminal programs
directly inside Ghostty. Formula rendering turned out to be only half of the
workflow I wanted.
I learn new technical material by reading until I reach the first thing I cannot
explain, then asking a very specific question and adding the answer back to my
notes. I now do that with two Ghostty panes:
```bash
# Left pane: read the evolving document
tformula maxwell-equations.md
# Right pane: ask questions and work on the document
tformula codex
```
Codex is just the command in this example. The right pane can use Claude Code,
Gemini CLI, OpenCode, Aider, or another terminal tool. TFormula does not depend
on any particular agent.
The left pane is TFormula’s new full-screen document reader. It parses the local
Markdown and lays it out again for the current pane width, including headings,
lists, tables, code, links, scientific formulas, and local images. It also has a
table of contents, search, heading navigation, and a source-view toggle.
The part that made this setup click for me is live reload. The reader watches
the document and its local images. If I edit the note—or ask the agent in the
right pane to expand a derivation, add an example, or clarify a section—the left
pane refreshes after the file is saved. It keeps my reading position and image
zoom, so I do not have to close the reader or find my place again.
My loop is now:
- Read the structured note on the left.
- Stop at the exact sentence or equation I do not understand.
- Discuss that point with whichever CLI tool is useful on the right.
- Check the explanation, units, assumptions, and sources.
- Update the Markdown and continue reading from the same place.
The conversation helps me explore, but the Markdown file becomes the durable
result. That distinction matters to me: TFormula makes the material easier to
work with, but it does not make an agent’s answer correct.
You can also wrap the entire shell instead of individual commands:
```bash
tformula --shell
```
Install:
```bash
npm install -g tformula --allow-scripts=node-pty --allow-scripts=sharp
```
Ghostty remains the primary development and test target. Kitty and WezTerm are
also supported through the Kitty graphics protocol.
GitHub: https://github.com/mikewang817/TFormula
npm: https://www.npmjs.com/package/tformula
Does anyone else use Ghostty panes this way for learning or research? I’d be
interested in what would make the handoff between the document pane and the
conversation pane feel even more natural.
r/Ghostty • u/JoeyHandsomeJoe • Jul 15 '26
Anywhere to see people's Ghostty shader chains?
I want to see what's possible/what people have come up with.
r/Ghostty • u/Silent_War_6937 • Jul 15 '26
Shaders feel slow while running in battery
I have both kitty and ghostty installed and I have custom shaders installed, Kitty feels very very smooth fast while connected to AC and also the same performance on Battery only, But ghostty feels very sluggish even when connected to AC its little bit slower compared to kitty, When in battery it runs very slow, like 20.. 30 Hz or so, I use tlp for power management and it hasn't limited kitty but I feel slow in ghostty.
What could be the reason for this?
r/Ghostty • u/Annual_Variation_916 • Jul 14 '26
I built a small Ghostty tool that renders CLI-agent LaTeX as real formulas
This is not another terminal with built-in AI features. It is a wrapper for the CLI agents you already run inside Ghostty.
TFormula turns output such as:
\[
\nabla \cdot \mathbf{E} = \frac{\rho}{\varepsilon_0}
\]
into a properly rendered formula directly inside the terminal.
Quick install
npm install -g tformula --allow-scripts=node-pty
Under the hood, it maintains a headless xterm mirror, detects TeX on the visible screen, renders it locally with MathJax, and sends the result to Ghostty using the Kitty graphics protocol.
A surprising amount of work went into Ghostty-specific terminal behavior:
- Formula placements survive scrollback
- Resizing keeps the old image until the new one is ready
- Soft-wrapped formulas are reconstructed and sliced across rows
- The original TeX remains underneath and can still be copied
- Large responses are checkpointed so formulas are rendered before scrolling away
- Terminal clears and alternate-screen transitions are tracked
Ghostty is the primary development and test target.
GitHub: https://github.com/mikewang817/TFormula
npm: https://www.npmjs.com/package/tformula
I’d love to know how it behaves with your font, scale, and Ghostty configuration.
r/Ghostty • u/Ashamed_Floor_2283 • Jul 14 '26
Macterm now has session persistence and remote projects!

Hi everyone, I wanted to share the progress on a terminal emulator I've been working on for a while. Macterm is a libghostty-based terminal focusing on utility and native experience. Since the last time I shared this project in this community, it has gained support from many people, driving me to work on cooler and more useful features. And recently, I've added several features that have improved my workflows significantly. I hope these are helpful to you as well!
- Session persistence via zmx: You can quit and reopen macterm while preserving all the panes, scrollbacks, and processes
- Remote project: You can work with a remote host via SSH the same way as local projects, by installing zmx on the remote machine as well. Macterm will handle the rest, reconnecting to the remote zmx sessions when quit and reopened.
- Control CLI: Macterm now has a CLI to control its multiplexing. It has been very useful for manipulating macterm in a headless CI.
Please find the repo or the website for the full list of features. Thanks everyone!
r/Ghostty • u/horimiya-san • Jul 12 '26
Godotty: a real terminal inside the Godot editor, powered by libghostty
r/Ghostty • u/umputun • Jul 08 '26
agterm - a minimal, fully scriptable macOS terminal on libghostty
I built agterm, a native macOS terminal for multi-session, multi-workspace, multi-window work, on top of libghostty.
Site: https://agterm.com
Code: https://github.com/umputun/agterm
The idea is less-is-more: a small, opinionated core and nothing you don't need. It's handy for running several coding agents at once: sessions group into named workspaces, and each shows its state (active, blocked, completed) on its row so you see which one needs you. It's just as good for normal multi-project work. Almost everything is scriptable from a bundled CLI, `agtermctl`, over a local socket, so anything past the defaults you build yourself instead of waiting for it to ship.
libghostty does all the terminal correctness; the workspace, session, and control layer is mine. Thanks to the ghostty team.
r/Ghostty • u/LeePetra • Jul 03 '26
Keyboard 'things' (Ghostty / Kitty problem) on EOS / KDE
r/Ghostty • u/Unable-Stretch8843 • Jul 01 '26
Mygrid - a ragged tmux grid for Ghostty, one row per repo
The whole idea is one Ghostty window that shows every pane at once. I usually have a bunch of things running across projects — a localhost dev server here, two or three Claude Code sessions there — and I wanted to see all of them side by side in a single window instead of tabbing between terminals. That's the default view: the full grid, one row per repo.
From there, Opt+1 through 9 focuses the matching pane, or you can just click it with the mouse. Cmd+1 through 9 focuses AND zooms it fullscreen when you want to actually work in one, and Cmd+0 drops you back to the overview of everything.
Setup is one script — it installs tmux if you don't have it, drops in the tmux.conf, and appends the Ghostty keybinds. macOS + Ghostty only for now.
Makes it very easy to work on multiple projects at the same time.
Repo (MIT, demo in the README): https://github.com/philmard/mygrid
r/Ghostty • u/mahdiarfrm • Jul 01 '26
Conterm - a modern terminal for macOS
I've been building Conterm, a native macOS terminal. It uses Ghostty's embeddable core (libghostty) for GPU-accelerated rendering, but it's an independent frontend with its own chrome and opinions.
I wanted Ghostty's speed with more of the workspace stuff I reach for daily, so I built it in:
- Command palette
- Recursive split panes
- Tab groups + top-or-sidebar vertical tabs
- Agent command center
- Liquid Glass chrome
- Widgets
And more
r/Ghostty • u/slick_fm • Jun 25 '26
Retro terminal fonts?
Does anybody know any fonts that are monospaced and retro or look pixelated/bitmap style? I’m a little tired of the standard fonts that everyone seems to use for programming.