Prevent "upgrades" (like Catalina) from appearing in software update window

Solution 1:

As of Sep 2020, the steps to do this on High Sierra or Mojave are:

  1. Make sure you have Security Update 2020-005 installed
  2. Enrol your device in Mobile Device Management. For those that have a workplace or school that already use MDM, this is simple - just follow their instructions for 'bring your own device' setup. For those that don't, you can setup your own MDM by signing up for a JAMF Now account - see my guide at bottom.
  3. Double check your device is now managed, by executing profiles status -type enrollment in a terminal and checking that at least one of Enrolled via DEP or MDM enrolment is Yes.
  4. Run sudo softwareupdate --ignore "macOS Catalina" in a terminal to ignore the Catalina update. If it worked, you should see Ignored updates:( "macOS Catalina" )
  5. Run defaults write com.apple.systempreferences AttentionPrefBundleIDs 0;killall Dock in a terminal to turn off the red notifications tag for the Software Updates dock icon and refresh the dock.

Changes to software update --ignore ability

As you mentioned, the fix for this used to be the command:

sudo softwareupdate --ignore "macOS Catalina"

However, this command was deprecated in May 2020 with security update 2020-003. Mr Macintosh did a great job of documenting this at the time. As of that update, softwareupdate --ignore returns the below message, without actually adding anything to the ignore list.

Ignoring software updates is deprecated.
The ability to ignore individual updates will be removed in a future release of macOS.

Apple must have got a lot of heat for this, as they backflipped, a bit: with security updates 2020-004 & 2020-005 they re-enabled ignoring updates, but only for managed devices, ie those managed with Apple Business/School Manager or user-approved MDM. (2020-004 was meant to re-enable it for both but actually it was still broken for UAMDM. 2020-005 finally fixed this)

So if you've installed those updates, provided your device is enrolled in any UA MDM, running the above ignore command will work. Signing into your work email using Mail might be enough to achieve this, depending on the setup.

Setting up your own MDM to enrol in

If you don't have a work or school management provider to use, you can always set up you own using one of the many free trials offered by MDM providers. This is going to somewhat extreme ends to remove the upgrade prompt, but it only took me about 15 mins to do, so may be worth it if it annoys you sufficiently.

Steps:

  1. From https://www.jamf.com/solutions/industries/business/, look for JAMF Now and click Create Free Account
  2. Fill in the form, then check your email to finish activating the account and login
  3. Follow the steps to create a new Push Certificate and upload it to your JAMF account
  4. Setup Open Enrolment in your account, and share the enrolment link to the device you want to disable the Catalina update on
  5. Click the link on that device, and enrol it in the UA MDM you've setup

You should now be enrolled. You can check by running profiles status -type enrollment in terminal - you should see a line saying MDM enrollment: Yes (User Approved). If you do, the sudo softwareupdate --ignore "macOS Catalina" command should now work!