Completing cards that are shared across decks in any of those decks

Currently, if I first download Deck A, and then download Deck B, then any cards that are shared between them are only accessible in Deck A.
However, they should be accessible from both decks, so that if card is due say 3 days from now, then it can be completed by clicking on either Deck A or Deck B. Once it is completed, and is due say 5 days from that time, then it wouldn’t be re-completed on the same day in the different deck.

For example, some decks use cards from a few previous decks and then continue to add more cards to build on those, for their particular topic. So, Deck C may have cards from both Deck A and Deck B, and also its own unique cards. And so, in order to study from Deck C, without this feature, we would have to either figure out which cards from Deck A and B are supposed to be included, or otherwise to delete Decks A and B, redownload Deck C first, and then redownload Decks A and B so that all the cards are present in Deck A. This doesn’t seem to be an adequate/efficient solution for the long term to this issue.

I think this would be a useful feature. Perhaps there could be some sort of toggle for it depending on user preference?

So, this wouldn’t involve a duplication of the note. It would still be only one note. It would just be that this one note appears under both decks, and therefore can be accessed under either deck.

Notes aren’t in decks at all. You create notes, Anki creates cards from them, and those cards are in decks. A card can only be in one (regular) deck.

That sounds like you have an updating/duplicating problem when you’re importing those decks. You don’t want to have duplicate notes making duplicate cards in separate places, for exactly the reason you’ve identified here – you end up splitting your review history between them.

The solution you should be looking for is how to avoid making duplicates, or how to merge the duplicates you already have into a single note. This doesn’t require changing the app or adding a toggle.

If you’re careful with your review history, and your importing, and what is updated/not updated in each of those versions of the deck, that might be one way to do it. I’d have to know more about your decks to make suggestions about what might work for you.

1 Like

Say I have card A that is shared by both deck A and deck B. I don’t want to duplicate the card. I want to be able to complete it only once by clicking on either deck. When it is completed once, it would “disappear” so-to-speak for both.

The issue I’m having is that if I have a very large deck for my deck A, and I’m only unsuspending some of the cards for it, when I download deck B I don’t know which cards are supposed to also be a part of deck B. And so, the only solutions currently available are less than ideal: deleting a deck and redownloading them in a different order, or trying to figure out which cards are supposed to be in both decks.

And so, I think if there was an option to have the card A only downloaded once, but can be answered by clicking on either deck (or shows up in the browsing of both decks even though it’s only one copy), then that would solve it. By analogy, maybe think of it as if card A is present in deck A, but a shortcut to card A is present in deck B, so you can also unsuspend it from there and answer it from either deck when it is due to be answered.

What about ignoring duplicates during import?

I thought the Anki app automatically does that.
I’m in a sense trying to do something midway between ignoring / not ignoring. So it would be one card that is shared amongst multiple decks (so not a copy), but you could access it from either deck (to unsuspend it or to complete it when it is due).

That depends on what you select when importing a deck.

Oh, I don’t know. I sync from an Anki-based website.
Either way, I don’t think that would resolve the goal of the same card being completed from either deck when it’s due, and being marked as completed when answered once.

It will remove the need to keep the same card in two decks in the first place.

Or simply ignore duplicates by selecting Update notes: Never, when importing Deck C after decks A and B.


Sync is a separate thing, not directly related to importing a Deck, so I’m not sure what you mean.

So, my goal is to have the same card in two decks at the same time, and be updated (in terms of completion) whether it’s completed in one deck or the other. So, that would require an update to Anki.

It’s not possible to do that in Anki. A single card can exist in only one deck. Cards can’t be shared across decks.

Is this the actual goal, or an attempted solution to a different problem you have? If it’s the former, then why exactly?
From the original description, it seems like filtering out duplicates is the way to solve it. If it’s the issue of keeping track of cards’ sources, then Tags will be better suited for the task than multiple Decks.
Either way, having a single card in several Decks seems more confusing than useful. Especially considering that Decks have individual scheduling settings, and mixing them will complicate things further.

2 Likes

Right, so it would be like a “shortcut” based on the card ID to the one copy.
The reasoning behind this goal is precisely so it can be completed from either deck and the scheduling would therefore count as completed regardless of where you complete it from.
The decks I use simply have way too many cards to be able to efficiently sort through them to find all the cards that are cross-referenced in the new deck, while maintaining scheduling for the overlapping cards that were already unsuspended in the first deck (which (maintaining the schedule) can only be done if there is only one card, and the other is really just a shortcut that links back to it)

Yep! That’s why I am making this suggestion to add a feature where the duplicates are just a “shortcut” back to the original card

I am not sure how that can work. For instance, the date a card is due depends on how the card is being scheduled which in turn might depend on which deck the card is in. If you have a single card in multiple decks it’s not clear how the card should be scheduled.

It’s also not clear to me what issue this suggestion solves.

You can keep duplicates. I know you don’t want duplicates but I’m simply correcting the premise.

Anki recommends you create atomic cards that don’t depend on other cards. There are add-ons that allow linking of notes, you might be interested in them.

I’m not sure what you described there. How duplicates are handled depends on your settings.


In any case, I think such a suggestion isn’t possible without a massive overhaul across the board which is unlikely to happen. I suggest you look for other organisation tools like tags. Decks are only one of the many ways you can organise and study cards. See the docs for more info Adding/Editing - Anki Manual.

I think it would just be scheduled based on the original deck that the card is in.
The point of this would be so that the main draw of Anki, which is the scheduling at the time you need to review the card, is still maintained, rather than the alternative of reviewing the card twice as often (or whatever it ends up being) since it’s duplicated in both decks.

I can give an example of the difficulty I’m facing.
I have a deck with over 30000 cards of which I may only unsuspend around 3000 at a time say. However, that is my main deck (let’s call this deck A) and I want it to remain that way.
The issue is other decks use some of the cards in this deck and then also add more cards for that particular subject (let’s call this Deck B). And so say Deck B uses 100 cards that I’ve already unsuspended and another 700 that I have not. I would have to figure out which cards these other 700 are in order to unsuspend them manually in Deck A. Since I use a relatively high volume, it’s impractical to do this, or to otherwise unsuspend more than what I need in more of a broad unsuspension (due to time constraints for studying).
And so, the best solution would be to incorporate the “shortcut” feature that I mentioned. I think any minor tradeoffs (if they’re even necessary) such as a only basing the scheduling on the Deck A even if it’s completed in Deck B (i.e. scheduling it as if it was completed in Deck A which would otherwise occur in manually switching) is a relatively small tradeoff compared to the advantages

I don’t get this part and everything after it. How can one deck have the cards from another deck? Or do you mean they are different cards with similar content? Is it important that Anki identify similar content across decks for what you’re asking?

And this part. There are 700 unsuspended cards in Deck B but they are also in Deck A? I didn’t really get any of it, but is this a searching issue that -is:suspended solves?

I’m just trying to understand what is the issue you’re facing because it’s not very clear to me. It might be better for you to make a bullet list of concise points.

1 Like

I don’t get this explanation of the use case either. Do you mean that Decks A and B had notes with the same information, so after the import, you end up with duplicate Notes? If that is the problem, then the ability to have one Card in several Decks will not solve it. Duplicate Notes are separate entities, even if they contain the same information. So even if we suppose that the requested functionality is implemented, the need for figuring out which of the existing Notes between the two Decks are the same won’t go away.

There is no need to manually suspend and unsuspend cards to meet any constraints. Limits are better controlled via deck options.

So, let’s say I have a card with ID: 12345. This card is present in Deck A. Deck B also has this exact same card with the exact same ID. And so, currently, the only two options are either skip this card (so it doesn’t show up in Deck B) when Deck B is imported, or otherwise have a copy, but that would have separate scheduling.

I would have to manually search for each of the unsuspended cards.

Here’s a point form (but simplified) summary:

Deck A has 30000 cards.
The first 3000 are unsuspended.
Deck B would normally have 4000 cards, but 800 of these cards are also present in Deck A.
Of these 800 cards, 100 have already been unsuspended in Deck A, but 700 are still suspended.
From here there are two options:

  1. In order to find these 700 suspended cards, it would take far too much effort.
  2. Alternatively, the feature I’m requesting is that the 800 cards that are overlapping between both decks would not be duplicated into Deck B, but rather there would be a shortcut in Deck B to each of these 800 cards in Deck A. That way, you can both browse for these same cards in Deck B as well, and also when you complete them in either deck, they would be scheduled only once, until their next due date. So, if card ID: 12345 is due today, then it can be completed once in either Deck A or Deck B (since it is shared by both), but once it is completed today in either of them, it will be rescheduled say 5 days from now, and so won’t be completed again until then. This maintains the normal schedule.
    One other thing is that I can for example unsuspend all 4000 cards in Deck B, without having to worry about going through searching for the 800 (or the 700 that are still suspended in this case) overlapping cards between Deck A and Deck B,

Hopefully that explanation helps. If not, I’ve been typing the same comment a few times now in the replies, so perhaps rereading a few of them may also help?

So the cards in both decks have the exact same card ID, which is why they can be skipped when importing Deck B since they were already downloaded as part of Deck A.

I just finished another reply above this just now that answers these points in more detail. Please also refer to that

Certainly sounds like you need a Custom Deck, based on tags or similar.