42

I cannot allow camera and microphone of my macbook pro to be used in different applications (Google Chrome, Slack etc.) as they do not appear in “System Preferences -> Security & Privacy -> Microphone/Camera”.

Since, there are no apps and no way to add them, there are no tickboxes as explained in this Apple support document.

Giacomo1968
  • 53,069
  • 19
  • 162
  • 212
loadbox
  • 577
  • 1
  • 4
  • 11
  • 3
    Same problem, it seems I have once denied a permission for an App and now I need it. Can't get it enabled, as it is not listed. – kuhnroyal Jul 18 '19 at 12:08
  • did you make any system changes recently? In my case, I did modify uid/gid of a user. I wonder that did this. – nir Feb 07 '20 at 17:31
  • Same here with my own app trying to access the calendar. I have 2 similar ones. One shows up, the other doesn't. (I loathe having that crap gate keeper treating me as child) – qwerty_so Apr 23 '20 at 08:53
  • Properly answered here: https://apple.stackexchange.com/questions/384310/how-do-i-configure-camera-and-microphone-permission-on-macos-mojave – gosuto May 25 '20 at 13:45
  • 1
    A workaround for manually granting access to a client will be `tccctl --grant -b -s `. For example `tccctl --grant -b com.webex.meetingmanager -s kTCCServiceMicrophone` – limitless Aug 30 '20 at 07:27
  • 1
    Edit '~/Library/Application Support/com.apple.TCC/TCC.db', which is an SQLite3 database with the list of permitted applications. An example SQL command: `INSERT INTO "access" VALUES('kTCCServiceMicrophone','com.google.Chrome', 0, 1, 0, null, null, null, 'UNUSED', null, null, 1621244686);`. Reference: https://macops.ca/modifying-the-tcc-db/ However, enabled SIP might prevent you from writing into the db. – user824276 May 17 '21 at 10:48
  • I faced the exactly same issue. I opened the website that needs camera/microphone to be used in the Incognito mode of the browser and it asked me for permissions using the pop ups. Once permissions were granted, the apps automatically appeared in the "Camera" and "Microphone" tab in the System Preferences -> Security & Privacy – Divya Jul 11 '22 at 02:40

6 Answers6

13

I have experienced the same issue when trying to record audio with Microsoft Powerpoint 2011 on macOS 10.14. Powerpoint does not show up in the list of app with access to the microphone (System Preferences -> Privacy -> Microphone).

Note that you can reset this list from the command line (i.e. the Terminal) using:

tccutil reset Microphone

This may or may not help you. In my case it didn't.

What did help, was to launch Powerpoint from the command line through iTerm (though I suspect, using the Terminal.app works just as well). So on the command line, I've typed:

/Applications/Microsoft\ Office\ 2011/Microsoft\ PowerPoint.app/Contents/MacOS/Microsoft\ PowerPoint

I.e., I executed the executable in Powerpoint's /Contents/MacOS subfolder. By convention, every application has an executable, meaning, you can launch every application that way (but the name of the executable will usually be different).

Launched this way, when I tried to access the microphone, the System asked me whether I wanted to grant iTerm access to me microphone. After granting access, I was able to record audio through Powerpoint.

Obviously, this is just a hack to get things going. But sometimes a hack is all you need.

hendrik
  • 311
  • 2
  • 7
  • running izotope's RX8 from the terminal made it so I could record audio in it again. but it still doesn't record if i open the app via spotlight. weird – RichardJohnn May 26 '21 at 21:32
  • 1
    I had this problem for Slack and running `tccutil reset Microphone` worked. I quit Slack, ran the command and noticed that all apps vanished from Privacy list. I then restarted Slack and went back to Audio & Video settings and there was then a system prompt to allow access for both mic and camera. – haridsv Sep 06 '21 at 09:59
  • Now I can't get Signal to reappear in this list (it was there before). Perhaps I should have taken a backup of some file before resetting. :( – haridsv Sep 06 '21 at 10:13
  • `tccutil reset Microphone` worked for me as well. Thanks! – TJ- Jun 10 '22 at 05:22
  • Workaround, yes! Under MacOS Monterey on Studio Ultra, starting my app from terminal (actually from midnight commander _in_ terminal) resulted in the proper "Allow Access" prompt and my application worked properly. Thank you so much for the tip; nothing else worked. – fyngyrz Nov 03 '22 at 10:24
7

In my case, I won’t get the camera, mic permission prompt at all. Camera section in Security and Privacy won't populate with any app at all.

Checked the console and found out that every time I tried to use any app that needed camera/mic access, it kept throwing following error at me in Console:

Policy disallows prompt for REQ:{ID: xxx.xxx.xxx}

and

access to kTCCServiceCamera denied

I tried the method shown by @loadbox’s answer but it didn’t work for me. Turns out I had System Integrity Protection disabled. I had to reboot Mac and start in recovery mode. Started Terminal and re-enabled it by entering these:

csrutil enable
reboot

Once the machine was booted, I started Skype and voila… It prompted for Camera permission. Problem solved. Depending on your config, your mileage may vary.

Giacomo1968
  • 53,069
  • 19
  • 162
  • 212
  • 2
    Resetting the PRAM will also re-enable SIP – Hefewe1zen Apr 10 '20 at 22:25
  • Uninstall the app - restart in recovery mode - enable sip - reinstall the app solved the problem for me. – Kappe Jul 25 '21 at 14:41
  • In my case, I was using `OpenCore Legacy Patcher`on MacOs Ventura. To enable SIP follow the instructions from here: https://dortania.github.io/OpenCore-Legacy-Patcher/POST-INSTALL.html#enabling-sip In my case, I enabled it, gave the permission, and then disabled it again because it was too slow. Maybe this is useful to someone. – Raúl Otaño May 05 '23 at 21:55
6

Solution if you are running Monterey 12.2.1 and BigSur 11.7.4 and Ventura 13.3

  1. Make a backup copy of the TCC database, just in case:

    cp ~/Library/Application\ Support/com.apple.TCC/TCC.db ~/TCC.db.bak
    
  2. I opened the TCC database by running:

    sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db
    
  3. I added the app by typing:

    insert into access
    values 
    ('kTCCServiceMicrophone','<AppBundleURLname>', 0, 2, 2, 1, null, null, null, 'UNUSED', null, null, 1669648527);
    
  4. Close the connection to the database:

    .quit
    

The value to replace the placeholder <AppBundleURLname> in Step 3 above can be found by opening and inspecting file:

/Applications/appname.app/Contents/Info.plist

And usually it is the value keys like CFBundleURLName or CFBundleIdentifier. For example, for the WhatsApp MacOS app, if you open file:

/Applications/WhatsApp.app/Contents/Info.plist

then you will find something like:

    <key>CFBundleURLName</key>
    <string>com.WhatsApp.chat</string>

and it means that in this case you should replace <AppBundleURLname> with com.WhatsApp.chat in Step 3 of the above instructions.

For example

Note: The last value in the inserted record (see step 3) is just a timestamp (in seconds), you can put a timestamp that corresponds to any date you want, for example to check what date corresponds to timestamp 1669648527 you can type:

$ date --date='@1669648527'
Mon 28 Nov 15:15:27 GMT 2022

If you are running a different MacOS version

In this case, the structure of the access table may be different and the record you insert may be a bit different. You can inspect its structure with the following commands:

  • To compare the record you want to add with other existing records:

    select * from access ;
    
  • Or perhaps even better:

    select * from access where service = 'kTCCServiceMicrophone' ;
    
  • To check the structure (e.g. the columns) of the access table:

    .schema access
    
robik 234
  • 5
  • 1
Kubuntuer82
  • 180
  • 1
  • 8
1

in my case my per-user tccd has been disabled somehow

try

  • open Terminal.app
  • launchctl list | grep -i com.apple.tccd
  • if no matches found re-enabe your user tccd using

    launchctl load -wF /System/Library/LaunchAgents/com.apple.tccd.plist

Hofi
  • 111
  • 2
1

Switching to an administrator account resolved it for me.

The standard account only had one app in microphone settings. Admin account had 5+ apps.

Not sure if it’s because the app was installed on the administrator account or if the apps are not requesting permission properly.

Senseful
  • 4,150
  • 10
  • 37
  • 46
-2

I found a solution for my case. I am using macOS Mojave Version 10.14.5. Hope it works for others too.

  1. Finder > Go > Computer

  2. Macintosh HD > user > Double finger tap on your account > Get Info

  3. Sharing & Permissions: Click on the lower right lock and enter password

  4. Click on the gear mark at the bottom > Apply to enclosed items > Click OK for the pop-up window (Applying permissions...)

  5. Reboot your mac

loadbox
  • 577
  • 1
  • 4
  • 11
  • 13
    How, exactly, does this answer the question?  Yes, I see that it's about applying permissions, but where does this do anything with the camera and microphone privacy settings?  What am I missing?  Are you saying that you must do the above, *and **then*** follow the instructions in [the article you linked to in the question](https://support.apple.com/en-gb/guide/mac-help/mchlf6d108da/mac "Control access to your camera on Mac")? … … … … … … … … … … … … … … … … … … Please do not respond in comments; [edit] your answer to make it clearer and more complete. – Scott - Слава Україні Mar 14 '20 at 23:40
  • This didn't work at first for me even after rebooting. But, then I ran "repair disk permissions" on "Clean my Mac" and I was also deleting a lot of old space to as I thought I needed to reinstall the OS. Then I rebooted and found zoom was no longer crashing as soon as I started a meeting. Also, skype and zoom both finally asked for camera permission. Skype works fine now, but zoom still crashes when I try to turn on the camera. – Virgo Mar 27 '20 at 22:22
  • 2
    As @Scott already noted this does not answer the question or at least it is not obvious how it solves the problem. Could you please add more information as to how and why that solves the issue? Does that cause the app to ask for permission again? – trixn Apr 03 '20 at 16:44
  • 4
    Actually a bad advice. This will change the user permission to 644 for all files in your private folder. Thus is takes back that for protected files as well (like e.g. your ~/.ssh/id_rss which in turn is no longer accepted for ssh logins). Besides that it does not solve the issu. – qwerty_so Apr 23 '20 at 08:49
  • 5
    THIS IS BAD ADVICE. THIS RECURSIVELY CHANGES ALL PERMISSIONS OF ALL FILES AND DIRECTORIES IN YOUR HOME FOLDER AND POSES A SECURITY THREAT. ALSO IT IS NOT A DIRECT ANSWER TO THE QUESTION... *(just to reiterate @qwerty_so, thank you)* – gosuto May 25 '20 at 13:43
  • 1
    There was a single downvote to this “bad advice” when I issue my own downvote. **If this is “bad advice” you should downvote it.**. This should have at least 4 downvotes based on the commentary saying it’s bad advice – Ramhound Jul 06 '20 at 04:41