Interview with Mitchell Hashimoto about Ghostty and Zig
A Conversation with Mitchell Hashimoto: On Ghostty and Zig
Date: July 2026
Interviewer: Alex Alejandre
Mitchell Hashimoto is a prolific figure in the infrastructure space, having authored a suite of industry-standard tools including:
- Vagrant
- Packer
- Consul
- Terraform
- Vault
- Nomad
- Waypoint
Currently, his focus has shifted toward the development of Ghostty and Vouch. This discussion delves into the intersection of terminal emulators, the Zig language, and the philosophy of open source.
🛠️ The Pivot: From Distributed Systems to Local Performance
Many observers are curious about Mitchell's transition from a "business founder" mindset back to a "software engineer" mindset. After spending over a decade building CLI applications, Mitchell felt his low-level technical skills had become the priority grown dull due to the nature of distributed systems.
"In the distributed world, network latency is the bottleneck. You don't spend your time worrying about cache locality or vector operations because the network costs dominate everything."
To sharpen his edge, he set specific technical goals:
- Master Pre-AI GPU programming.
- Dive into desktop and single-node systems programming.
- Deepen proficiency in
Zig.
The "Aha!" Moment
Despite 15 years of building CLIs, Mitchell realized he didn't actually understand the inner workings of a terminal emulator. He decided to build one with a specific, recursive goal: create a terminal where he could run vim and a compiler to build the terminal itself, then discard the scaffolding.
During this process, he identified a market gap. He wanted a tool that was:
- Blazing Fast
- Feature-Rich
- Natively Cross-Platform
🌐 The Terminal as an Application Platform
Mitchell views the terminal not just as a tool, but as an application platform, similar to a web browser or the legacy Java runtime environments. While you could technically build a browser-like experience (with mic/video access and responsive layouts) inside a terminal, the "monospaced-grid" paradigm offers unique advantages.
Why Text-Based Apps?
- Rapid Implementation: Faster to build than complex GUIs.
- Interaction: Streamlined and predictable.
- Security: A clearer, more isolated security model.
He believes that the strength of terminal applications lies in their composition. While TUIs (Text User Interfaces) are more rigid, standard CLI tools follow the UNIX philosophy of "doing one thing well," allowing them to be piped together like functions.
📉 Technical Challenges and Future Visions
The PTY Problem
The current pty (pseudo-terminal) system relies on in-band signaling—essentially an unstructured stream of bytes mixed with escape sequences. Mitchell views this as a fundamental flaw.
| Approach | Method | Verdict |
|---|---|---|
| Nushell | Adds a layer of abstraction | Helpful, but not a root fix |
| PowerShell | Uses structured data | A strong model to emulate |
| Ghostty's Goal | Fundamental protocol improvement | The "North Star" |
Researching Prior Art
Rather than inventing solutions in a vacuum, Mitchell studies how other mature ecosystems (Apple, Microsoft, Android, Game Consoles) solved these problems. For example, when addressing clipboard limitations (moving beyond simple text to images or multiple MIME types), he analyzes the documentation of existing clipboard managers across all major OSs.
The "n-screen" API
Currently, terminals generally support only two modes: the primary screen and the alternate screen (used by apps like vim). Mitchell proposes an n-screen API:
Proposed Features:
- Unlimited Background Screens: Create and populate screens without losing the current view.
- Native Window Integration: Imagine Neovim tabs appearing as actual native OS window tabs.
- Persistent Interaction: Currently, mouse events are lost once text scrolls into history. Mitchell wants a system similar to
OSC 8(hyperlinks) where a "button" or "link" remains clickable even in the scrollback buffer.
Note: This is particularly relevant for "main screen" applications like Claude Code (though Mitchell notes he is not interested in discussing AI itself).
🏛️ Standardization and Wayland
Mitchell experimented with replacing the entire pty protocol with Wayland, noting that a terminal is essentially just a windowing server managing widgets on windows.
The Crisis of Standards: Currently, there is no central standards body for terminals. Instead, we have a "hodge-podge" of features based on what the most popular emulators happen to implement.
"We have de jure standards from decades ago, but the last 20 years have been driven by popularity rather than a tasteful, cohesive vision."
By treating the terminal as a dedicated home for text-based applications, Mitchell hopes to push the medium toward a more structured and powerful future.