AnkiWeb
- Rating
- 0 (π 0 Β· π 0)
- Updated
- 2026-08-30
- Anki versions
- 2.1.1~
- Description language
- en
AnkiWeb addon 1102176176
Automatically suspends or unsuspends cards using configurable policies, quotas, searches, rankings, workload triggers, previews, history, and safe reverts to control review workload.
Open on AnkiWeb GitHub Ask about alternatives
active
| Min Anki | Max Anki | Updated |
|---|---|---|
| 2.1.1 | + | 2026-08-30 |
Loadingβ¦
Automates bulk unsuspend and reset-to-New for matched AnKing Step 1/2/3 v12 cards, optionally adding Gemini-generated NBOME/COMLEX pearls using your own API key.
Enables meaning-based natural-language card search via embeddings, with optional Claude reranking, smart multi-vector search, duplicate finding, suspend/unsuspend, scheduling, vignette, and guideline review tools.
Unsuspends kanji cards when their kanji appear in already-learned vocabulary words, with optional components unlocking and configurable deck and field names.
Creates multiple filtered decks from a list of tags, with configurable ordering, limits, preview/reschedule options, and optional unsuspending of matching cards.
Overrides FSRS desired retention per card using ordered search, note-field threshold, or grade rules, requiring Anki builds with dynamic retention reviewer hooks.
Supports FSRS by rescheduling cards from review history, postponing or advancing reviews, balancing load, applying easy days, dispersing siblings, and flattening future due cards.
Automatically suspend or unsuspend the right cards to keep your Anki review workload under control.
Each policy is one simple, ordered action: choose when it runs, which cards it can change, and which matching cards should go first.
Synchronize the current source into the local Anki installation with:
./copy_to_anki.sh
The script preserves Anki-owned add-on configuration and user_files. Fully
quit and reopen Anki afterward so it loads the updated Python modules.
Build a locally installable package with:
./package.sh
The script creates matching archives at dist/anki-suspend-manager.ankiaddon
and anki-suspend-manager.ankiaddon.
Open Tools > Suspend Manager > Configure Policiesβ¦, or select the add-on under Tools > Add-ons and choose Config. Select a policy on the left, then edit its trigger, card filter, ranking, and single action on the right.
Use the checkbox beside a policy in the list to enable or disable it. The checkbox and the Use this policy control stay synchronized; changes are applied when you save the configuration.
New policies receive a suggested name based on those settings. The suggestion keeps up with configuration changes until you edit it; choose Use suggestion to replace an override with the current generated name.
Right-click a policy for:
Choose Run All Now beside Save to validate and save the configuration, then run all enabled policies in order. Tools > Suspend Manager > Run All Now does the same execution using the last saved configuration.
On profile open and Anki day rollover, Suspend Manager automatically evaluates daily-release, daily-suspend, once-daily, and workload policies. Daily releases and suspensions share a stored per-policy quota across repeated evaluations. A once-daily policy is marked as evaluated even when no cards match, so reopening the profile cannot process another batch that day. Workload policies can run repeatedly because their target provides the stopping condition. Unconditional policies run only when started manually.
Policy
βββ Trigger
βββ Selector and ranking
βββ Action, limits, and post-action
Policies run in configuration order. Each policy is evaluated after earlier policies finish, so its trigger sees their changes. A card that changed once is not changed again in the same run.
{
"id": "cap-french-high-lapses",
"name": "Suspend high-lapse French cards",
"enabled": true,
"trigger": {
"type": "inverse_interval_sum",
"search": "deck:French",
"operator": ">",
"threshold": 200,
"target": 200
},
"selector": {
"search": "tag:low-priority",
"order_by": {
"value": "prop:lapses",
"direction": "desc"
}
},
"action": {
"type": "suspend",
"max_cards": 0,
"daily_limit": 0,
"post_actions": {
"reset_lapses": false
}
}
}
The workload search automatically includes only active cards. The selector is
intersected with that scope and with the state required by the action. Each
selected card changes workload by 1 / max(interval, 1), and selection stops as
soon as the target is crossed.
For workload policies, max_cards may be 0 so the workload target is the sole
stopping condition. Daily-release and daily-suspend policies use max_cards: 0
and a positive daily_limit. Once-daily and manual-only policies require a
positive max_cards because they have no workload target. For a once-daily
policy, max_cards is the daily cap and daily_limit must be 0.
random (the direction is ignored)card:idcard:difficulty or prop:dcard:interval or prop:ivlcard:lapses, prop:lapse, or prop:lapsescard:reps or prop:repscard:retrievability or prop:rfield:<field name>, such as field:FrequencyNote fields are parsed as numbers after HTML is stripped. Missing, non-numeric,
NaN, and infinite values sort last. Ties use card ID for stable ordering.
Choose History to inspect runs by local date. Open in Browse searches for the run's cards. Revert run⦠reverses only suspension states that still match the original run's result, skips deleted or already-reversed cards, and creates one Anki undo entry. Revert does not restore lapse counters, daily quota, or once-daily markers.
History, daily quota, and once-daily markers are stored per profile in the
add-on's local user_files/state.json. They are not stored in the collection,
do not sync, and are not changed by Anki undo.
Version 2 and 3 configurations are migrated in memory. Every version 2 step becomes one policy. For version 3 configurations, unconditional policies become once-daily when the old global automatic-running option was enabled; otherwise they become manual-only. Daily-release and workload policies keep their trigger settings. Saving writes the version 4 format without a global automatic switch.