TL;DR โ Quick Fix
It's 2 AM, you just need the machine working again. Here's the shortest path:
- Check your system clock is correct (
datein Terminal). - Flush the software update cache:
sudo rm -rf /Library/Updates/*then retry. - If that fails, boot into Recovery Mode and run the update from there.
- Last resort: use Apple Configurator 2 to revive or restore firmware via DFU mode.
Keep reading for exact commands and what actually triggers each fix.
The Error
An error occurred while preparing the update. Failed to personalize the software update.
This message shows up in System Settings โ General โ Software Update (or System Preferences on older macOS) when the update process stalls during the personalization handshake with Apple's servers.
"Personalization" means Apple's servers cryptographically sign the firmware package for your specific device โ using its hardware UUID and chip ID. If that signing step breaks for any reason, the update refuses to go any further.
It's especially common after a clean install, after swapping logic boards, on machines with drifting hardware clocks, or when Apple's IPSW signing window has closed for a particular build.
Root Cause
The personalization step reaches out to gs.apple.com โ Apple's signing server. It sends your device's ECID, board ID, and chip ID, then waits for a signed blob in return. Four things reliably break this exchange:
- Clock skew: TLS validation fails silently if your system time is off by more than a few minutes. Apple's signing servers reject requests with stale timestamps โ even a 90-second drift can kill the handshake.
- Corrupted update cache: A partial download sitting in
/Library/Updates/can fool the update daemon into thinking the package is ready, even though the signing blob is missing. - Network interception: Corporate proxies, VPNs, DNS sinkholes, or Little Snitch rules that block
gs.apple.comormesu.apple.comwill all cause this silently. - Sealed System Volume integrity mismatch: On Apple Silicon, if the SSV hash doesn't match Apple's expected value, personalization fails before it even touches the network.
Fix 1 โ Correct the System Clock
This is the most overlooked cause. Open Terminal and run:
date
# Should match current UTC time
# Force sync via NTP:
sudo sntp -sS time.apple.com
If sntp reports an offset larger than 60 seconds, that's your culprit. Sync the clock, then retry Software Update immediately โ don't let the machine sit idle first.
Fix 2 โ Purge the Update Cache
Partial downloads are surprisingly common after interrupted updates. The daemon caches whatever it grabbed, then chokes trying to sign an incomplete package. Clearing everything forces a clean re-download with a fresh signing request:
# Remove cached update packages
sudo rm -rf /Library/Updates/*
# Kill and restart the softwareupdate daemon
sudo launchctl stop com.apple.softwareupdated
sudo launchctl start com.apple.softwareupdated
# Trigger a fresh check
softwareupdate --list
Then open System Settings and try the update again.
Fix 3 โ Bypass the GUI, Use the CLI
The GUI update path can get stuck in a bad state without giving you any useful error details. The command-line tool talks to the same servers but starts with a cleaner session โ and critically, it tells you what's actually going wrong:
# List available updates
softwareupdate --list
# Install a specific update by label (copy the label from --list output)
softwareupdate --install "macOS Sonoma 14.x" --verbose
# Or install everything pending
softwareupdate --install --all --verbose
Don't skip the --verbose flag. It shows you exactly where personalization fails โ network timeout vs. local signing error โ which saves you from guessing which fix to try next.
Fix 4 โ Check Network / Disable VPN and Proxies
Apple's signing servers require direct HTTPS access. No transparent proxies, no SSL inspection. Test connectivity before anything else:
# Verify the signing server is reachable
curl -I https://gs.apple.com
# Expected: HTTP/2 200 or a redirect โ NOT a timeout or SSL error
curl -I https://mesu.apple.com/assets/
# Should return HTTP/2 200
If either of these times out or throws a TLS error, the problem is your network, not the Mac. Work through this checklist:
- Disconnect from VPN.
- Disable any content filtering or firewall rules for
gs.apple.com,mesu.apple.com, andoscdn.apple.com. - Test on a completely different network โ a mobile hotspot is perfect for isolating corporate network interference.
Run softwareupdate --install --all --verbose after each change so you can pinpoint exactly which rule was the blocker.
Fix 5 โ Update from macOS Recovery
When the main OS environment is too broken to complete the update, Recovery Mode has its own isolated update mechanism. It's a clean slate.
Boot into Recovery:
- Apple Silicon: Shut down โ hold the power button until "Loading startup options" appears โ select Options โ Continue.
- Intel: Restart and hold Cmd + R.
Once in Recovery, open Reinstall macOS from the utilities window. This re-downloads the OS image fresh and runs personalization from an environment that isn't carrying whatever state broke the normal update path.
Fix 6 โ DFU Restore via Apple Configurator 2 (Apple Silicon, Last Resort)
If the firmware itself is corrupted โ you see this error on a blank machine, or you're stuck in an update failure loop โ you need a second Mac running Apple Configurator 2. This is the nuclear option, but it works.
Put the target Mac into DFU mode:
- M1/M2 MacBook: With the machine off and a USB-C cable connected to the second Mac, hold left Shift + left Option + left Control, then press and hold the power button for 10 seconds. Release all keys.
- Mac mini M1/M2: Hold the power button for 10 seconds while connected via USB-C to another Mac.
On the second Mac in Apple Configurator 2:
- The bricked Mac appears as a DFU device in the main window.
- Right-click it โ Advanced โ Revive Device. This attempts to restore firmware without erasing your data โ try this first.
- If Revive fails, use Restore Device. This erases everything and reinstalls from scratch.
# After DFU restore, verify firmware integrity from Terminal:
system_profiler SPiBridgeDataType | grep -i firmware
Verification โ Confirming the Fix Worked
After any fix, take 30 seconds to confirm the update actually completed cleanly rather than just appeared to:
# Check current macOS version
sw_vers
# ProductVersion should match the update you were installing
# Verify no pending updates remain
softwareupdate --list
# Should return: No new software available.
# Check system integrity (Apple Silicon)
diskutil apfs updatePreboot disk3s5
# Should complete without errors โ confirms the sealed snapshot is valid
sw_vers shows the new version and softwareupdate --list comes back clean? You're done.
If Nothing Works
At this point, the hardware UUID may be unrecognized by Apple's signing servers. This happens most often on refurbished boards or after unauthorized logic board swaps โ the UUID that got registered with Apple no longer matches the physical hardware.
- Contact Apple Support with proof of purchase. They can flag the device for re-enrollment in the personalization service.
- Check your warranty or AppleCare status. Logic board issues that cause persistent personalization failures are typically covered.
- Run
system_profiler SPHardwareDataType | grep "Hardware UUID"and check the output. A UUID of all zeros points to a hardware fault, not a software one.

