Resuming & slicing runs
Capture a slice of a large run
--limit and --offset let you capture part of a resolved URL list instead of all of it —
useful for splitting a huge sitemap across parallel CI jobs, or testing a run before committing
to the whole thing:
# Capture URLs 50 through 99
shotsweep capture --sitemap https://example.com/sitemap.xml --offset 50 --limit 50--offset skips that many resolved URLs before starting; --limit caps how many are captured
after that. --limit must be a positive integer and --offset must be 0 or more; anything
else is rejected with a clear message. An --offset that skips every URL stops with an error
instead of silently capturing nothing.
Resuming after a crash
--resume skips URL + viewport pairs that already succeeded in --out’s existing manifest and
whose screenshot file is still on disk, instead of re-capturing everything. If you’ve deleted a
screenshot, it is captured again:
shotsweep capture --sitemap https://example.com/sitemap.xml --out ./screenshots --resumeUseful after a crash, a killed process, or a power loss partway through a large run — re-running
the same command with --resume picks up where it left off.
Known limitation: for --mode sections, only fully-successful full-mode jobs are trusted
for resume. A sections job always re-captures on resume — a partial section write (say, a
crash after section 12 of 17) currently can’t be distinguished from zero sections written, so
ShotSweep re-runs it to be safe rather than risk an incomplete set of section images.
Seeing progress on a large run
By default, ShotSweep shows a single spinner line that overwrites itself — fine for a quick run,
but it hides history once you’re running with concurrency. --verbose prints one persistent line
per completed job as it finishes:
shotsweep capture --sitemap https://example.com/sitemap.xml --concurrency 4 --verbose✓ https://example.com (1440x900) — 1/40
✓ https://example.com/about (1440x900) — 2/40
✗ https://example.com/dashboard (1440x900) — 3/40
...