18

So I upgraded to Mojave recently and I got some app permission popups requesting access to system events, etc.

I didn't recognise some of these the apps and didn't allow access.

Now it turns out that this is being used by xcodebuild and it is failing.

How can I reset all these app permissions. So that I get the popup again and I can allow this time.

PS: I'm not asking about file permissions.

0

5 Answers 5

22

Some categories, like the one you mention, aren't listed in System Preferences.

You can reset that one in particular with this command:

tccutil reset AppleEvents

Or, you can reset all app permissions like this:

 tccutil reset All

You can also add an app's bundle identifier (e.g. tccutil reset All com.apple.Terminal) to reset only that app's permissions.

3
  • 3
    note that you can get the bundle id with mdls /Applications/iPhoto.app | grep kMDItemCF
    – csanchez
    Commented Jan 8, 2020 at 14:47
  • 1
    … noting also that macOs installed applications are now mostly found under /System/Applications, e.g. mdls /System/Applications/Utilities/Terminal.app | grep kMDItemCF Commented Mar 13, 2020 at 14:09
  • tccutil reset All NOTE: macOS Monterey -- If your computer freezes be patient. Open Activity Monitor and Kill the WindowsServer Process, wait for it kick you out and re-login. This should fix the issue. *might just be my computer, just wanted to share.
    – JayRizzo
    Commented May 25, 2022 at 17:19
5

man tccutil

The tccutil command manages the privacy database, which stores decisions the user has made about whether apps may access personal data.

One command is current supported:

 reset    Reset all decisions for the specified service, causing apps to
          prompt again the next time they access the service. If a bundle
          identifier is specified, the service will be reset for that bun-
          dle only.

EXAMPLES To reset all decisions about whether apps may access the address book:

tccutil reset AddressBook
tccutil reset All com.apple.Terminal
0
3

From the blog post "Reauthorizing Automation in Mojave":

If the user selects “OK”, the application sending the command will be thereafter whitelisted, and allowed to send arbitrary events (not just the one that prompted the alert) to the Finder. If you’re running macOS Mojave you can see a list of applications you’ve already permitted in System Preferences, under “Security and Privacy,” “Privacy,” “Automation”.

0
2

Theres also a nifty tccutil replacement on github which is also available via brew.

1
0

The answer for macOS 14.0 Sonoma

Conditions that need to be met:

I believe SIP has to be disabled before you can tccutil reset All?

  • sudo shutdown -h now
  • startup into Recovery Mode and open Terminal.app
  • csrutil disable sudo shutdown -r now

A user has to be root - enable root first:

  • dsenableroot and enter a password
  • su root
  • /usr/bin/tccutil reset All
sh-3.2#  whoami
root
sh-3.2# /usr/bin/tccutil reset All
Successfully reset All

caveats:

There is a homebrew binary with the same name, tccutil, that doesn't perform the same functions. Be aware if you have homebrew binaries first in your path:

sh-3.2# which -a tccutil
/usr/local/bin/tccutil
/usr/bin/tccutil

You must log in to answer this question.

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