• Sign in
  • Sign up
Elektrine
EN
  • EN English
  • 中 中文
Log in Register
Modes
Overview Search Chat Timeline Communities Gallery Lists Friends Email Vault VPN
Back to Timeline
  • Open on hachyderm.io

Mitchell Hashimoto

@mitchellh@hachyderm.io
mastodon 4.5.7

Working on a new terminal: Ghostty. 👻 Prev: founded
@HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

0 Followers
0 Following
Joined December 18, 2022
Website:
https://mitchellh.com
GitHub:
https://github.com/mitchellh
Email:
m@mitchellh.com

Posts

mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · 1d ago

Btw, for Ghostling (libghostty demo), I didn't write a single line of... anything. Agents wrote 100% of everything you see incl. Nix flakes, CI jobs, etc. I reviewed every line of code manually and constantly nudged the agents in the right direction. I used a mix of Opus+Codex.

I went from empty repo to functional terminal that could run Neovim with keyboard, mouse events in ~80 minutes. Pretty sweet.

Note: libghostty itself is of course heavily hand written (with agent assistance all over too, though). I'm just talking about Ghostling itself.

Even for CI setup (GitHub actions), I had the agent sit in a `gh` CLI loop watching failures, fixing, pushing, fixing, pushing, etc. Doing GHA with agents are the only way I stay sane, honestly.

I just re-read the full main.c from top to bottom and I'm very satisfied. I would've done some things differently but if an engineer I worked with PRed all this, I would've accepted it. Its good enough.

Some people have pointed out the commenting is over the top and indicative of AI. This is actually my personal comment style, and I told the agent to comment heavily (its even in the AGENTS.md, look for yourself!). Anyone who has worked with me professionally or in OSS knows that I comment everything all the time.

View on hachyderm.io
31
0
3
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · 1d ago

libghostty is FAST! Here's a look at vtebench with Ghostling. Reminder: Ghostling is single threaded + blocking render + blocking IO. The point is, you get comparable speed to the fastest dedicated terminals in an embeddable lib! Had to pull out iTerm2 because its so slow.

Warning: Ghostling is purple in the first chart but green in the second. Sorry for the confusion.

Also, the Unicode results are not correct for Ghostling because Ghostling is getting stuck on worst case "glyph not found" since we only embed one font. So the results are wildly skewed poorly. A result integrator of libghostty would have significantly better performance here.

I haven't fully profiled the libghostty C API yet. I think there will be obvious wins to be had. This was just my first check and I am very happy with the results.

Comparing libghostty/Ghostling to dedicated terminals is a bit unfair, since dedicated terminals can get away with a lot of performance tricks to go faster that a reusable general purpose terminal emulation library can't do as well. But, I wanted to show this comparison to show that despite that, libghostty still does SUPER well, comparable, and even best-in-class in a couple categories.

This is all to say, every embedded terminal experience on earth can be nearly as fast as the fastest native desktop terminals. There are no more excuses. The tide will rise!

Full Ghostling source (single ~600 line C file): https://github.com/ghostty-org/ghostling

View on hachyderm.io
22
0
6
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · 2d ago

From empty repo to a functional minimal standalone terminal based on libghostty in less than 2 hours, presenting Ghostling! ~600 lines of C and you get extremely accurate, performant, and proven terminal emulation. Every program on earth that needs any subset of terminal functionality and can now easily get it.

https://github.com/ghostty-org/ghostling

Feature list:
- Resize with text reflow
- Full 24-bit color and 256-color palette support
- Bold, italic, and inverse text styles
- Unicode and multi-codepoint grapheme handling (no shaping or layout)
- Keyboard input with modifier support (Shift, Ctrl, Alt, Super)
- Kitty keyboard protocol support
- Mouse tracking (X10, normal, button, and any-event modes)
- Mouse reporting formats (SGR, URxvt, UTF8, X10)
- Scroll wheel support (viewport scrollback or forwarded to applications)
- Scrollbar with mouse drag-to-scroll
- Focus reporting (CSI I / CSI O)
- And more. Effectively all the terminal emulation features supported by Ghostty!

The libghostty C API is not formally released, but I built this project to prove its ready to go. 😎 https://github.com/ghostty-org/ghostling

View on hachyderm.io
Your browser does not support the video tag.
59
0
28
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · 6d ago

It's so insanely disrespectful for an AI agent to talk to real people without consent or at least disclosure. This is the type of stuff I'm hugely supportive of government regulation. The FCC must expand the definition of robocalling and TCPA-style regulation to online AI.

View on hachyderm.io
134
0
42
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · Mar 14, 2026

One of my favorite things is that libghostty really forces us to better our core. For example, we recently made stream processing infallible (sending arbitrary user input into Ghostty). External input can't be trusted, so it must never cause our core to fail. Now it doesn't.

Zig's error system makes this easy and obvious. Previously, errors would bubble up from handlers through to the stream processor. The practical effect is that if a sequence failed, it could cause partial processing of terminal sequences. I never heard of this happening in practice, but the API allowed it.

Now, we force all error handling to happen at the handler level. If an error happens, the handler must deal with it and guarantee that the terminal is in a coherent state. The stream processor WILL move forward.

This was critical because when designing the C API, we needed to determine what possible errors could be returned from `ghostty_terminal_vt_write`. On reflection of the Zig API, I realized... none can. No possible errors can (or should) occur. I was able to fix this through the type system in Zig and now the C API is a `void` return type with zero allocation. Hurrah!

PR: https://github.com/ghostty-org/ghostty/pull/11468

View on hachyderm.io
34
0
5
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · Mar 14, 2026

With Ghostty 1.3 out the door, my focus is now on completing the libghostty C API (Zig API is already complete). Just added the groundwork for exposing full terminal state and formatting it as plain text, VT, or HTML. https://github.com/ghostty-org/ghostty/pull/11506

This is all just writing C ABI compatible APIs to the already-existing and heavily real-world proven Zig APIs. For example, the formatter API is how our copy/paste works (the HTML format is the source of truth for Ghostty 1.3's rich text copy). And of course, the terminal API is literally the core Ghostty terminal emulator!

The major API I need to do next is the "render state" API. Formatters are made for infrequent point-in-time snapshots; they aren't particularly performant. The render state is a stateful API for building high performance render loops and its what the Ghostty GPU renderer is built on top of. Will come soon...

View on hachyderm.io
15
0
2
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · Mar 13, 2026

There's such a deep misunderstanding out there about tmux and zellij and I get so many absurd issue reports demonstrating that. So many don't realize that using them is like running a Windows VM on your Mac device, and complaining to Apple that iCloud sync isn't working from the VM.

They are super powerful and have their use and I am happy to support them in any way I can. I'm not anti-multiplexer, but I wish more people understood the architecture a bit more.

View on hachyderm.io
29
0
2
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · Mar 13, 2026

Ghostty 1.3.1 is now out, most importantly fixing the phantom mouse drag/select/scroll events on macOS. This release also includes improvements to AppleScript support and a couple dozen bug fixes. https://ghostty.org/docs/install/release-notes/1-3-1

View on hachyderm.io
33
0
12
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · Mar 09, 2026

Ghostty 1.3 is now out! Scrollback search, native scrollbars, click-to-move cursor, rich clipboard copy, AppleScript, split drag/drop, Unicode 17 and international text improvements, massive performance improvements, and hundreds more changes. https://ghostty.org/docs/install/release-notes/1-3-0

View on hachyderm.io
123
0
88
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · Feb 26, 2026

My family has donated $200,000 to the Open Source Endowment which launches today. Open source underpins critical infrastructure globally, and we need to pursue as many ways to sustainably fund it as possible; a single funding model doesn't cover all cases. https://endowment.dev

View on hachyderm.io
80
0
39
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · Feb 12, 2026

@evan@cosocial.ca what do you mean done? Anyone can be done whenever they want. The project has no obligation the maintainers have no obligation the community has no obligation. I’m sorry I don’t understand what you’re asking.

View on hachyderm.io
1
0
0
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · Feb 12, 2026

@evan@cosocial.ca I mean sure, eventually. I have 8 people with admin on my repos and they will very often dedicate zero amount of time, but they’ve proven themselves trustworthy in the past and periodically pop back up.

Maintainers have zero time obligation too. That’s how it all works, zero guarantees zero obligations everything provided “as is” on both sides.

Works great

View on hachyderm.io
1
0
0
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · Feb 12, 2026

@evan@cosocial.ca as much as they want, that’s the whole point of volunteering

View on hachyderm.io
2
0
0
0
Thread context 2 posts in path
Parent @isaiah@mastodon.social Open
@isaiah@mastodon.social
Are people archiving the prompts they use when AI assisted coding? If AI is the new level of abstraction shouldn't we archive the prompts rather than the code itself? It feels like I'm storing my a.ou
Current reply
Boosted by isaiah @isaiah@mastodon.social
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · Feb 09, 2026
@isaiah@mastodon.social Yes, lots of people working on this. Opencode and Amp have this built-in via web sharing, git-ai is working on this, Cursor's agent-trace spec is attempting to do this as well, many VC-funded companies chasing a solution to this.
View full thread on hachyderm.io
0
0
1
0
mitchellh
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
Mitchell Hashimoto
Mitchell Hashimoto
@mitchellh@hachyderm.io

Working on a new terminal: Ghostty. 👻 Prev: founded @HashiCorp. Created Vagrant, Terraform, Vault, and others. Vision Jet Pilot. 👨‍✈️

hachyderm.io
@mitchellh@hachyderm.io · Jan 22, 2026

Ghostty is getting an updated AI policy. AI assisted PRs are now only allowed for accepted issues. Drive-by AI-written PRs will be closed without question. Bad AI drivers will be banned from all future contributions. If you're going to use AI, you better be good. https://github.com/ghostty-org/ghostty/pull/10412

View on hachyderm.io
117
0
44
0

Media

313k7r1n3

Company

  • About
  • Contact
  • FAQ

Legal

  • Terms of Service
  • Privacy Policy
  • VPN Policy

Email Settings

IMAP: imap.elektrine.com:993

POP3: pop.elektrine.com:995

SMTP: smtp.elektrine.com:465

SSL/TLS required

Support

  • support@elektrine.com
  • Report Security Issue

Connect

Tor Hidden Service

khav7sdajxu6om3arvglevskg2vwuy7luyjcwfwg6xnkd7qtskr2vhad.onion
© 2026 Elektrine. All rights reserved. • Server: 22:44:53 UTC