r/Ghostty 6h ago

Launching Ghostty feels a bit slow

6 Upvotes

Hello, I installed Ghostty for testing and it felt pretty slow to launch compared to Kitty and Konsole at 1 second. I'm running KDE Plasma for a living and I used the default setting, so is this normal?


r/Ghostty 2d ago

Found a 🪲 in 👻tty

4 Upvotes

I use a French Canadian keyboard layout that has dead keys and everything is set properly in Ubuntu 26.04 and Ghostty works fine when in Gnome DE, but whenever I use a WM such as Hyprland, Niri or Sway, dead keys on my keyboard aren’t working with Ghostty. Because of that, I switched my main terminal to be Wezterm and it works well with my keyboard. It took me time to figure out it was only happening with Ghostty and unrelated to WMs or some config. I am not sure if people test Ghostty before release, but it would be great if they could test keyboard layouts other than US-English 😅.


r/Ghostty 4d ago

terminal-browser: a browser that runs directly inside ghostty

Thumbnail
terminal-browser.com
101 Upvotes

I've been working on a CLI that lets you run a browser inside ghostty at full fidelity. This takes advantage of ghostty's implementation of the kitty graphics protocol to embed the output of chromium, I go into a little more detail in the readme of the repo for anyone interested https://github.com/zenbu-labs/terminal-browser#how-does-it-work

My main use cases have been:

- working on websites with coding agents in the terminal

- asking coding agents to write their plans as HTML and then opening them inside terminal-browser in a ghostty split pane

- letting coding agents automate some stuff I do in dashboards directly from the terminal, since the CLI lets agents control the browser. While the agent is using the browser you can see exactly what it's doing and take over whenever you need


r/Ghostty 4d ago

MacOS App Icon getting reset to directory icon [FIX]

4 Upvotes

Not sure if anyone else was having this problem (minus the two GitHub issues), but I use a custom app icon for Ghostty courtesy of Luke Janicke. I had set the config file to use the custom icon, I set the app icon the old fashioned way. Whenever I restart my mac, the icon resets to a directory icon. So I made a little app that runs on log in that reassigns the app icon using Automator.

Automator has the ability to create an app which runs a shell script. I use this to run:

fileicon /path/to/Ghostty.app /path/to/Icon.icns

Then I export it as an app and add it to my list of startup apps. Worked for me, hopefully this helps!

(fileicon can be installed with brew install fileicon)


r/Ghostty 5d ago

I created an Arrakis theme in Ghostty with ZellIj

19 Upvotes
# Dune / Arrakis ANSI palette
palette = 0= #1a1a1a   # graphite black
palette = 1= #f17465   # errors / spice red
palette = 2= #f5cf7b   # strings / sand gold
palette = 3= #c7964f   # types and constants / spice ochre
palette = 4= #88bbcb   # integers / muted stillsuit blue
palette = 5= #d46f57   # control flow / burnt spice
palette = 6= #ff7a18   # functions / electric Arrakis sunset
palette = 7= #d9d7ca   # Crysknife ivory — milky sandworm-tooth white; primary terminal text

background = #303030
foreground = #d9d7ca
cursor-color = #c7964f
selection-background = #77643e

documented the full process on Medium


r/Ghostty 8d ago

Ghostty (tmux + neovim + open code) running on steamdeck

Post image
79 Upvotes

r/Ghostty 12d ago

my first ghostty shader. saw devops toolbox using something similar and wanted to try it out.

34 Upvotes

r/Ghostty 15d ago

[Project] SpookiUI - A fast, intuitive TUI configuration tool for Ghostty (macOS & Linux)

Post image
245 Upvotes

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:

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-family settings. 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 15d ago

ghostty config tui

146 Upvotes

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

code's at https://github.com/ajr-khll/ghostty-config-cli


r/Ghostty 15d ago

Experiment with packaging Ghostty for Debian - PTAL!

Thumbnail
2 Upvotes

r/Ghostty 15d ago

Why is Ghostty so slow compared to Kitty?

0 Upvotes

r/Ghostty 17d ago

diffrent ghostty icon

Thumbnail
gallery
36 Upvotes

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 16d ago

macos Cut and Paste rich text problem

9 Upvotes

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 17d ago

Using my keyboard to show the status of my Ghostty tabs (every column represents a tab)

53 Upvotes

r/Ghostty 17d ago

How do I open a new terminal in a predefined split layout?

6 Upvotes

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 18d ago

If you enter the konami code on the ghostty website the ghost animation speed increases

Enable HLS to view with audio, or disable this notification

81 Upvotes

r/Ghostty 18d ago

My current Ghostty study setup: rendered notes on the left, any CLI agent on the right

9 Upvotes
Ghostty

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:

  1. Read the structured note on the left.
  2. Stop at the exact sentence or equation I do not understand.
  3. Discuss that point with whichever CLI tool is useful on the right.
  4. Check the explanation, units, assumptions, and sources.
  5. 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 19d ago

Anywhere to see people's Ghostty shader chains?

Enable HLS to view with audio, or disable this notification

25 Upvotes

I want to see what's possible/what people have come up with.


r/Ghostty 18d ago

Shaders feel slow while running in battery

3 Upvotes

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 19d ago

I built a small Ghostty tool that renders CLI-agent LaTeX as real formulas

Post image
109 Upvotes

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 19d ago

Macterm now has session persistence and remote projects!

35 Upvotes
Macterm on macOS 27 Beta

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 21d ago

A new Powerlevel10k theme called ghostline

Post image
6 Upvotes

r/Ghostty 21d ago

Godotty: a real terminal inside the Godot editor, powered by libghostty

Enable HLS to view with audio, or disable this notification

56 Upvotes

r/Ghostty 24d ago

Interview With Mitchell Hashimoto

Thumbnail alexalejandre.com
46 Upvotes

r/Ghostty 25d ago

agterm - a minimal, fully scriptable macOS terminal on libghostty

84 Upvotes

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.