Skip to content
Latchkey

DVC "No space left on device" (Errno 28) in CI

DVC ran out of disk while writing to the cache or workspace, so the OS returned "[Errno 28] No space left on device". Large datasets plus a duplicate copy in cache and workspace can exceed a hosted runner's disk.

What this error means

dvc pull, checkout, or repro aborts with "ERROR: unexpected error - [Errno 28] No space left on device" partway through a large transfer.

dvc
ERROR: unexpected error - [Errno 28] No space left on device

Common causes

The dataset exceeds the runner disk

DVC keeps a cache copy and a workspace copy; for large data that doubles usage and can fill a hosted runner's limited disk.

Accumulated caches and artifacts

Old Docker layers, pip caches, and prior DVC cache left little free space before the pull started.

How to fix it

Free space and use symlink/hardlink cache

  1. Free disk before pulling (prune Docker, clear unused caches).
  2. Configure DVC to link cache into the workspace instead of copying.
  3. Re-run the pull.
Terminal
dvc config cache.type symlink,hardlink
dvc checkout

Pull only what the job needs

Fetch specific targets rather than the whole cache to reduce disk pressure.

Terminal
dvc pull data/train.csv.dvc

How to prevent it

  • Use cache.type symlink,hardlink to avoid duplicate copies.
  • Pull only the targets a job needs, not the entire dataset.
  • Clear unused caches and images before large DVC transfers.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →