On April 28, 2026, Mitchell Hashimoto published a post that broke something in the open source community. Ghostty - the terminal emulator he built, the project he clearly loves more than a person should love a software project, is leaving GitHub. Not because he stopped caring. Because GitHub stopped letting him work.
I’m GitHub user number doesn’t matter. What matters is I opened my terminal today, read his post, and felt every word of it. Not as a spectator. As someone who lives in this ecosystem.
User #1299
Mitchell is GitHub user #1299. He joined February 2008. Since then, he’s opened GitHub every single day. Multiple times a day. For over eighteen years. Through breakups. Through college at 4 AM. Through his honeymoon, while his wife was still asleep, he was getting commits in. His hobby and his work and his passion all lived in one place on the internet. He started Vagrant partly because he hoped it would get him a job at GitHub. GitHub was the dream.
That dream is over now. Not with a bang. Not with a dramatic exit. Just with another Tuesday where Actions went down for the third time that week.
The timing of his post is worth noting. He says it was written over a week before the large April 27 Elasticsearch outage. He kept a journal for a month before that. He put an X next to every date where a GitHub outage negatively impacted his ability to work. Almost every day had an X. On the day he sat down to write, he couldn’t do any PR review for two hours because there was an Actions outage. That wasn’t the big Elasticsearch outage. That was just a regular Tuesday.
A place that blocks you out for hours per day, every day, is no longer a place for serious work.
The Terminal User’s Confession
I’ll be honest with you. I’m a terminal user. I’ve been using GitHub daily for years. I live in the command line. I do almost everything through gh, through git, through scripts I barely remember writing. When something works, it’s invisible. When something doesn’t work when Actions fails for reasons that make no sense, when PR reviews won’t load, when Actions minutes get consumed by ghost runs that nobody triggered that’s when you realize how much you were depending on something you never actually controlled.
Mitchell put it better than I ever could:
I want to be there but it doesn’t want me to be there. I want to get work done and it doesn’t want me to get work done. I want to ship software and it doesn’t want me to ship software.
When you live in the terminal, you’re already choosing to interact with tools at a low level. You’re already choosing craft over convenience. And when that craft, when the very infrastructure you’re building on, starts failing you daily, it’s not a minor inconvenience. It’s existential. You can’t ignore it. You can’t click a “try again” button fast enough to make it feel okay.
Git Is Distributed. The Platform Is Not.
Here’s the thing the “just use git” crowd gets wrong every single time someone complains about GitHub:
Nobody is mad at Git.
Git is fine. Git works. Git has worked flawlessly for twenty years. Git is the one tool in this entire stack that nobody has to apologize for.
The issue is the 80% of GitHub that isn’t Git - the proprietary infrastructure running on servers you don’t control:
- Issues - where project communication lives
- Pull Requests - where code review lives
- Actions - where CI/CD lives
- Releases - where distribution lives
- Discussions - where community lives
Actions has become critical path for a lot of teams. It is not a nice-to-have feature. For a lot of open source projects, it’s the entire deployment pipeline. And it’s been unreliable for long enough that people are actively looking for alternatives, not because they want to leave, but because they have to.
Mitchell calls this out directly in his footnotes:
To the “Git is distributed!” crowd: the issue isn’t Git, it’s the infrastructure we rely on around it: issues, PRs, Actions, etc.
This needs to be said because every time someone writes a post like Mitchell’s, someone shows up in the replies saying “just self-host” or “git is decentralized.” Yes. We know. The problem was never Git.
What Actually Hurts
Here’s the part that nobody talks about enough: this isn’t about features. Nobody is mad that their mobile app is bad or anything else.
This is about trust.
You trusted GitHub with:
- Your project’s history
- Your community’s communication
- Your CI/CD pipeline - which means your delivery pipeline, which means your livelihood
- Your collaborators’ time
And every time Actions goes down and you’re sitting at your terminal watching a red build fail with no explanation, you feel that trust erode. Not dramatically. Not all at once. Just one X at a time until one day you realize you haven’t enjoyed being there in months.
Mitchell said something that hit differently:
I’ve been doom scrolling GitHub issues since before that was a word.
This is a person who loved the platform. Genuinely loved it. Not because he had to, but because he wanted to. And now he’s leaving because the thing he loved won’t let him work anymore.
That’s the part that stings. Not the inconvenience. The betrayal. The slow, quiet realization that the place you’ve built half your life around has stopped caring whether you can get your work done.
The Real Problem Nobody Wants to Fix
GitHub sits on top of Git. Git is distributed. Git is resilient. Git doesn’t go down. But GitHub built a centralized platform on top of a decentralized protocol, and then bet their entire product ecosystem on infrastructure that can’t stay up.
Mitchell mentions in his post:
I’ll share more details about where the Ghostty project will be moving to in the coming months. We have a plan but I’m also very much still in discussions with multiple providers (both commercial and FOSS).
We’ll see where it goes after that.
That’s a careful way of saying “I don’t know yet, but I know I can’t stay.” For his personal projects and other work, he’s staying on GitHub for now. Ghostty is where he, their maintainers, and their open source community are most impacted. That’s the focus.
They plan on keeping a read-only mirror on GitHub. Incremental migration. One dependency at a time. But the direction is clear.
The Line That Should Haunt GitHub
Mitchell’s closing paragraph:
I’d love to come back one day, but this will have to be predicated on real results and improvements, not words and promises.
Not words and promises.
GitHub’s infrastructure team has been sending out “we’re aware of the issue” tweets for months. Nobody believes them anymore. The users who remain are the ones who can’t leave yet, not the ones who want to stay.
What Now?
I’m not leaving GitHub tomorrow. A lot of us aren’t. The switching costs are real. The community is there. The history is there. But the magic, the feeling that this place wanted you to be here, that’s gone.
What I take from Mitchell’s post isn’t anger. It’s clarity. He didn’t leave because he stopped caring. He left because he cared too much to stay in a place that won’t let him work. After 18 years. After starting Vagrant. After being user #1299.
If you’re a terminal user who lives in this ecosystem who has scripts and aliases and workflows that all flow through gh and Actions - pay attention. Not because Mitchell left, but because he’s not the last one. The outages don’t stop. The X’s keep adding up.
Eventually, even the most devoted user has to choose between the place they love and the work they need to do.
Mitchell chose the work. I understand why.
Sometimes you don’t leave because the love is gone. You leave because the thing you loved stopped letting you be there.

