After using Terminal.app for over a decade, I recently made the switch to Ghostty, a terminal emulator, and I love it.
For a few years, I used iTerm2 and dropped it to switch back to Terminal.app as I never liked how sluggish it felt. Now, I feel the same about Terminal. Terminal feels sluggish compared to Ghostty. This thing is blazin’ fast. It uses GPU to render and IT SHOWS!
Ghostty is a new side project from Mitchell Hashimoto, the guy behind a ton of high quality software and a company named after him, HashiCorp. If you use the Infrastructure-as-Code method, you’ve probably used their tools or at the very least heard of them. I’ve been following this project since he announced it on Twitter in 2023. He’s apparently been working on it since 2021. The moment he announced that it was available for public use, I jumped on it and started using it. After a little over a week of using it, I can say that I love it. I’m very impressed and truly inspired. This is a very well done.
It took me two days to switch from Terminal.app to Ghostty on my work computer. I vetted it for two days on my personal Mac and I loved it. I played around with a few configurations and it’s been exciting.
Configuration
Out of the box, you barely need any configuration changes. Maybe the theme. You can preview them using the following command –
Ghostty’s configuration is stored in a separate config file. I love the fact that I can finally have my terminal configuration stored in my dotfiles repo. The Ghostty docs aren’t the greatest, given how new some of the syntax is, but it’s thorough. You can either check the docs online or the CLI using the following –
Keyboard bindings
If you’ve used something like iTerm before, you probably know how panels can be resized using the keyboard shortcuts. Ghostty has the feature too.
Configuring the key bindings is pretty straightforward. You can put them in the same config file.
Quick Terminal
Ghostty, like iTerm, has the Quick Terminal feature where you can bind a global shortcut to quickly dropdown a terminal window for you to work off of and once you’re done, send it away.
Custom Shaders
Ghostty supports custom shaders and it actually performs well with them. I’ve seen some crazy ones out there with water, fire, confetti, fireworks, etc. I will NEVER use any of these besides the default one. I just like to keep it minimalistic. That’s how I’ve had my Terminal.app configured too.
Search
One of the key features that Ghostty lacks is Search. For now, you’d have to rely on a terminal multiplexer like tmux and search through the buffers. However, this is something that’s being worked on and should drop in one of the later releases.
Performance
In terms of performance, it is faster than Terminal.app. It feels snappy and my god, tailing logs and printing text from query logs is mind blowingly fast.
I haven’t yet tried vim/neovim on Ghostty. I will give it a try later.
I’ve also been playing around with the font features offered by Ghostty. I’ve configured it to pretty much mimic my VS Code setup.
You can actually look at the Ghostty console, like the one you have in a browser. You use the `CMD + SHIFT + I` keyboard shortcut to open it and it looks something like this –
My recommendation
Ghostty seems quite stable. It’s not as feature rich as iTerm, but it’s a great replacement. iTerm has some crazy features like the time travel, password manager, etc, which I’ll never use. It just feels out-of-place having those features baked into a terminal (emulator).
From my 10 days of experience, I highly recommend Ghostty as a terminal replacement. In the recent times, I haven’t been as excited using a piece of software as I’ve been using Ghostty. Check it out!

