Skip to main content

Synopsis

Description

The dvc status command shows the status of your DVC-tracked files and pipeline stages. It helps you understand:
  • Which tracked files have been modified in your workspace
  • Which pipeline stages need to be reproduced
  • Differences between local cache and remote storage (with --cloud option)
  • What data needs to be pushed or pulled
The command operates in two main modes:
  1. Local mode (default): Shows which files/stages have changed in your workspace
  2. Cloud mode (--cloud): Compares your local cache with remote storage
Think of dvc status as similar to git status - it shows what has changed without making any modifications.

Options

path
Limit command scope to specific tracked files/directories, .dvc files, or stage names.
boolean
default:"false"
Suppresses all output. Exit with 0 if pipelines are up to date, otherwise 1. Useful for scripts and CI/CD.
boolean
default:"false"
Show status of local cache compared to remote repository. Shows what needs to be pushed or pulled.
string
Remote storage to compare local cache to. Used with --cloud.
integer
default:"4 * cpu_count()"
Number of jobs to run simultaneously when checking status.
boolean
default:"false"
Show status for all Git branches. Used with --cloud.
boolean
default:"false"
Show status for all Git tags. Used with --cloud.
boolean
default:"false"
Show status for all Git commits. Used with --cloud.
This can be very slow for repositories with many commits.
boolean
default:"false"
Show status for all dependencies of the specified target.
boolean
default:"false"
Show status of all stages in the specified directory.
boolean
default:"false"
Show status in JSON format. Useful for parsing in scripts.
boolean
default:"false"
Ignore updates to imported data.

Examples

Basic status check

Check the status of all tracked data:
Or if there are changes:

Check specific files

Check status of specific targets:

Cloud status

Compare local cache with remote storage:
This shows files that exist locally but haven’t been pushed to remote storage. Or if pulling is needed:

Compare with specific remote

Check pipeline dependencies

Check a stage and all its dependencies:

JSON output

Get status in JSON format for programmatic use:

Quiet mode for scripting

Use in CI/CD or scripts:

Check all branches

See what needs to be synced across all branches:

Understanding status output

Local mode status states

Cloud mode status states

Example workflows

Workflow 1: Before committing

Workflow 2: Syncing with remote

Workflow 3: Pipeline development

When nothing changes

If everything is up to date, you’ll see:
Or for cloud mode:
Or if the project is new:

Performance tips

Use targets - Check specific targets rather than the entire project to get faster results.
Adjust jobs - Use --jobs to control parallelism. More jobs = faster but more resource-intensive.
Avoid —all-commits - This option can be extremely slow for large repositories. Use --all-branches or --all-tags instead when possible.
  • dvc diff - Show detailed differences between commits
  • dvc commit - Record changes to tracked files
  • dvc push - Upload data to remote storage
  • dvc pull - Download data from remote storage
  • dvc checkout - Update workspace from cache