How Mitchell Hashimoto Builds Ghostty artwork

How Mitchell Hashimoto Builds Ghostty

Software Unscripted

February 17, 2026

Ghostty creator and Hashicorp cofounder Mitchell Hashimoto talks with Richard about the development of that high-performance terminal emulator: how he's been building Ghostty, how he does native GUI development while sharing code across platforms, how LLMs have affected both the project and his...
**SPEAKER_1** (0:00)
What we're getting today, and I feel so bad for, I think, a certain generation that what we're getting today is just a lot of least competent denominator software that is cross-platform, so it could only support like, you know, what everybody supports. But, you know, every ecosystem, whether it's Linux or Windows or Mac, every ecosystem has stuff that they support that only works on their platform. And you could only do that if you're unapologetically gonna say, I'm a Mac app, and if you want another platform, you're out of luck. The GUI widget is fully native on both platforms, but the underlying data structure, the tree that actually represents this stuff, is a cross-platform ZIG-based thing. Even though both of them started out as, we did splits natively in Swift, and we did splits natively in GTK, we backed into this cross-platform thing because we started implementing things like, you know, moving splits around, rotating them, equalizing them, and it was super easy to get bugs in terms of the behavior of both of them.
So we equalize that, and then we do a translation layer back into the native layer above that.

**SPEAKER_2** (1:04)
Welcome to Software Unscripted. I'm your host, Richard Feldman. Today, I'm talking once again with Mitchell Hashimoto, co-founder of Hashicorp and creator of the Ghosty Terminal Emulator. We talk about the benefits and costs of native GUI development, open-source contribution AI use policies, and lots more, including thoughts on how to avoid excessively loving or hating your programming hammers. I want to give a huge thank you to everyone who's been supporting Software Unscripted on Patreon. If you'd like to become a supporter too, check out patreon.com/softwareunscripted.
Thank you to Mailtrap for sponsoring this episode of Software Unscripted. If you don't know Mailtrap or you only know them for email testing, they are a modern email delivery system for developers. They support things like straightforward integration into your code with native SDKs, or they have a security-compliant API and also SMTP access. In their free tier, you get 4,000 emails monthly, so it's pretty easy to try out. And they also have 24-7 support where you talk to real humans, not AI chatbots. If that's the type of thing you're interested in because you do email delivering at your business, check out mailshrap.io to learn more. All right, Mitchell, welcome back.

**SPEAKER_1** (2:03)
Hey, thanks for having me again. Good to see you.

**SPEAKER_2** (2:06)
Yeah, you too. Okay, so recently you were chatting about native GUIs, and you had some pretty strong words about how, like, more people should be actually aiming for native, and not just no electron, not just no web stuff, not just trying to make all the pixels be the same on every target. I'm assuming that sort of came out of your experience with trying it with Ghosty and finding out that it wasn't as hard as it seemed. Is that fair?

**SPEAKER_1** (2:30)
Yeah, yeah, I wasn't sure what you were referencing now. I know what you're referencing. I think in that same thing I said, I'm willing to fight people on this, and I am now. So basically, I've always felt this way as like a user of software, and then, but I always felt like I must not understand it, because like I'm not a native app developer, so I must be wrong. And then I started working on Ghosty three years ago, I made everything native, and now I feel like I have enough experience on both, on two platforms, I should say, that I'm willing to say that it's not as hard as people make it, and especially, particularly in that comment, I was like, companies with the means to hire people should just be doing it. You don't need a big team. Yeah, I think it's annoying. And another thing I said a long time ago is, I really miss, I didn't say this in that one comment that you're referencing, but I really miss like unapologetically single platform native software. Like what we're getting today, and I feel so bad for I think a certain generation, that what we're getting today is just a lot of least competent denominator software that is cross-platform. So it could only support like, you know, what everybody supports, but you know, every ecosystem, whether it's Linux or Windows or Mac, every ecosystem has stuff that they support that only works on their platform. And you can only do that if you're unapologetically going to say, I'm a Mac app, and if you want another platform, you're out of luck, find a competitor, find another option, because like what I would, I'm an Apple user for a lot of my desktop stuff. A lot of people know I use a Linux VM on Mac, but my hardware is Mac.

61 more minutes of transcript below

Feed this to your agent

Try it now — copy, paste, done:

curl -H "x-api-key: pt_demo" \
  https://spoken.md/transcripts/1000651996090

Works with Claude, ChatGPT, Cursor, and any agent that makes HTTP calls.

From $0.10 per transcript. No subscription. Credits never expire.

Using your own key:

curl -H "x-api-key: YOUR_KEY" \
  https://spoken.md/transcripts/1000750073443