diff --git a/core/anki.py b/core/anki.py index b21aa73..91b5aa9 100644 --- a/core/anki.py +++ b/core/anki.py @@ -99,6 +99,15 @@ def add_vocab_cards(vocab_list: list[dict], source_title: str = "") -> list[int] created = [note_id for note_id in results if note_id is not None] skipped = len(results) - len(created) + + # addNotes ignores deckName in some AnkiConnect versions — move explicitly + if created: + try: + card_ids = _invoke("findCards", query=f"nid:{','.join(str(n) for n in created)}") + _invoke("changeDeck", cards=card_ids, deck=DECK_NAME) + except Exception as exc: + logger.warning("changeDeck failed: %s", exc) + logger.info( "Anki: added %d card(s), skipped %d duplicate(s) for '%s'", len(created), skipped, source_title[:40],