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.
Step by step
1vm snapshot take dev cleanCapture the machine's state under a name you will recognise later.
1vm snapshot list devThe snapshot tree, with the automatic clean-install snapshot at its root.
1vm snapshot restore dev cleanGo back. Sub-millisecond, because nothing is copied.
1vm reset dev --forceAll 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
Create a Linux VM
One command to a booted Debian, Ubuntu or Omarchy guest — or a prepared toolchain with nothing left to install.
Read it →Run Windows on Apple silicon
The first-party 1VM engine boots Windows on ARM without QEMU — installed from your own ISO, with the virtio drivers attached.
Read it →Run Docker on a Mac
A Debian VM 1VMTool provisions, starts on demand and counts against one memory budget — with the Docker CLI pointed at its private socket.
Read it →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.