[Catalina] Voice Chat not working in Heroes of the Storm

I’m having the same problem; I can’t get the permissions for microphone to proc. I have tried window mode. I have tried disabling OS Keyboard Shortcuts. Heroes does have permission under Accessibility.

Had no problem getting microphone permissions to proc for the Battle net app.


Are you having any issues with using the Mic in Heroes after the permissions windows for the Battle.net App? If you try the “Test Mic” option in Heroes does the permissions window come up? Any difference in Windowed mode?

If so far it still doesn’t prompt for heroes and the Mic isn’t working, try resetting the PRAM or NVRAM. Once that’s done, try the steps mentioned above and the same steps of trying it in Windowed mode and performing the mic test.

Let me know if any of this helped or if its still occurring, Zentgraf :slight_smile:

Resetting PRAM and NVRAM didn’t help.

The Battle net app does have microphone permission, and its voice chat is working fine, but it’s not prompting mic permission for Heroes.

I have tried many times to get the mic prompt in window mode; with both test mic and party chat. I did move the window to make sure the prompt box wasn’t hiding under it.

Heroes does have Accessibility permission.

I have tried deleting Heroes and its support files, then reinstalling.

Are there terminal commands I can use to fix this? Steam currently has the same problem, and I had to use terminal commands to give it microphone permission.

Hey there Zentgarf,

Have you already tried putting the game in Windowd Mode, then using the “Test” feature for voice chat via the in-game settings? This is the most common fix for the reported issue.

As for Terminal commands, it may be worth contacting Apple support. Though it will likely be the same command used for Steam minus the value for the game’s install location would be its own folder instead of a Steam folder.

Let us know if either works for you!

Yes, I have tried many times in Window mode, using the mic test in hopes of getting the permissions to prompt.

I tried using the following Terminal commands to manually create the permission, but it didn’t work. I’m not that smart! Similar command worked for Steam.

sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db “INSERT or REPLACE INTO access VALUES(‘kTCCServiceMicrophone’,'com.blizzard.heroesofthestorm’,0,1,1,NULL,NULL,NULL,‘UNUSED’,NULL,0,1551892126);”

/usr/libexec/PlistBuddy -c “Add NSMicrophoneUsageDescription string” /Applications/Games/Heroes\ of\ the\ Storm/Heroes\ of\ the\ Storm.app/Contents/Info.plist

/usr/libexec/PlistBuddy -c “Set :NSMicrophoneUsageDescription Using voice chat” /Applications/Games/Heroes\ of\ the\ Storm/Heroes\ of\ the\ Storm.app/Contents/Info.plist

I also tried resetting the microphone permission to HotS with the Terminal command:

tccutil reset Microphone com.blizzard.heroesofthestorm

Still no luck in getting the permission to prompt. So I’m out of ideas. Any help will be appreciated.

Exact same problem I have tried everything can you guys not fix this? As my understanding it’s been years this problem has persisted.

Our mics work fine with everything on the Mac except HotS I am able to grant access to everything except HotS this has to be something wrong with you guy’s security auth inside of HotS. I can assume now since Blizzard has cut support to the game you guys are just going to leave us Mac users in the dark and force us to find another way to use our mics to enjoy the same game that others can.

Thanks for calling this out with Steam having the same issues, Zentgraf. This is not something that we can recommend, but if you do feel comfortable with these changes, there’s some resources that our players have provided. We have seen some situations where the same TCC file has to be readjusted because it was moved some time ago.

Here’s the forum post about the TCC.db, for step 2.1, you may need to do this for ~/Library/Application\ Support/com.apple.TCC/TCC.db instead of the location on the post.

Hopefully, this helps!

I got it working! I had the right location, but one of the inserted values was wrong. So here was my Catalina fix:

Step 1: Disable The System Integrity Check so that you can access the relevant system database.

  • Reboot your Mac and hold Cmd+R on startup. This will bring up the Recovery Mode. If you have a multi button mouse with a keyboard function (such as a Razer Naga) you may need to unplug it during the boot up.

  • Open Utility -> Terminal from the menu bar and type: csrutil disable

  • Reboot.

Step 2: Manually add permission for Heroes of the Storm to access the microphone.

  • Open Terminal and type (or copy & past) the following command:

sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','com.blizzard.heroesofthestorm',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);"

  • Enter your Mac password to confirm the action.

Step 3: Enable The System Integrity Check.

  • Reboot your Mac and hold Cmd+R on startup. This will bring up the Recovery Mode.

  • Open Utility -> Terminal from the menu bar and type: csrutil enable

  • Reboot.

Heroes of the Storm should now have permission to use your microphone. You can check under System Preferences -> Security & Privacy -> Privacy -> Microphone.


I am running into

Error: unable to open database “~/Library/Application”: unable to open database file in Terminal.

Are you using Mojave or Catalina?

Catalina, sorry for that late response was crunch week at work.

Found the fix this morning. Fixed the path and was all good.

What did you change about his instructions? Because I also have catalina and am not sure what to do now.

Sorry for the late reply but here you go:

This is what you need to update part of the string to. @skullmelter

Here are the step by step instructions just use the above-updated path and copy and paste that path there it belongs in the string and you will have it working.

So once you disable crsutil from recovery mode you want to do a normal reboot open Terminal insert

sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db
then you want to enter
INSERT or REPLACE INTO access VALUES(‘kTCCServiceMicrophone’,‘com.blizzard.heroesofthestorm’,0,1,1,NULL,NULL,NULL,‘UNUSED’,NULL,0,1541440109);

and all should be good.

Ugh, this is such a pain. I’ve done all the steps and it doesnt work. Those terminal codes are not copy/paste. I did end up stuck in the sqlite3 terminal and had to exit terminal to get out. Ive reset PRAM and all that. It seems like the problem is on HOTS side and not on the mac side. I was able to enable the mic for Bnet, and WOW, but not hots.

This still isn’t working for me, I am getting
-bash: syntax error near unexpected token '("

Hey there easyNow,

Lets try this:

  1. Put the game in Window Mode
  2. In the options menu, locate Voice Chat and press on the “Test” button
  3. The system should provide a prompt for permissions. Using the affirmative option should allow voice chat in Heroes.

Hope this info helps! Let us know if it works!

The terminal command is not copy-paste because of the ‘ and ” characters. If you preformat the text, the copy-paste will work.

sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','com.blizzard.heroesofthestorm',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);"

I’m having this problem with both my mac and my girlfriend’s. Test button in windowed mode isn’t doing anything. I’ll try the workaround, but it doesn’t seem like HotS is properly asking for microphone permissions on Mac right now. I’m on Catalina, my girlfriend has Mojave.