How to delete all local TimeMachine snapshots

I have automatic backup enabled and local TimeMachine snapshots take a large amount of disk space. This space is listed as purgeable in disk info, but cannot be actually used until the system decides to free it up. How can I force TimeMachine to delete those snapshots?


In Terminal, execute this small script:

for d in $(tmutil listlocalsnapshotdates | grep "-"); do sudo tmutil deletelocalsnapshots $d; done

The script lists all snaphosts and deletes all of them in a loop.


If you’re not running low on disk space (5 GB free) - just let this space be allocated as there is no downside to waiting to purge files until you need space.

That being said, if you decide to preemptively delete backups, I prefer to tell the system to free up space. If you know you have 50 GB amount to free, change the 5 below to 50 and then the system will iterate across all the local snapshots and prune them in the order defined by the system.

tmutil thinlocalsnapshots / $(echo "5 * 1000000000" | bc) 2

The only iteration I would do is to see how many APFS volumes you have and then perhaps thin any that are mounted.

Here’s a nice thread explaining the urgency - 2 works well for my needs, but the manual page explains there are 4 levels of urgency, so if you have specific needs, watch the IO and performance during thinning and experiment with smaller snapshots to thin.

  • How to thin your local Time Machine Snapshots on macOS High Sierra

I found by accident that opening the "Storage administration" windows (Cmd-U) in "System Information" released the local time machine snapshots making the space available.

I do not know if this is an officially supported way.


Step 1:

In Terminal, enter the following command to list all backup snapshots:

tmutil listlocalsnapshots /

You will get a list of all the snapshots in the root directory (/).

Step 2:

Delete each snapshot by entering the following command + date of the corresponding snapshot:

sudo tmutil deletelocalsnapshots <snapshot_date>

Example:

sudo tmutil deletelocalsnapshots 2020-09-26-143409

Bonus Tip:

Remember you can always get help with a command in terminal by entering the root command -h or -help.

Enter tmutil -help to see all the Time Machine Utility commands, and usage instructions.