Suppressing the macOS Software Update Alert Icon

UPDATE: Shortly after writing this post, I learned that another Mac admin had already figured this out over in the MacAdmins Slack.

With the release of macOS Mojave back in 2018, Apple separated system software updates from the Mac App Store Updates tab. As a result, the App Store System Preferences pane was changed to Software Update.

macOS 10.13.x
macOS 10.14.x

Additionally, as shown in the above image, Apple also introduced a new red alert icon when system software updates are available. Not only is this alert displayed on the Software Update preference pane, it also is displayed on the System Preferences app itself.

Unless you’ve already upgraded to the latest macOS version or have automatic software update checks disabled, this means that whenever a major system software update is available you and your users will see this red icon on the System Preferences app. If you work in education, or stay back a major OS version until a .4, .5, or .6 release is made available, this is likely to cause confusion and create an influx of support tickets from your users.

If you happen to use something like reposado to mirror Apple’s software update servers, you have the ability to point your Macs to it (see the CatalogURL preference in the com.apple.SoftwareUpdate domain, or my post on how to run reposado in Docker) and avoid this issue entirely.

For those not mirroring Apple’s software update servers however, while this alert could be treated as a teachable moment for your users I would argue that most probably don’t want this notification interrupting their users workflow, and instead want to disable it entirely.

The good news is you can disable this System Preferences alert icon with a configuration profile! While this isn’t documented by Apple, see past the jump for more info.

When Apple had software updates combined with the Mac App Store in 10.13.x, you could use Apple’s supported com.apple.appstore payload to manage the DisableSoftwareUpdateNotifications preference via profile to prevent software update notifications from appearing.

As it turns out, in 10.14.x Apple added a new preference key – AttentionPrefBundleIDs – which is what determines if a red notification icon is displayed, as well as the number of associated alerts. This key appears to only live in the user-level ~/Library/Preferences/com.apple.systempreferences.plist file. If you are running Mojave or later and have an update icon currently visible, you can see this by running the command below:

defaults read com.apple.systempreferences AttentionPrefBundleIDs

AttentionPrefBundleIDs is a dictionary which contains keys named after the bundle ID of the corresponding system preference pane which has an alert notification. Each of these corresponding keys has an integer value which are added together to produce the number displayed in the alert icon.

If you happen to use BBEdit, you can natively open your com.apple.systempreferences.plist file, change the integer value of an existing bundle id or add a new one, and then run the command below to see the updated number displayed in the alert icon:

killall cfprefsd && killall Dock

In my testing, trying to add an AttentionPrefBundleIDs dictionary to the root /Library/Preferences/com.apple.systempreferences.plist file does not affect the alert icon number at all. So, only the user-level .plist is respected. Additionally, if you manually add more bundle IDs to the dictionary with integer values greater than 0, while the alert number displayed on the System Preferences app icon will be a total of those numbers, other preference panes will not display their own alert number within System Preferences like the Software Update preference pane does.

When the alert icon is suppressed via profile, it does not prevent software checks or installing available updates from the Software Update pane.

Below is an example profile to suppress this alert icon for any and all preference panes. However, it’s much easier to create your own with ProfileCreator (which has been updated to support this functionality)!

UPDATE: While you can run the command below to hide the macOS Catalina update item from the Software Update preference pane (more info from this blog post) …

sudo softwareupdate --ignore "macOS Catalina"

… It does not suppress the alert icon. You will still need a profile to suppress it.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s