MacOS – How to disable the red Software Update notification bubble on the System Preferences app in MacOS Mojave (not App Store)

dockmacosnotificationssoftware-updatesystem-prefs

I keep the "System Preferences" app icon in my dock in Mojave. I recently checked for updates, and found one, but I'm not ready to install it just yet and the red notification dot over the settings app is really bothering my obsessive-compulsive self.

To make things worse, there's no way to disable the notification for the settings app, from the settings app.

How can I banish the notification icon until I'm ready to deal with doing updates?

(Note: this a the red notification badge/dot over the System Preferences app, not the App Store one. It is also not the big textual one that will appear in the upper right corner of the screen. And, unlike all the other questions I found while searching for this, I am in Mac OS rather than iOS.)

The closest thing I found was Why is the System Preferences Dock icon showing a Badge?, which was about iCloud security problems rather than software updates. My question isn't why, but how to ignore a software update for a while.

System Preferences dock badge notification icon

Best Answer

After some unsuccessful googling, followed by loads and loads of digging and grepping through binary files, I stumbled upon a key in a .plist which, when written, appeared to make the system temporarily forget it had any updates to bother me with. Running:

defaults write com.apple.systempreferences AttentionPrefBundleIDs 0

fixed my issue for now on 10.14.1. (Apparently, you may also have to restart the dock with killall Dock, but I don't remember having to do so).

If you have automatic checking for updates turned on, this might not work for you. Not for long, anyway. In my case, on a fresh install, I went to the settings page to turn off checking for updates, at which time it checked for an update before I could close the page. After running that command it went away again, though. Basically, turn off automatic update checks, or it'll come right back and you'll have to run the command again.

Re-running the update checker should undo this. One might be able to find that .plist (I believe it was in /Users/[username]/Library/Preferences/com.apple.systempreferences.plist) and set the immutable bit on it/give it read only permissions to prevent it getting modified, but I have no idea what the fallout from that could be. You'd probably not be able to change any other per-user settings anymore.