How to hide a software update in the Mac App Store

I recently found myself restoring my iMac three times in the last month. No solution seemed to work: NVRAM/PRAM reset, permissions & disk repair from the Disk Utility, neither launched from the install DVD nor from the restore partition, boot in Safe Mode or in Single User Mode. Nothing at all.

All I was left with during boot was a progress bar slowly filling, a spinning wheel and the usual grey Apple logo. After the bar filled, my iMac eventually turned off by itself. All this was going on whenever I booted from the Mavericks partition. Google was driving me toward thinking the cause of all this mess was a disk failure, but this soon turned out to be impossible, since I was still able to regularly access my Windows partition (don’t underestimate the importance of a second OS installed on your machine). The only option I was left with was to restore Mavericks from a backup (don’t underestimate the importance of an updated backup, too. Really).

Mac App Store

After a complete backup restore, I installed all the updates in the Mac App Store and, upon restart… BUM, again! So the cause must have been that Mavericks 10.9.1 update the Mac App Store suggested me to install. A system update! The same update I installed with no problems at all on my Macbook Air. I had to hide that update in the Store, in order not to install it accidentally in the future, maybe.

How to hide an update in the Store

In order to hide any updates in the Mac App Store, do the following steps. It’s a fairly complicated procedure since Apple won’t let you do this in a straightforward way, but not too much after all.

0) Open System Preferences > App Store > Disable “Automatically Check for New Updates”;

1) Open the Mac App Store; now the process has a PID assigned by the OS. We are going to discover it;

2) So click once on the desktop, then from the bar on the top hit “Go” > “Utilities” > launch Activity Monitor. Search for the “App Store” process and find the PID column. Write the number you see, e.g. 6927. This number will change everytime you launch the application;

3) Open the Terminal, copy and paste the following:

defaults write ShowDebugMenu -bool TRUE; kill $PID

where $PID must be replaced with the PID number you found in the previous step (in my case, 6927). TRUE means “show the debug menu”.
This will activate the Debug mode in the Mac App Store (notice the “Debug” item in the Mac App Store menu on top). We are not going to use this menu directly, so you can completely ignore it.

4) The Mac App Store process will be killed. Open the Mac App Store again.

5) Find the update you want to hide in the “Updates” tab from the Mac App Store, then ctrl-click on it and hit “Hide”. Congratulations! You’ve just hidden annoying/harmful updates in the Mac App Store.

6) [Optional] You can deactivate the debug menu by launching the Mac App Store again, finding the new PID (step 2), and then executing the step 3 replacing TRUE with FALSE, but if you might want to hide other updates in the future just leave it enabled.

The debug mode will also let you hide purchases in the “Purchases” tab by ctrl-clicking on them and hitting “Hide Purchase…”

It is important to remark the fact that a constantly updated system will prevent damage on your machine caused by vulnerabilities on faulty software, so always ask yourself if it’s worthy hiding a system update like I did. In my case, I had no other options.