Free tools · Snapshots

Take a snapshot, break the machine, put it back

Take, list and restore virtual machine snapshots from the command line. Because a snapshot is an APFS clone rather than a disk copy, taking one and rolling back to it finish in under a millisecond regardless of how large the disk is.

macOS 26 or later · Apple silicon · free on both tiers

Step by step

  1. 1vm snapshot take dev clean

    Capture the machine's state under a name you will recognise later.

  2. 1vm snapshot list dev

    The snapshot tree, with the automatic clean-install snapshot at its root.

  3. 1vm snapshot restore dev clean

    Go back. Sub-millisecond, because nothing is copied.

  4. 1vm reset dev --force

    All the way back to the clean state the machine was installed in.

Worth knowing

  • `1vm rollback dev on` discards everything written since boot when the machine powers off — a scratch machine that cleans itself.
  • `1vm discard-session dev --force` returns to the snapshot this boot started from without touching earlier ones.
  • Free keeps two snapshots per machine; the automatic clean-install snapshot never counts against that.

The long version

This page is the short path. For the whole area in prose — the options, the edge cases and what to do when it does not work — read Snapshots.

Related

Frequently asked questions

Why are snapshots instant?

APFS clones share blocks instead of duplicating them, so creating one is a metadata operation. Restoring is the same operation in reverse. Disk size stops being a factor.

Do snapshots use disk space?

Only for what diverges. A snapshot starts sharing every block with the live disk and grows as the machine writes over them. `1vm du` reports usage across the whole library.

Can I snapshot a running machine?

`1vm snapshot take` captures the state the backend supports. What that includes depends on the engine and the guest — `1vm capabilities` reports what this Mac can do.