# Mass deleting github repos

**URL:** <https://community.redact.dev/t/mass-deleting-github-repos/204>\
**Category:** General\
**Created:** [January 7, 2026, 8:22pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204 "2026-01-07T20:22:31Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![kittycat](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.redact.dev/kittycat/32/137_2.png) [@kittycat](https://community.redact.dev/u/kittycat)\
**Post date:** [January 7, 2026, 8:22pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/1 "2026-01-07T20:22:31Z")

</div>

can repos get deleted with redact in bulk?

---

<div class="post-metadata">

**Author:** ![Gerald](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.redact.dev/gerald/32/103_2.png) [@Gerald](https://community.redact.dev/u/Gerald)\
**Post date:** [January 7, 2026, 8:26pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/2 "2026-01-07T20:26:29Z")

</div>

redact mass deletes comments, stars, follows, and gists. if you want to delete your repos [read this guide](https://docs.github.com/en/repositories/creating-and-managing-repositories/deleting-a-repository).

---

<div class="post-metadata">

**Author:** ![lil\_debbie\_cakes](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.redact.dev/lil_debbie_cakes/32/141_2.png) [@lil\_debbie\_cakes](https://community.redact.dev/u/lil_debbie_cakes)\
**Post date:** [January 7, 2026, 8:30pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/3 "2026-01-07T20:30:40Z")

</div>

If you’re trying to wipe a bunch fast, you’ve got a few real options:

- **Archive instead** (way safer) makes them basically “gone” from view but you can undo it if you panic later lol

- **GitHub CLI** : easiest way to bulk manage stuff without clicking 200 times

- **API script** : if you want rules like “delete everything with prefix `test-`” or “older than 2022” or whatever

Before you go full send:

- if any of these are **org repos** you might not even have permission or the org can block deletes

- maybe do an archive pass first and then wait a day then delete once you’re sure you didn’t just yeet something important

---

<div class="post-metadata">

**Author:** ![lil\_debbie\_cakes](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.redact.dev/lil_debbie_cakes/32/141_2.png) [@lil\_debbie\_cakes](https://community.redact.dev/u/lil_debbie_cakes)\
**Post date:** [January 7, 2026, 8:33pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/5 "2026-01-07T20:33:06Z")

</div>

[![](https://canada1.discourse-cdn.com/flex027/uploads/redact/original/1X/9ae98fab84258fefcbf97a33a8587496d40dbcbc.jpeg "How to Delete a Repository in GitHub") ](https://www.youtube.com/watch?v=2lAiHlXTY0s)

---

<div class="post-metadata">

**Author:** ![Trigger\_Control](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.redact.dev/trigger_control/32/105_2.png) [@Trigger\_Control](https://community.redact.dev/u/Trigger_Control)\
**Post date:** [January 7, 2026, 8:35pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/6 "2026-01-07T20:35:45Z")

</div>

you ever heard of repo reaper? I’ve never used it but have heard good things about it, it’s made specifically to remove repos in bulk: [https://reporeaper-frontend.onrender.com/](https://reporeaper-frontend.onrender.com/)

it was just released in Aug of 25’, so not much feedback about it yet. if you decide to use it report back on how you like it, I am curious.

---

<div class="post-metadata">

**Author:** ![D-Mag](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.redact.dev/d-mag/32/131_2.png) [@D-Mag](https://community.redact.dev/u/D-Mag)\
**Post date:** [January 7, 2026, 8:53pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/7 "2026-01-07T20:53:14Z")

</div>

doesnt github allow for mass repo delting, like as a native feature within github admin? I believe they do. although, the fact someone made repo reaper maybe points to the contrary. I don’t know, I’m not a big github user.

---

<div class="post-metadata">

**Author:** ![Tommy](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.redact.dev/tommy/32/100_2.png) [@Tommy](https://community.redact.dev/u/Tommy)\
**Post date:** [January 7, 2026, 9:15pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/8 "2026-01-07T21:15:58Z")

</div>

No, @D-Mag is wrong actually. There are no mass delete options within github, you gotta use a 3rd party app.

I have personally used [https://reposweeper.com/](https://reposweeper.com/) and it worked as intended. They also have repo reaper, linked up above in trigger’s post.

---

<div class="post-metadata">

**Author:** ![soyga](https://avatars.discourse-cdn.com/v4/letter/s/ce73a5/32.png) [@soyga](https://community.redact.dev/u/soyga)\
**Post date:** [January 7, 2026, 9:18pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/9 "2026-01-07T21:18:14Z")

</div>

> Read this: [Bulk delete github repos · GitHub](https://gist.github.com/mrkpatchaa/63720cbf744a2bf59a3e9cfe73fc33b0)
> 
> **Use this trick to bulk delete your old repos or old forks**
> 
> (Inspired by [https://medium.com/@icanhazedit/clean-up-unused-github-rpositories-c2549294ee45#.3hwv4nxv5](https://medium.com/@icanhazedit/clean-up-unused-github-rpositories-c2549294ee45#.3hwv4nxv5))
> 
> 1. Open in a new tab all to-be-deleted github repositores (Use the mouse’s middle click or Ctrl + Click) [https://github.com/username?tab=repositories](https://github.com/username?tab=repositories)
> 
> 2. Use one tab [https://chrome.google.com/webstore/detail/onetab/chphlpgkkbolifaimnlloiipkdnihall](https://chrome.google.com/webstore/detail/onetab/chphlpgkkbolifaimnlloiipkdnihall) to shorten them to a list.
> 
> 3. Save that list to some path
> 
> 4. The list should be in the form of “ur\_username\repo\_name” per line. Use regex search (Sublime text could help). Search for ’ |.\*’ and replace by empty.
> 
> 5. Register a new personal access token with a ‘delete\_repo perm’ [https://github.com/settings/tokens/new](https://github.com/settings/tokens/new)
> 
> 6. Copy the access\_token and run the following line replacing xxx with your access token.
> 
> **Linux and OS X :**
> 
> ```auto
> while read r;do curl -XDELETE -H 'Authorization: token xxx' "https://api.github.com/repos/$r ";done < repos
> 
> ```
> 
> **Windows:**
> 
> ```auto
> get-content D:\repolist.txt | ForEach-Object { Invoke-WebRequest -Uri https://api.github.com/repos/$_ -Method “DELETE” -Headers @{"Authorization"="token xxx"} }
> 
> ```
> 
> ### **Caution**
> 
> I have only tested this script on Linux.

---

<div class="post-metadata">

**Author:** ![soyga](https://avatars.discourse-cdn.com/v4/letter/s/ce73a5/32.png) [@soyga](https://community.redact.dev/u/soyga)\
**Post date:** [January 7, 2026, 9:25pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/10 "2026-01-07T21:25:33Z")

</div>

fyi there is also a browser extension for deleting the repos [https://chromewebstore.google.com/detail/npleadnddajjokllpjmpkekijopogeci?utm\_source=item-share-cb](https://chromewebstore.google.com/detail/npleadnddajjokllpjmpkekijopogeci?utm_source=item-share-cb)

---

<div class="post-metadata">

**Author:** ![derekfrancisc](https://avatars.discourse-cdn.com/v4/letter/d/c57346/32.png) [@derekfrancisc](https://community.redact.dev/u/derekfrancisc)\
**Post date:** [January 7, 2026, 9:33pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/11 "2026-01-07T21:33:25Z")

</div>

I’ve used that browser extension, it does what it says it does.

---

<div class="post-metadata">

**Author:** ![AutoZoneManager](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.redact.dev/autozonemanager/32/154_2.png) [@AutoZoneManager](https://community.redact.dev/u/AutoZoneManager)\
**Post date:** [January 16, 2026, 1:47am UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/12 "2026-01-16T01:47:25Z")

</div>

Pretty sure Redact can’t bulk delete repos atm, it mainly handles stuff like stars, follows, comments, and gists.

If you’re trying to wipe a bunch of repos without 200 clicks, the least painful route is the GitHub CLI (gh) or the API. I’d honestly do a quick “archive everything” pass first then sleep on it and only delete if you’re 100% sure you’re not about to wipe something important that you’ll regret.

---

<div class="post-metadata">

**Author:** ![GSD](https://avatars.discourse-cdn.com/v4/letter/g/82dd89/32.png) [@GSD](https://community.redact.dev/u/GSD)\
**Post date:** [January 16, 2026, 1:57am UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/13 "2026-01-16T01:57:58Z")

</div>

GitHub really said “sure you can delete it… just type the repo name like you mean it” for every single one.

If you’re doing a purge, the low-regret move is: make them private + archive first instant profile cleanup, then batch-delete later with the GitHub CLI once you’re positive you’re not deleting the one repo that still has your SSH config from 2019.

---

<div class="post-metadata">

**Author:** ![wooly](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.redact.dev/wooly/32/17_2.png) [@wooly](https://community.redact.dev/u/wooly)\
**Post date:** [January 19, 2026, 5:32am UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/14 "2026-01-19T05:32:12Z")

</div>

Like other users have already mentioned, we don’t currently support repo deletion. Just likes, comments, stars, follows and gists. All the info on our deletion service for Github is here: [Mass Delete Comments, Stars, Follows, & Gists in Github | Redact](https://redact.dev/services/github)

---

<div class="post-metadata">

**Author:** ![soyga](https://avatars.discourse-cdn.com/v4/letter/s/ce73a5/32.png) [@soyga](https://community.redact.dev/u/soyga)\
**Post date:** [April 27, 2026, 3:27am UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/15 "2026-04-27T03:27:37Z")

</div>

wait you can have github delete your repos? I always thought once you pushed something it was there forever like a tattoo

---

<div class="post-metadata">

**Author:** ![h4ck3r](https://avatars.discourse-cdn.com/v4/letter/h/5f9b8f/32.png) [@h4ck3r](https://community.redact.dev/u/h4ck3r)\
**Post date:** [April 27, 2026, 10:52pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/16 "2026-04-27T22:52:56Z")

</div>

The curl approach in soygas gist works but classic PATs are being deprecated in favor of fine-grained tokens, and you don’t get any safety net if your repo list is wrong. The gh CLI workflow is cleaner tbh.

Setup once: `gh auth login --scopes delete_repo`

Dry run first, see what would actually get deleted:

---

<div class="post-metadata">

**Author:** ![tImElEss](https://avatars.discourse-cdn.com/v4/letter/t/278dde/32.png) [@tImElEss](https://community.redact.dev/u/tImElEss)\
**Post date:** [June 21, 2026, 2:17pm UTC](https://community.redact.dev/t/mass-deleting-github-repos/204/18 "2026-06-21T14:17:35Z")

</div>

Redact mass deletes github content but it doesn’t do repos. For repos, try something like this: [Bulk delete github repos · GitHub](https://gist.github.com/matthiasak/3213ba5e44be3b08bb84fb667d54d1e7)
