Edit on GitHub


Unfreeze stages so that dvc repro can execute them. See dvc freeze for more information.


usage: dvc unfreeze [-h] [-q | -v] targets [targets ...]

positional arguments:
  targets        Stages or .dvc files to unfreeze


There are several ways that tracked data files can be frozen, dvc freeze being one of them. Frozen stages are considered not changed by dvc status and dvc repro.

If dvc unfreeze is used on frozen stages, they will start being checked again by dvc status, and regenerated by dvc repro.

Note that import stages are frozen by default. Use dvc update to update the imported data from the external data source. Unfreeze them before using dvc repro on a pipeline that needs their outputs.


  • -h, --help - prints the usage/help message, and exit.

  • -q, --quiet - do not write anything to standard output. Exit with 0 if no problems arise, otherwise 1.

  • -v, --verbose - displays detailed tracing information.


First, let's create a dummy stage that copies foo to bar:

$ echo foo > foo
$ dvc add foo
$ dvc stage add -n make_copy -d foo -o bar cp foo bar

See dvc stage add for more details.

Then, let's change the file foo that the stage make_copy depends on, and freeze the stage as well, to see what's the project status after that:

$ echo zoo > foo
$ dvc freeze make_copy
$ dvc status
	changed outs:
		modified:           foo

DVC notices that foo changed due to the foo.dvc file that tracks this file (as outs), but the make_copy stage doesn't record the change among its dependencies. Run dvc unfreeze to get the regular/full project status:

$ dvc unfreeze make_copy
$ dvc status
	changed deps:
		modified:           foo
	changed outs:
		modified:           foo

๐Ÿ› Found an issue? Let us know! Or fix it:

Edit on GitHub

โ“ Have a question? Join our chat, we will help you:

Discord Chat