Mac maintenance
Time Machine Won't Complete a Backup? Here's the Fix
Time Machine starting but never finishing on your Mac? Walk through the fixes that actually work, from sparsebundle locks to APFS snapshot cleanup.
The progress bar climbs to 87%, sits there for two hours, then quietly resets to “Backing up: 0 KB of 412 GB.” You’ve watched this loop play out three times this week. Time Machine isn’t throwing an error — it’s just refusing to finish.
This is one of the most frustrating Mac issues because it pretends to work. Here’s how to find the actual cause and get a clean backup again.
Confirm the backup really isn’t completing
Open the Time Machine menu bar icon. If you don’t see one, enable it in System Settings → Control Center → Time Machine → Show in Menu Bar. The status text tells you the current state.
For a more reliable read, run this in Terminal:
tmutil status
You’re looking for Running = 1 and a BackupPhase that progresses: MountingBackupVolume → FindingChanges → Copying → ThinningPostBackup → Finishing. If Percent keeps climbing then drops back to 0, the backup is restarting itself — which usually means a write error or a failed verification at the end.
Then check the actual log:
log show --predicate 'subsystem == "com.apple.TimeMachine"' --last 4h --info | grep -iE "error|failed|cannot"
That filters for the lines that matter. You’ll usually find a clear cause within a few entries.
Fix the most common cause: a corrupt sparsebundle
If you back up to a network drive (Time Capsule, NAS, shared Mac), Time Machine creates a .sparsebundle file. These are notoriously fragile when interrupted.
Mount the network share, find the .sparsebundle, and run:
hdiutil verify /Volumes/Backups/YourMac.sparsebundle
If it errors out, the bundle is damaged. You have two options:
- Repair it. Mount the bundle as a writable image and run First Aid on it in Disk Utility. This works maybe 60% of the time.
- Start over. Move the broken bundle to a backup folder, then start a new backup. Don’t delete the old one until the new backup is healthy.
Repair attempt:
chflags -R nouchg /Volumes/Backups/YourMac.sparsebundle
hdiutil attach -nomount -noverify -noautofsck /Volumes/Backups/YourMac.sparsebundle
Then run First Aid on the mounted disk in Disk Utility. If it succeeds, eject and try a backup. If it fails, accept the loss and start fresh.
There’s a faster waySweep does the cruft hunt in seconds. Free for macOS →
Local backups: the disk filling up trick
If you back up to a directly attached drive and the backup never finishes, check disk space on both ends:
df -h
Look at the boot drive (/) and the backup volume. If either is above 95% full, Time Machine will struggle. Local APFS snapshots can fill the boot drive without warning — tmutil keeps them for 24 hours regardless of free space.
Force a thinning of local snapshots:
tmutil thinlocalsnapshots / 100000000000 4
That asks for 100 GB of free space, with priority 4 (most aggressive). If the system is healthy, you’ll see snapshots delete and disk space free up immediately.
Permissions and the silent skip
Time Machine silently skips files it can’t read. If a backup keeps “completing” but takes the same forever every time, it might be choking on a permissions issue.
Check Full Disk Access in System Settings → Privacy & Security → Full Disk Access. Confirm backupd and Time Machine are listed and enabled. On macOS Sonoma and later, this gets reset occasionally during system updates.
Then check ownership of your home folder:
ls -la /Users
Your account should own its home directory. If you see root or another user owning files inside, run:
sudo chown -R $(whoami):staff /Users/$(whoami)
Be careful with that command — only run it on your own home folder.
The “preparing backup” loop
If Time Machine sits in “Preparing backup…” for 30+ minutes every time and never moves to copying, the index is the culprit. Time Machine builds an inventory of every file before each backup, and that inventory can corrupt.
Try these in order:
- Eject the backup drive cleanly.
- Run:
sudo tmutil disable - Wait 30 seconds, then:
sudo tmutil enable - Reconnect the drive and start a manual backup:
tmutil startbackup
If that doesn’t work, you can force-rebuild the inventory by deleting the .fseventsd folder on the backup drive. Eject the drive first, mount it as read-write, then:
sudo rm -rf /Volumes/YourBackup/.fseventsd
The next backup rebuilds the index, which takes longer than usual but resolves the loop.
When the source drive is the problem
Sometimes the backup destination is fine and the source disk is the issue. Open Applications → Utilities → Disk Utility and run First Aid on your boot volume. If it errors, you’ve got bigger problems than backups — clone the drive immediately and replace the SSD.
Also check SMART status:
diskutil info / | grep "SMART"
Verified is healthy. Failing means start saving everything you care about right now.
Exclude what’s churning
A folder that constantly rewrites itself can stall a backup. The usual suspects:
~/Library/Application Support/Slack(rebuilds caches every launch)~/Library/Application Support/Google/Chrome~/Library/Application Support/Code/User/workspaceStorage- Docker volumes and
~/Library/Containers/com.docker.docker/Data - Any actively-syncing iCloud folder during the backup window
Add exclusions in System Settings → General → Time Machine → Options or via:
sudo tmutil addexclusion -p ~/Library/Application\ Support/Slack
Then restart the backup. A backup that was failing because Docker was rewriting a 60 GB image every five minutes will suddenly complete in 20.
Reset Time Machine without losing history
If nothing else works, you can reset Time Machine’s state without erasing your backup history:
System Settings → General → Time Machine- Click the (i) next to your destination, then Forget Destination
- Restart the Mac
- Add the destination back
Time Machine inherits the existing history and continues where it left off. This clears any cached state corruption without starting from scratch.
If you have multiple backup destinations, reset them one at a time so you keep at least one healthy backup chain.
Why a clean Mac backs up faster
Time Machine doesn’t care whether your boot drive holds 80 GB of useful files or 80 GB of leftover Homebrew downloads. It backs up everything that isn’t excluded.
A typical Mac that hasn’t been cleaned in a year carries 30–60 GB of:
- Browser caches that regenerate every session
- Old Xcode iOS simulators
.dmginstallers from apps installed two years ago- Language packs for languages you don’t speak
- Universal binary slices for the architecture you don’t use
- Crash reports and diagnostic logs from 2024
Time Machine archives all of that. Removing it before backups means less data to copy, faster initial backups, and lower storage bills if you back up to a paid cloud destination.
Sweep’s job is finding those categories and giving you a preview before anything’s deleted. Time Machine still owns the time-versioned recovery story — Sweep just stops you from versioning files that have no business being versioned.
When to give up and rebuild
If you’ve spent more than two weekends on this and the backup still won’t complete, accept it and start fresh:
- Buy a new drive (or wipe a different drive you trust).
- Format it APFS, GUID Partition Map.
- Add it as a Time Machine destination.
- Let the first backup run overnight while you sleep.
- Keep the broken backup drive offline for 60 days as a fallback.
A working backup is worth more than a complete history that you can’t actually use. Get a clean baseline going, then worry about the old data.
The goal of Time Machine is invisibility. If you’re thinking about it, something’s wrong — and the fix is almost always something you can do in 20 minutes once you know where to look.