GitHub is a
discovery layer.
Not a git host.
Here's the migration.
When GitHub suspends your account without notice, without graduated enforcement, and without substantive staff response for 30–90 days, the fastest answer is not to plead with the support queue. The fastest answer is to own your git, mirror to GitHub as discovery surface, and keep working.
What happened to WellBuilder
on April 18, 2026
On the morning of April 18, 2026, at approximately 8:30 AM PT, GitHub suspended the WellBuilder organization. WellBuilder publishes civic-technology MCP servers — one per US area code — as part of the WellSpr.ing covenant-governed civic infrastructure federation. Thirty-two repositories were offline simultaneously. The personal account that owned the organization was also suspended.
No suspension email. No notice. No graduated enforcement. The appeal path, when opened, routed first-line response to an automated reply requesting information already present in the appeal letter. WellSpr.ing responded within minutes with complete information. The account remains suspended at the time of this site's publication.
08:30 AM PT — WellBuilder organization suspended (all 32 repos offline) 08:48 AM PT — WellSpr.ing notified; unable to access account 08:48 AM PT — Appeal submitted via support.github.com ~08:54 AM PT — Auto-reply requests standard identification details 08:55 AM PT — WellSpr.ing replies with complete information — — Substantive response pending as of publication
Documented across sixty cases
The WellBuilder case is not anomalous. A Reddit thread on r/github, maintained by volunteers since 2023, has catalogued approximately sixty suspension cases with the same signature: no email, no graduated enforcement, appeals that queue for 30 to 90 days, and — documented by multiple users — manual reinstatement by staff followed by automated re-suspension within 1 to 5 days.
The affected maintainers are not spammers.
"GitHub suspended my paid account with 62 repos, sent no email and I had to file appeals from a second paid account... If GitHub can do this to a paying customer over a model checkpoint, they can do it to you over anything."— Independent AI researcher, April 2026, r/github thread
GitHub's own Terms of Service Section F requires notice before suspension. The enforcement documentation describes graduated enforcement before termination. Across sixty documented cases, neither commitment appears to be consistently honored.
This site is not about whether GitHub is a net-positive for open-source software. It clearly is, and has been, for more than a decade. This site is about the specific gap between GitHub's stated enforcement commitments and actual enforcement practice — and about the fact that the correction to that gap is individually available to every maintainer. You do not need to wait for GitHub to fix this. You can migrate in an afternoon.
The three-mirror architecture
The core insight: GitHub is a discovery layer, not a git host. The conflation of those two functions is the dependency trap. The formula separates them back out.
┌─────────────────────────────────────────────────────────────┐ │ PRIMARY GIT (Sovereign) │ │ git.yourproject.org — Self-hosted Forgejo on Railway/Fly │ │ This is where you push. You own it. │ └─────────────────┬───────────────────────┬───────────────────┘ │ │ auto push-mirror auto push-mirror │ │ ▼ ▼ ┌──────────────────────────┐ ┌──────────────────────────────┐ │ SECONDARY (Community) │ │ DISCOVERY LAYER │ │ codeberg.org/yourproject │ │ github.com/yourproject │ │ Nonprofit · EU-hosted │ │ Stars, forks, network effect │ │ Forgejo-native · Free │ │ Suspendable — non-critical │ └──────────────────────────┘ └──────────────────────────────┘
git.yourproject.org to your Railway deployment. This is where you push. If GitHub or Codeberg or any other host disappears tomorrow, your git source of truth is unaffected.
git push origin main to your sovereign primary, and it syncs automatically. Suspension of any single mirror is a discoverability event, not a data-loss event.
Platform comparison
| Forgejo (self-hosted) | Codeberg | SourceHut | GitLab CE | |
|---|---|---|---|---|
| Governance | You own it | Nonprofit | Nonprofit | You own it |
| Cost | ~$5–10/mo | Free | Free / paid | Heavier infra |
| PAT / API | Full Forgejo API | Full Forgejo API | REST + email workflow | Full GitLab API |
| Push mirrors | Yes — native | Yes — native | Limited | Yes |
| Speed to deploy | 15 min (Railway) | Instant (signup) | Instant (signup) | Hours (self-host) |
| Best for | Primary sovereign | Community secondary | Minimalist / CLI-first | Org-scale |
Using AI coding tools
without triggering enforcement
A distinct class of suspension cases involves maintainers using AI coding assistants — Claude, Cursor, Copilot Workspace, custom MCP servers — with personal access tokens that make API calls GitHub's detection flags as anomalous. Documented cases include maintainers whose Claude Desktop + GitHub MCP integration was flagged as "token abuse," researchers whose Git LFS pushes of ML checkpoints triggered suspension, and builders whose rapid automation of repository creation (for legitimate federated projects) matched typosquatting heuristics.
These cases are growing. The tooling is ahead of the platform's detection calibration. The mitigation is operational.
repo only, not admin:org unless necessary.The pattern gets legible
through documentation
If your GitHub account has been suspended without notice, without graduated enforcement, or re-suspended after manual reinstatement, your case belongs in the corpus. Submissions inform periodic pattern reports and help other maintainers recognize what's happening in their own cases.
Submit an Incident Report →