Skip to content
Home » Mac Update Stuck? How to Tell If It’s Frozen or Just Working

Mac Update Stuck? How to Tell If It’s Frozen or Just Working

  • by

A macOS update that looks frozen — the bar stuck in one place for an hour, or “less than a minute remaining” that never ends — is usually still working. A big update spends long stretches downloading and unpacking while the bar barely moves, and the on-screen estimate is a guess rather than a measurement. The mistake that turns a non-problem into a real one is forcing a restart mid-install. So the skill worth having is telling a slow update from a dead one before you reach for the power button. Here is how, checked on macOS 26.5.2, plus the few things that actually cause a stall and how to avoid the whole situation next time.

Tell a slow update from a stuck one

While macOS is still running — during the download and “Preparing” stages, before it reboots to the Apple-logo apply screen — the installer writes continuously to /var/log/install.log. Following that file is the most reliable way to separate slow from dead: if new lines keep arriving, the update is alive no matter what the bar shows.

$ tail -f /var/log/install.log
2026-07-20 07:32:06+08 osxhub softwareupdated: Using catalog URL: https://swscan.apple.com/content/catalogs/...
2026-07-20 07:32:06+08 osxhub nbagent: MiniSoftwareUpdate: using pinning policy for swscan.apple.com
2026-07-20 07:32:06+08 osxhub softwareupdated: Removed 0 invalid declarations

The hostname is redacted to osxhub; everything else is real output. Fresh timestamps mean work is happening; Control-C stops following. If the log looks quiet, make the update daemon report its state into the same file:

$ softwareupdate --dump-state
$ tail -2 /var/log/install.log
2026-07-20 12:33:04+08 osxhub softwareupdated: Checking for inapplicable local products remaining on disk for cleanup

A fresh entry means the daemon is responsive rather than hung. One honest limit: once the Mac reboots to the full-screen Apple logo, macOS is not running and there is no Terminal, so the log only covers the download and prepare stages. For the apply stage, judge by the physical signs — a bar that still creeps over 15 to 20 minutes, and a laptop whose case stays warm — both of which mean it is still installing. A major update’s apply stage can run 30 to 45 minutes, so give it real time before deciding anything is wrong.

Run it from the Terminal

The graphical updater hides everything behind one bar. The softwareupdate command does the same job with visible text, and quitting the stuck graphical updater to run it is often enough on its own to get things moving. List what is offered, then install it and watch each step report itself:

$ softwareupdate --list
Software Update Tool

Finding available software
No new software available.

$ sudo softwareupdate -i -a --verbose
# -i install, -a all; add -R to restart automatically when needed

Because the download percentage advances line by line here, a real stall shows up as a stopped counter instead of a guess. It still reboots to apply a full OS update, but the download and prepare phases stop being a black box.

What actually makes it stall

When an update is genuinely stuck rather than slow, it is almost always low disk space or a bad download. Free space is the big one. An update needs room for the download plus the unpacked files plus working space — 20 to 40 GB for a major release, well beyond the download size itself. Check the data volume, where the free space actually lives:

$ df -h /System/Volumes/Data
Filesystem      Size    Used   Avail Capacity  Mounted on
/dev/disk3s5    1.8Ti   863Gi   955Gi    48%   /System/Volumes/Data

Watch the Avail column; under about 20 GB and space is the likely culprit. Note that macOS counts “purgeable” space as available in the Finder, but the installer cannot always reclaim it in time, so the Finder’s number is not a guarantee.

The other common cause is a broken delta download. When a normal update keeps stalling, stop trusting the partial copy and pull the complete installer instead:

$ softwareupdate --list-full-installers
* Title: macOS Tahoe, Version: 26.5.2, Size: 17875271KiB, Build: 25F84
...

$ softwareupdate --fetch-full-installer --full-installer-version 26.5.2

That downloads the full “Install macOS” app into your Applications folder to run like a normal installer. Its size — about 17 GB for 26.5.2 — is also a useful reality check on how much room and time you need. If the download itself is just slow, that is often only Apple’s busy servers on release day; it resumes rather than restarting, so plug into power, stay on a stable connection, and leave it alone.

When it really is stuck

Conclude an update is truly stuck only when the evidence agrees: the log has stopped writing, the bar has not moved in well over an hour, and the Mac is cool and silent. The steps below involve a restart and, at the end, the Recovery environment — this is the documented safe order, not something reproduced here. Stop as soon as the update resumes.

  1. Wait and check the log once more. Most “stuck” updates are not, and this costs only time.
  2. Force a restart: hold the power button until the Mac shuts off, wait ten seconds, and power on. An interrupted update normally resumes rather than starting over.
  3. Re-run the update from the Terminal, or use --fetch-full-installer for a clean copy. This clears most cases caused by a bad download.
  4. As a last resort, boot into Recovery (Apple silicon: hold the power button, then Options; Intel: hold Command-R) and choose Reinstall macOS. It reinstalls the system over your files without erasing your data.

Avoid it next time: free up space first

The most reliable fix for a stuck upgrade is not needing one. Going into a major upgrade with plenty of free space heads off most of the installs that otherwise hang on the Apple logo after the reboot, because the installer never runs short of working room part-way through the apply stage — one of the most common reasons an upgrade wedges there. The habit that has held up over years of upgrades: clear at least 50 GB of free space before starting a major upgrade, then run it. Confirm the room first with df -h /System/Volumes/Data, empty the Trash, and remove large files until Avail settles above 50 GB rather than relying on the Finder’s “purgeable” estimate. Clearing space takes a few minutes; recovering an upgrade that stalled for want of it takes far longer.

The one thing to remember: a stalled bar is not a stalled update. Check the log or run softwareupdate from the Terminal, give a major release real time, and, best of all, go in with 50 GB free so it never gets stuck in the first place.

Leave a Reply

Your email address will not be published. Required fields are marked *