Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Completely reset TCC services database in macOS
Completely reset TCC services database in macOS
Note: Both the system and individual users have TCC databases; run the script as both
a user and as root to completely reset TCC decisions at all levels.
2018-08-15: Resetting the 'Location' service fails; unknown cause
2018-08-16: Confirmed the 'All' service does not really reset _all_
services, so individual calls to each service is necessary.
2019-06-04: Still working in 10.15 beta :)
2019-08-16: Added new Catalina services (thanks @frogor)
2020-11-27: Corrected line `SystemPolicyDownloadsFolder` (thanks @tie)
import subprocess
if __name__ == "__main__":
for service in SERVICES:
cmd = ["/usr/bin/tccutil", "reset", service]
cmd, stderr=subprocess.PIPE
print "Reset", service
except subprocess.CalledProcessError:
print "Unable to reset", service

This comment has been minimized.

Copy link

@pradorocchi pradorocchi commented Feb 18, 2020

The cause that reseting 'location' fails is because Location Service itens are not managed via TCC database.

All those location items listed under Privacy -> Location Services are managed by the locationd daemon.

They are all configured inside a plist file located at: /var/db/locationd/clients.plist


This comment has been minimized.

Copy link

@tie tie commented Mar 26, 2020

Line 51, SysyemPolicyDownloadsFolder should be SystemPolicyDownloadsFolder.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment