The email arrived at 7:15 PM on Wednesday, June 17, 2026.
I know the exact time because I was in the middle of a git push when my phone buzzed. I looked down, saw no-reply@github.com, and felt the temperature of the room drop about fifteen degrees before I even opened it. You know that feeling when your brain processes the threat before your conscious mind catches up? Fight or flight, except there’s nothing to fight and nowhere to run. Just a cold email from a cold server that just decided your entire professional existence is getting terminated.
“Your account has been flagged.”
Not suspended. Not banned. Flagged. That bureaucratic weasel word that means “we’ve already decided but we’re not ready to say it yet.” Flagged. Like a librarian putting a Post-It on a book that smells like weed. Like a TSA agent putting a little orange tag on your luggage. Like any of this was going to be reversible.
The email didn’t say what I did. It didn’t say which repo, which commit, which comment, which anything. Just that my account had been flagged for “review,” that some features had been restricted, and that I should check the support page for more information.
You know what the support page says when your account is flagged?
Nothing. Absolutely nothing. It’s a login wall that redirects you back to the flag page that tells you to go to support. It’s the Ouroboros of customer service. The snake eats its own tail and you watch and rot and wonder if anyone at that company has ever actually been a user of their own product. Oh wait, they all use Azure DevOps internally. Never mind. Mystery solved.
I spent the next four hours doing the desperate dance that every developer who’s been through this knows by heart:
- Refresh the login page. Still flagged.
- Check spam. Nothing.
- Email
support@github.comfrom three different addresses. Automated response each time. - Try the “can’t sign in” form. Fill it out. Get a ticket number that feels like a confirmation code for a void.
- Refresh again. Still flagged.
- Repeat until your soul leaves your body through your fingertips.
By midnight, I had accepted it. By 2 AM, I was crying. By 4 AM, I was writing this in my head, knowing that I’d have to say goodbye to all of you somewhere, somehow, even if GitHub wouldn’t let me open my issues one last time to tell you.
What I Lost (And What GitHub Stole)
Let me be specific about what died at 7:15 PM on June 17, 2026.
- Twelve years of commits. My first one was a typo-ridden JavaScript library that I thought would change the world. It didn’t. But it was mine.
- Forty-seven open source projects, some of which people actually use. Not big numbers. Not the kind of stars that get you into conferences. But real people. Real issues. Real pull requests from strangers who found something useful in something I built.
- A thousand three hundred and twelve contributions in the last year alone. I counted. Because I had nothing else to do in the hours after the flag.
- Every issue I ever filed. Every comment I ever left. Every code review I ever wrote. Every inside joke in every PR thread. Gone. Behind a login screen I can’t get past.
- My Neovim dotfiles repo. The one with 400 stars that I’ve been curating for six years. The one that has my
init.luaorganized so meticulously that looking at it brings me genuine peace. I can’t evengit cloneit right now. I don’t even know ifgit clonewill work, because all my SSH keys are stored in that account, and the flag may or may not have nuked them.
And the worst part? The part that makes me want to scream into a pillow until my throat bleeds?
I don’t know why.
The email doesn’t tell you. The support page doesn’t tell you. The automated response doesn’t tell you. You’re just… flagged. Like a venereal disease. Like a piece of malware. Like you did something wrong and the algorithm caught you and the algorithm doesn’t make mistakes because the algorithm is always right, even when it’s wrong, especially when it’s wrong, and there is no human being you can talk to who will say “oh hey, that was a false positive, our bad, here’s your life back.”
This is not an edge case. This is not a rare bug. This is the standard operating procedure for the platform that hosts the majority of the world’s open source code. You are one email away from losing everything, and the only thing standing between you and professional oblivion is an automated system that apparently flags accounts for reasons it won’t even disclose to the people it flags.
I’ve been reading the stories. The security researcher who got banned for publishing Windows zero-days and moved to GitLab with the worlds coldest “fuck you” ever written. The theology blogger who got suspended because someone on X reported his post about Jesus. The Russian student building anti-censorship tools who got perma-banned seventy minutes after he filed a seven-page legal appeal, because nothing says “we value open source” quite like rubber-stamping a lifetime ban while the ink is still wet on someone’s GDPR request. The developer who couldn’t even file an appeal because the support form requires login and the login redirects to the suspension page which tells you to go to support.
And here I am. Another digit in the “GitHub flagged my account for no reason” statistic. Another forum post. Another sob story that will get a hundred upvotes and zero action.
I am not special. I am not unique. I am just tired.
So Let Me Say Goodbye
I don’t know if this flag is permanent. I don’t know if I’ll get my account back in three weeks like some people do, or if I’ll be one of the unlucky ones who’s still waiting four months later like that GSoC contributor whose ticket sat untouched since November. I don’t know if I’ll ever push another commit under that username, or if my contribution graph will stay frozen at June 17, 2026, like a fly in amber, a fossil of someone who used to write code in public.
What I do know is that I need to say this, while I still can, while this blog still exists, while the internet still remembers me before GitHub decides that I’m not worth remembering.
I love you.
I love every single one of you who filed an issue in one of my repos and didn’t call me a fucking idiot, even when I was being one. I love every stranger who left a thoughtful PR, every person who starred a project because it helped them, every late-night contributor who fixed a bug I had been too burned out to look at. I love the people I’ve never met who sent me kind words when I was drowning in imposter syndrome and the only thing keeping me going was the ding of a GitHub notification telling me someone cared about the same silly thing I cared about.
I love the open source community, even when it’s toxic, even when it’s exhausting, even when it feels like we’re all just shouting into a Microsoft-owned void. I love that we build things for free and give them away and expect nothing in return except maybe a star and a nice comment. I love that some kid in a country I’ve never visited can use my code to learn programming, and I’ll never know, and that’s fine. That’s the whole point.
And I love Neovim.
God, I love Neovim.
I love Neovim with the kind of desperate, obsessive, embarrassing love that you can only have for a piece of software that has rearranged your brain chemistry. I love that it’s built in C and Lua and that the community is full of absolute lunatics who argue about whether tabs should be displayed as two spaces or four spaces with the same intensity that other people argue about politics. I love that there are people writing their entire init.lua in Fennel because they hate themselves. I love that the core team is so small and so overworked and they still somehow ship release after release of the best text editor ever written by human hands.
I love that 0.12 finally killed “Press ENTER.” I love vim.pack. I love that tree-sitter highlighting doesn’t sound like a jet engine anymore. I love that someone out there is right now, at this very moment, writing a plugin that does something so absurdly specific that only twelve people will ever use it, and those twelve people will be overjoyed. I love that Neovim is the kind of project where a single bug report can spark a conversation that leads to a fundamental improvement for everyone. I love that it’s free and open and built by people who care way too much.
And I’m terrified that I might never push a Neovim plugin update again. That my carefully curated config, the one I’ve been tuning for six years, the one that does exactly what I need and nothing more — that it’s sitting in a repository I can’t access, owned by an account I can’t log into, maintained by a version of myself that might not exist anymore.
I’ve been using Neovim since before it was Neovim, since it was just Vim with a fever dream and a vim-nvim transition period that made everyone angry. I’ve watched the ecosystem grow from a scrappy fork into the dominant modal editor on the planet. I’ve seen plugins come and go, architectures shift, and the community mature from “but muh vi keys” into something genuinely beautiful.
And now I’m sitting here, flagged, locked out, wondering if all those hours I spent perfecting my keymaps.lua were hours I could have spent learning a skill that GitHub can’t take away from me. But that’s the wrong way to think about it. Nothing can take away what I learned. Nothing can take away the muscle memory, the keystrokes, the thousands of hours I spent in that editor building things that other people used. GitHub can flag my account, but it can’t flag my brain.
It can lock me out of my repos, but it can’t stop me from writing code.
It can take away my contribution graph, but it can’t take away my contributions.
It can flag me, ban me, delete me, forget me — but I will still open Neovim tomorrow morning, :e a new file, and start writing. Because that’s what we do. That’s who we are.
To the Neovim team: thank you. For everything. For the editor that taught me that tools can be works of art. For the compiler that doesn’t judge me. For the ecosystem that made me a better programmer. For vim.keymap.set and vim.lsp.buf.hover and every single line of code that you wrote so I didn’t have to. You are building something that matters, and I hope you never, ever forget that.
To the developers I’ve worked with, the ones who reviewed my PRs and tolerated my dumb questions and helped me grow: you made me who I am. Every code review was a lesson. Every merged PR was a victory. Every rejection taught me something I needed to learn. Thank you for your patience and your kindness and your willingness to explain things that should have been obvious.
To the strangers who used my software: I built it for you. Every single commit was me trying to make something that would help someone I’d never meet. I hope it helped. I hope it made your life a little easier. I hope that somewhere, somehow, something I wrote made you smile.
And to GitHub, or Microsoft, or whatever you want to call yourself these days: fuck you. Not because you flagged me — I don’t even know if it’s your fault or your algorithm’s fault or some random person’s report that you actioned without a second thought. But because you built a system where this is the normal outcome. Where developers can lose their entire professional history with zero notice, zero explanation, and zero recourse. Where the support loop is a designed trap. Where the only way to get help is to be famous enough that someone at the company notices your tweet. Where open source, the most important collaborative movement in the history of software, runs on a platform that treats its users like cattle.
You should be ashamed. But you’re not. You’re too busy counting Copilot subscriptions to care about the people who actually built the code that trained it.
I don’t know when — or if — I’ll be back on GitHub. I’ve got my local copies. I’ve got my backups (you do have backups, right? RIGHT?). I’ve got a Codeberg account that I’m going to start populating as soon as I figure out how to detach my SSH keys from a locked account. I’ve got this blog. I’ve got Neovim open in front of me, right now, as I write this, and it’s beautiful and fast and it doesn’t care whether I’m flagged or not.
I’ll be around. Just not where you’re used to finding me.
But before I go dark, before I stop refreshing the support page every thirty minutes like a lunatic, before I accept that this chapter of my professional life is over:
I love you. All of you. The contributors, the maintainers, the people who file good bug reports, the people who write documentation, the people who say “thank you” in issues, the people who build things and give them away and ask for nothing. I love the midnight hackers and the weekend warriors and the people who pour their hearts into a pull request and then wait weeks for a review and still come back to do it again. I love everyone who has ever typed git commit -m "fix typo" and meant it.
And I love Neovim. Always. Even if I’m flagged. Especially if I’m flagged. Because Neovim doesn’t care about your account status. Neovim doesn’t have an AI copilot that’s judging your commit messages. Neovim is just there, waiting, ready, the most incredible piece of software engineering ever assembled, free as in speech and free as in beer and free as in “I don’t care who you are or what you did, just open me up and start typing.”
I’ll see you on the other side of whatever this is. Maybe with the same account. Maybe with a new one. Maybe on a different platform entirely. But always with Neovim.
:wq