48

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.

7
  • 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, 2019 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 7, 2020 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, 2020 at 8:53
  • 1
    A workaround for manually granting access to a client will be tccctl --grant -b <client> -s <service>. For example tccctl --grant -b com.webex.meetingmanager -s kTCCServiceMicrophone
    – limitless
    Aug 30, 2020 at 7: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: macops.ca/modifying-the-tcc-db However, enabled SIP might prevent you from writing into the db.
    – user824276
    May 17, 2021 at 10:48

6 Answers 6

15

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.

5
  • 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 May 26, 2021 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 6, 2021 at 9: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 6, 2021 at 10:13
  • tccutil reset Microphone worked for me as well. Thanks!
    – TJ-
    Jun 10, 2022 at 5: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 3, 2022 at 10:24
10

Solution

Successfully tested on

  • Monterey 12.2.1
  • BigSur 11.7.4
  • Ventura 13.3, 13.6
  • (See the bottom of the answer for other versions)
  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
    
6
  • 1
    Thank you so much. Works for me in osx ventura for MultiMC :)
    – codeneuss
    Apr 14, 2023 at 13:14
  • 1
    tried it a second time and found out that I need to run tccutil reset Microphone before.
    – codeneuss
    Apr 14, 2023 at 18:35
  • 1
    Worked in Ventura as I have a patched installation from OpenCore so it is disabled. Jun 22, 2023 at 5:21
  • 1
    Worked perfectly to give microphone permissions to AU Lab on macOS 12.6.7. I used 0 instead of NULL for the flags column but it is probably the same.
    – andresp
    Jul 15, 2023 at 20:56
  • 1
    I have two MBP running OCLP with Ventura 13.6. One was unable to access my Photo Library from iMovie, the other had no problem. I did not try to re-enable SIP as the OLCP site warns it will brick a Ventura install. the sqlite3 steps above did the job (except i had to run thru them twice-might be a app start stop or reboot or close System Preferences step required).
    – user674463
    Oct 17, 2023 at 14:16
8

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.

3
  • 2
    Resetting the PRAM will also re-enable SIP
    – Hefewe1zen
    Apr 10, 2020 at 22:25
  • Uninstall the app - restart in recovery mode - enable sip - reinstall the app solved the problem for me.
    – Kappe
    Jul 25, 2021 at 14:41
  • In my case, I was using OpenCore Legacy Patcheron MacOs Ventura. To enable SIP follow the instructions from here: dortania.github.io/OpenCore-Legacy-Patcher/… 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. May 5, 2023 at 21:55
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

1
  • 4
    It matches for me :/
    – crgarridos
    Jan 24, 2020 at 14:08
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.

-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

6
  • 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? … … … … … … … … … … … … … … … … … … Please do not respond in comments; edit your answer to make it clearer and more complete. Mar 14, 2020 at 23:40
  • 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 3, 2020 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, 2020 at 8: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, 2020 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 6, 2020 at 4:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .