If you’re having issues with the privacy permissions system in macOS Catalina or newer versions, such as being unable to change the settings, there are several steps you can take to remedy the situation. These settings are currently stored in a SQLite database located at /Library/Application Support/com.apple.TCC/TCC.db.

tccutil

tccutil is a command line tool you can use to reset system privacy permissions for macOS apps. There’s some granularity here. You can reset individual permissions or all permissions, and you can make this change for individual apps or all apps.

Individual apps are identified through their bundle identifier. To get an app’s bundle ID from its name, you can use either of the following commands:

$ lsappinfo info -only bundleid "Google Chrome"
$ osascript -e 'id of app "Google Chrome"'

A list of individual permissions is not documented anywhere as far as I know, but you can currently get a rough idea by checking for certain strings in the TCC.framework:

$ strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep ^kTCCService | fgrep -v ' ' | sed -e s/kTCCService// | sort

At the time of writing this post, the list contained the following entries:

Accessibility
AddressBook
All
AppleEvents
Calendar
Camera
ContactsFull
ContactsLimited
DeveloperTool
Facebook
FileProviderDomain
FileProviderPresence
LinkedIn
ListenEvent
Liverpool
Location
MediaLibrary
Microphone
Motion
Photos
PhotosAdd
PostEvent
Reminders
ScreenCapture
ShareKit
SinaWeibo
Siri
SpeechRecognition
SystemPolicyAllFiles
SystemPolicyDesktopFolder
SystemPolicyDeveloperFiles
SystemPolicyDocumentsFolder
SystemPolicyDownloadsFolder
SystemPolicyNetworkVolumes
SystemPolicyRemovableVolumes
SystemPolicySysAdminFiles
TencentWeibo
Twitter
Ubiquity
Willow

To reset the Camera permission for Google Chrome, you would use:

$ sudo tccutil reset Camera com.google.Chrome

To reset the Camera permission for all apps, you would use:

$ sudo tccutil reset Camera

To reset the all permissions for Google Chrome, you would use:

$ sudo tccutil reset All com.google.Chrome

To reset the all permissions for all apps, you would use:

$ sudo tccutil reset All

Reset PRAM

If the above changes do not take effect immediately, you might have to reset your Mac’s PRAM. Instructions to do so can be found here.

Delete TCC database

If the changes still do not take effect, you can delete the entire permission database. This requires booting into recovery mode as the file cannot be deleted while the OS is running. Do so at your own risk.

The steps are:

  1. Boot into reovery mode
  2. Use Disk Utility to mount your system and data partitions. They are listed on the left side under Internal and are named Macintosh HD and Macintosh HD - Data by default.
  3. Quit Disk Utility
  4. Open Terminal through the Utilities menu
  5. Delete database:
    $ rm /Volumes/Macintosh\ HD/Library/Application\ Support/com.apple.TCC/TCC.db
    

    Note: If renamed your partition from the default name, the path will differ.

  6. Restart