Library Management
Last updated
List downloaded series, check recent chapters, update subscriptions, and remove or restore series.
On this page
comic-dl tracks every download in a single local SQLite database. This enables skip/resume, subscription updates, and library queries.
The database lives at the per-platform data directory:
~/.local/share/comic-dl/library.db on Linux ($XDG_DATA_HOME honored),
~/Library/Application Support/comic-dl/library.db on macOS, and
%LOCALAPPDATA%\comic-dl\library.db on Windows. Override it with
$COMIC_DL_DATA_DIR. Every row records which output folder it belongs to, so
one database covers all your download folders.
List series
comic-dl list
comic-dl list --json
comic-dl list --source e-hentai.org # filter by source domain
Inspect chapters and file status
comic-dl info "My Favorite Series"
comic-dl info "My Favorite Series" --json
The info view shows chapters with verification status: ✓ (file present on
disk), ✗ (file missing), or – (never downloaded).
Recent downloads
comic-dl latest # last 7 days
comic-dl latest -n 30 # last 30 days
comic-dl latest --json
comic-dl latest --source e-hentai.org
Update tracked series
Re-scrape a series and download newly released chapters:
comic-dl update all # every tracked series, every folder
comic-dl update "My Favorite Series" # one series by title, ID, or URL
comic-dl update all --dry-run # preview only, download nothing
Only new chapters are fetched. Existing chapters are skipped via the library.
The series’ last checked and last updated timestamps are refreshed (a dry
run refreshes nothing). Each series downloads into the folder recorded for it.
Series without a stored source URL, or without a series-page endpoint, are reported as skipped.
Large libraries update faster in parallel — cap how many series re-scrape at
once with --parallel (default 1 keeps runs sequential):
comic-dl update all --parallel 4 # update up to 4 series concurrently
Parallel series still share the per-host rate limiter, so they never exceed the politeness budget.
Remove a series
comic-dl remove "My Favorite Series"
comic-dl remove "My Favorite Series" --dry-run # preview
Moves the series folder to <output-root>/.comic-dl/trash/ (the trash next
to where the series lives) and forgets it.
Trashed series are purged after 7 days.
Restore a series
comic-dl restore "My Favorite Series"
Moves a trashed series back and restores its library entry, including original timestamps. Searches the trash of every known output folder. Resolves by title, series ID, or source URL. Refuses to clobber an existing directory or entry.
Resolving series names
info, remove, restore, and update resolve series by title, ID, or URL
across the whole library. If the target cannot be resolved (no match, or
ambiguous with candidates
shown), the command exits with code 2.
A mistyped --source domain gets a “Did you mean” suggestion.
JSON output
All library commands support --json for scripting. Every row carries its
output_root, so scripts always know which folder a series lives in:
comic-dl list --json
# {"schema_version": 2, "series": [...]}
comic-dl info <series> --json
# {"schema_version": 2, ..., "chapters": [...]}
comic-dl latest --json
# {"schema_version": 2, "chapters": [...]}
Error messages still go to stderr. The schema_version field enables scripts
to detect breaking changes. See the JSON output reference
for payload shapes.