Dedupe and merge
The problem
Section titled “The problem”The same paper got imported three times — once from the browser connector, once from a BibTeX file, once by DOI — with slightly different titles each time. Zotero’s built-in duplicate detection is conservative and its merge is manual, one group at a time. You want to find near-duplicates across the whole library and clear them out.
Via an AI agent
Section titled “Via an AI agent”“Find duplicate titles in collection Reading list, including fuzzy matches, show me the groups, then merge each group keeping the oldest as the master. Back up first.”
The agent takes a backup, finds duplicate groups (exact or fuzzy), shows them for your approval, and merges — oldest item as master.
Via the CLI
Section titled “Via the CLI”zot dedupe --by title --collection SS5MVVB6 # exact-title duplicateszot dedupe --by title --fuzzy --collection SS5MVVB6 # near-duplicates (Levenshtein)zot dedupe --by doi # duplicates by DOIReview the groups, then merge (oldest item becomes the master):
zot backup # REQUIRED — merges cannot be undonezot dedupe --by title --merge --yesScope with --collection before ever running library-wide.
Safety net
Section titled “Safety net”zot backup # snapshot zotero.sqlitezot dedupe --by title --fuzzy --dry-run # inspect groups before committing# ... verify the groups are true duplicates ...zot dedupe --by title --merge --yesIf a merge went wrong, restore the zotero.sqlite snapshot that zot backup
printed the path to.