Skip to content

List Clean Up

Open List Clean Up →

List Clean Up loads every entry of one of your lists and marks the ones you may want to take off:

Reason What it means
Gone The account was deleted, deactivated, or taken down.
Invalid handle The account’s handle no longer verifies.
Labeled The account carries a moderation label.
Blocked You block the account, or it blocks you.
Duplicate The account was added to the list more than once. Every entry but the oldest is marked.

You pick the entries to remove and remove them in one run, which you can undo from History.

List Clean Up reads the entries from your own server rather than from a list’s public view, so deleted accounts are included.

  • Sign in with your Bluesky account. See Signing In.
  • You can clean up only lists your account owns, curation lists and moderation lists alike.
  • Removing an entry takes the account off the list. It does not block, unfollow, or otherwise touch the account.
  1. Open List Clean Up and sign in if asked. You can also start from My Lists: choose More on a list, then Clean up.
  2. Choose a list in List to clean up, or pick one from your lists shown below it.
  3. The members load, with a bar that shows progress. The list is usable while it loads. Choose Stop to end the load early.
  4. Under Show, choose one or more reasons to see only those entries. Each reason shows its count. With no reason chosen, every entry shows.
  5. Tick the entries to remove, or use Select and then Select all shown.
  6. Optional: choose Export to download the selected entries first.
  7. Choose Remove selected. The confirmation reads, for example, Remove 12 accounts from Book Club? with The accounts themselves aren’t touched.
  8. Choose Remove 12 accounts (the number matches your selection). The run starts, or waits behind runs already in the queue. Its progress shows above the button.
  9. Removed entries drop out of the list as the run finishes.

The reason chips filter the entries. An entry shows when it matches any chosen reason. About these reasons explains each one. Each row carries its reasons as badges, and a line such as Deleted, deactivated, or taken down · added Oct 3, 2026. Entries are in list order, oldest first.

Choice What it does
Select all shown Selects every entry the current filters show.
Select none Clears the whole selection.
Invert shown Flips the selection of the entries shown.

The line above the list counts the selection, such as 12 selected · 40 shown of 812, and says how many selected entries the filters hide.

Export downloads the selected entries as list-members.csv or list-members.json, with the columns did, handle, display_name, and reasons. It is unavailable until you select an entry.

  • Refresh loads the list again from your server. The time it last loaded, such as Loaded 5 min ago, shows beside it.
  • Stop ends a load under way and keeps what has loaded.
  • When only part of the list is loaded, Load 50,000 more and Load all carry on from there.
  • Clear drops the loaded list, the chosen list, the filters, and the selection.

The loaded list stays in this browser until you choose Clear, pick another list, or sign out. When you come back, it opens from the browser without loading again, and a load you left unfinished carries on. See Data on Your Device.

  • Remove selected deletes the chosen list entries (app.bsky.graph.listitem records) from your own Bluesky server. The list itself, its name, and its other entries stay.
  • The accounts are not touched, and they are not told.
  • Reads go through your own server: the list’s entries from your repository, and each account’s profile with your view of it (whether you block it, or it blocks you).
  • The loaded list is kept in this browser, as described above.

Undo the run from History. It adds the same accounts back to the list, one entry for each entry removed. The restored entries carry the date of the undo, not the date they were first added. See History & Undo.

  • Each removal is a delete. Your Bluesky server allows about 5,000 deletes an hour, so removing more than that adds a line to the confirmation saying how long the run takes. The run carries on by itself while a BskyKit tab is open. See Limits & Pacing.
  • Removals have no daily suggestion; they do not count toward the 1,000 a day suggested for follows and blocks.
  • Your server keeps the entries of all your lists together, so List Clean Up reads through all of them, 100 at a time, to find this list’s. If you have many lists or very large ones, the load takes longer than the list’s size suggests.
  • After a run changes the list, lists of up to 20,000 entries load again by themselves. Larger lists drop the removed entries without loading again; choose Refresh for a fresh read.

Your server did not answer, or the connection dropped. If some members loaded, they are kept: choose Try again from there. Otherwise choose Try again.

The browser has no room left to keep the list. The members loaded so far are kept. Free up space on the device, then load more.

“Could not keep your list on this device”

Section titled ““Could not keep your list on this device””

The browser refused to store the list, as some private browsing modes do. The list still loads and works, but it is not kept for your next visit.

An entry you removed elsewhere still shows

Section titled “An entry you removed elsewhere still shows”

If a run on this list ended while List Clean Up was not open and you reloaded the page before opening it, the kept list can be out of date. Choose Refresh.

None of the entries carry the reasons you chose. Untick the chips, or choose other ones.