« All posts

Mitchell Hashimoto on Ghostty, Zig, and Terminal Protocols

HashiCorp founder Mitchell Hashimoto explains why he built Ghostty in Zig, the limits of the legacy PTY protocol, and his ideas for new terminal screen and button protocols.

Mitchell Hashimoto, known for Vagrant, Terraform, and Vault, discusses why he started building the Ghostty terminal emulator after leaving HashiCorp. He wanted to sharpen skills in GPU programming, desktop systems programming, and learn Zig - and realized that despite fifteen years of building CLI tools, he didn't truly understand how terminal emulators worked internally. Ghostty began as a private beta shared among friends before eventually going public.

He argues terminals shouldn't try to become everything-platforms like browsers or desktop environments; text-based, monospaced-grid applications have their own strengths - speed, easy interaction, and a clear security model. He identifies the PTY's in-band signaling (an unstructured byte stream with escape sequences) as a core problem, pointing to PowerShell's structured-data approach as a positive example. He proposes two concrete protocols: an n-screen API allowing unlimited background screens, and a button protocol similar to OSC 8 hyperlinks that keeps working even after scrollback.

Hashimoto explored replacing the PTY protocol entirely with Wayland but abandoned the idea, noting that terminals no longer have a real standards body - recent decades of standardization have simply followed whatever popular terminals implement. On open-source maintenance, he stresses there's no formal obligation to users, but his personal drive to build quality software creates its own sense of responsibility, balancing day-to-day fixes with pursuing a longer-term vision.