14 1
Sign in to rate

ANTI-SUCK: automatically move leeches to a separate deck

<10kB. Updated 2019-11-25.
The author has shared 9 other item(s).


This add-on automatically moves new leeches (cards that are wrong X number of times) to a prespecified deck. By default, the deck is ingeniously called Leech. You can customize the deck name in the code file by going to Tools > Addons > Anti-Suck > View Files > __init__.py. In that file the instructions should be clear and easy for changing the deck name. To be clear, all new leeches from all decks will end up in that one prespecified deck. You can then give the separate deck its own intervals so you can be proactive (or not) about your tough cards. CREDIT: This code is from the Anki 2.1 Add-On Guide (https://apps.ankiweb.net/docs/addons.html), which surprisingly wasn't uploaded as an add-on. Some code comments and the cheeky add-on name is by Joseph Yasmeh.


As add-ons are programs downloaded from the internet, they are potentially malicious. You should only download add-ons you trust.

Supported Anki versions:

To download this add-on, please copy and paste the following code into Anki 2.1:


If you were linked to this page from the internet, please open Anki on your computer, go to the Tools menu and then Add-ons>Browse & Install to paste in the code.

All Anki 2.1.x Add-Ons


on 1647968552
Works great!
on 1632906111
does it work on Mac? Because I've downloaded and installed it and there's not leeches folder whatsoever
on 1627491752
Works as described!
on 1624545976
really nice and easy tool to use!

is there any way for the cards to leave the leech deck after you have gotten it right a certain amount of times?
on 1615309699
is it possible to both move the card to a deck & also auto flag it red? i usually flag my cards red like one of the other users and would like to have both features. where would i copy and paste? "card.setUserFlag(1) # Red flag leeched cards" otherwise seems okay, will have to wait until i get a few incorrect to see if it works
on 1614367362
Can't believe this isn't already a feature in Anki.

Very clear direction on how to change what deck to sort into. Thanks for that, python is scary.
on 1611428957
Very useful quick code snippet to have around. I like to use the flags introduced a year or two ago to mark leeches. Replacing the code to change the with the following does this automatically, which makes me very happy:

card.setUserFlag(1) # Red flag leeched cards
on 1594701797
This is a much-needed add-on; thank you! Would this add-on work on the AnKing deck, which has many nested sub-decks? Also, I created a new deck for leeches called "FreqMissed," and changed the name in the __init__.py file. Going forward, would this new deck get auto-populated based on the number of lapses specified under options, or do I need to put the newly created "FreqMissed" in the AnKing folder?
Comment from author
Yes, it will work with no further action on your end. Good luck, doc.
on 1592316375
How can we make the card move to a "leech" subdeck of the current deck?
Comment from author
If the current deck is named Spanish, for example, set the leech deck name to Spanish::Leech.

That assumes you only have one current deck, like me. If you have more, this addon doesn't have a built-in solution.
on 1589066734
This helps in moving leeches into a deck with different options automatically.
on 1588953727
question. Is it possible to add the old leeches from this deck to the SUCK deck?
Comment from author
Yup, you can do it manually: https://www.youtube.com/watch?v=ePRqW7gWuxY
on 1583957708
Works well, and props on the cheeky name :)
on 1579989659
Thanks! It's now working! Question though, will this work on ankidroid? AKA, does it automatically look for leeched cards during each start up?
Comment from author
Regarding the old question of whether you need to make a leech deck for this to work: No, it'll make the deck for you when you have a new leech. But you can make one now and it should still work.

Regarding leeches automatically moving to a leech deck when using the phone app: the program is only downloaded on your computer, so it only moves newly identified leeches when you do cards on your computer. If you then sync, the changes are saved to your phone. But I think if you're doing cards on your phone and get a new leech, the code won't identify that and move the card. In other words, it set up to act in the moment when you get a new leech (on your computer), not to act on startup to move all cards that are marked as leeches.
on 1574671074
What deck options would you suggest? I feel like this has great potential but I can't fully envision it.
Comment from author
I study just one deck--let's call it "Spanish." My intervals on this deck grow quickly, with steps days apart. With this addon, whenever I have a leech, it moves the card to a subdeck called "Spanish::Leeches." My intervals in this subdeck are set up to grow slowly, with steps initially hours apart.

For example, the intervals I arbitrarily set up for the leech subdeck are steps like 60 120 300 1440 1400 2000 3000. This hammers hard on leeches, so they stick.

Before this add-on, I had to occasionally go to the leech tag that Anki generated automatically and move the cards to a separate deck (so that the tougher intervals would apply). Now it's automatic. Hopefully this answers your question.
on 1574627646
good idea.