Fix "Failed to Personalize the Software Update" โ€“ Firmware Update Failed on macOS

intermediate๐ŸŽ macOS2026-03-26| macOS 12 Monterey, macOS 13 Ventura, macOS 14 Sonoma โ€“ Apple Silicon (M1/M2/M3) and Intel Macs running System Preferences / System Settings software update

Error Message

An error occurred while preparing the update. Failed to personalize the software update.
#macos#firmware#update#recovery

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 (date in 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.com or mesu.apple.com will 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, and oscdn.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.

Further Reading

Related Error Notes