Every command and flag in comic-dl, plus JSON output and exit codes.
On this page
Look up commands, flags, defaults, and JSON output shapes. The default command
downloads content when given a URL; see Downloading for
worked examples.
Chapters downloaded in the last N days (default 7)
comic-dl update <SERIES|all> [-p N] [--dry-run]
Re-scrape tracked series, download new chapters. -p sets how many series update at once (1–16, default 1)
comic-dl remove <SERIES> [--dry-run]
Move a series to trash
comic-dl restore <SERIES>
Bring a trashed series back
update -p runs series concurrently but every request still passes through the
per-host rate limiter, so raising it never exceeds the politeness budget.
Configuration
Command
Description
comic-dl config path
Print the effective config file path
comic-dl config show
Print resolved configuration (defaults + file)
comic-dl config validate
Type-check the file; report keys differing from defaults
comic-dl config init [--force]
Write a commented starter config
comic-dl config edit
Open config in $VISUAL / $EDITOR
comic-dl config help
Show help for the config commands
Cache & Cookies
Command
Description
comic-dl cache status [--json]
Show cache location, TTL, size budget, fresh/stale split
comic-dl cache clear [-y] [--dry-run]
Delete all cached entries (plus stray comic-dl-* temp dirs)
comic-dl cache prune [-y] [--dry-run]
Delete only stale (past TTL) and orphaned cache files
Check for and install updates through the tool that installed comic-dl
comic-dl self site list [--json]
List installed site adapters, their versions, and cached status
comic-dl self site check [SITE] [--live] [--json]
Compare installed adapter versions against the latest release manifest; --live runs a live check for one site
comic-dl self site update SITE / --all
Update site support (bundled adapters update with the core)
comic-dl plugin list [--json]
List installed third-party sources (including broken ones)
comic-dl plugin validate <PATH>
Shape-check a plugin’s Source class offline
comic-dl plugin scaffold <NAME> [--domain HOST]
Generate a plugin package skeleton
self update refuses to guess: package-manager installs are updated by the
owning package manager, pip/uv installs by the tool that created them, and a
source checkout or unknown installation is reported with manual
instructions. See Self-Management and
Site Support for the per-installation behaviour.
help accepts subcommands, so comic-dl help self site prints the help for
self site rather than the top-level screen.
Global flags
Input
Flag
Short
Default
Description
--url
-u
—
Single URL to download
--file
-f
—
Text file with one URL per line
Layout & output
Flag
Short
Default
Description
--output
-o
~/Downloads/comic-dl
Output directory
--force
Overwrite existing archives. With --file and multiple URLs, asks before re-downloading
--dry-run
Resolve each URL and list what would download, skip, or re-download, without writing
--chapters
interactive picker
Chapter subset. 1-3,7 (1, 2, 3, 7), 1-3,7,10- (1, 2, 3, 7, 10 through the end), all, 0 (prologue/promo). Omit for a checkbox picker
--max-image-size
100MB
Maximum bytes per image. Accepts suffixes (500MB, 2GB)
--max-size
0 (unlimited)
Maximum total download size per batch; 0 also means unlimited
--force is the only way to overwrite. Never overwriting is already the
default, so the old --no-clobber flag is a deprecated no-op and is no longer
listed on the help screen.
Cloudflare challenge solver. Overrides [http]. auto tries impersonation first, then webview if needed; impersonation is TLS/HTTP fingerprint only; webview uses the system WebView (GTK/WebKit) and needs a display plus GTK libs; off disables the solver and challenged sites will fail. Solving is opt-in
--proxy
HTTP(S) proxy for every request (e.g. http://127.0.0.1:8080). Overrides $COMIC_DL_PROXY, $HTTPS_PROXY, [http]
--no-cookie
Disable the persistent cookie jar for this run
--no-rate
Disable per-site rate limiting for this run
--no-cache
Disable the on-disk scrape response cache for this run
--no-generic
Disable the generic fallback scraper, so unknown hosts report Unsupported URL instead of static extraction
Output
Flag
Short
Default
Description
--quiet
-q
Suppress progress and status output; errors only (scripts/cron)
--json
Machine-readable JSON on stdout; disables interactive prompts
--no-banner
Suppress the ASCII brand banner
--color
auto
auto honors NO_COLOR, CLICOLOR_FORCE, CLICOLOR, and FORCE_COLOR; use always for | less -R
--no-color
Disable ANSI colors everywhere, including progress
Diagnostics
Flag
Short
Default
Description
--verbose
-v
Increase verbosity: -v context, -vv page/cover requests and timing, -vvv every image request and full trace
--debug-file
Divert the -vvv trace to a file instead of the screen (implies -vvv)
--show-legal-notice
Re-show the first-run legal notice, then continue
COMIC_DL_TRACE_HTTP=1 shows page-request headers at -vv (images still need -vvv).
Config
Flag
Short
Description
--config
Path to a custom config.toml (overrides $COMIC_DL_CONFIG)
--no-config
Ignore config.toml for this run; built-in defaults only
--quiet and --verbose are mutually exclusive.
JSON output
Every --json payload includes a schema_version field (currently 2).