This post is for those of us running an older version of VMWare Fusion on macOS Catalina. VMWare Fusion 11.5 supports macOS 10.15 out of the box.

I use VMWare Fusion 10 to test my apps on previous and future versions of macOS. Since this fall, that’s become problematic. The screen remains blank when I start one of my virtuals on Catalina. Oddly enough the preview in the virtual machine overview works fine.

Catalina requires apps to request permission for various tasks. Recording the screen is one of them. Apparently Fusion uses this feature, but neglects to ask for permission. Thus the screen stays black.

Some people found a way to get around this by granting permission manually. Here’s how that works.

⚠️ Note that this requires running Terminal commands in Recovery Mode. Make sure you’re comfortable with these steps. I don’t offer any support and am not responsible if things don’t go as planned. ⚠️

Create the script

Create a new script file where you can easily access it. I recommend /tmp/fixfusion.sh. Paste in the following:

#!/bin/sh  

# Change the following to fit your system
root="/Volumes/Macintosh HD"

"$root/usr/bin/sqlite3" "${root}/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceScreenCapture", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'

Enter Recovery Mode

Enter Recovery Mode by restarting your Mac and holding down + R while it boots.

Start a Terminal window by selecting UtilitiesTerminal from the menu bar when you’ve reached Recovery Mode.

Unlock your disk if necessary

If your primary drive is encrypted using FileVault (it should be), unlock it first by running the following command:

diskutil apfs unlock "Macintosh HD"

(Again, adjust the command if your disk isn’t called “Macintosh HD”.)

Enter your passphrase when it asks for it.

Run the script

You can now run the script you created earlier:

sh "/Volumes/Machintosh HD/tmp/fixfusion.sh"

It’s supposed to not show any output. If there’s no error, it worked.

Reboot

Check System PreferencesSecurity & PrivacyPrivacyScreen Recording and you’ll notice VMWare Fusion has the permission it needs.

A screenshot of System Preferences showing permission for VMWare Fusion to record the screen

That’s it. Your virtual machines should properly work again. 🥳