Apple has a utility in /usr/bin
named tccutil
, but it only supports one command, which is to reset
the entire database. I wanted a command-line utility that would be able to add, remove, list, and take other actions.
-
tccutil.py
can be installed without any additional software. -
It can then be run just like any other command line tool. I also wanted the syntax to be easy to remember without having to look it up in the help menu.
-
There are other solutions out there, but there were some things I did not like about them:
-
Privacy Manager Services has other dependencies that need to be installed.
-
tccmanager.py uses a
.plist
to add items, which is inconvenient.
-
-
Install using Homebrew, then run with
tccutil
:brew install tccutil
-
Download from here and
-
copy manually to
/usr/local/bin
, then run withtccutil.py
, or -
run from any directory with
python /path/to/tccutil.py
.
-
This utility needs super-user priveleges for most operations. It is important that you either run this as root or use sudo
, otherwise it won't work and you will end up with “permission denied” errors.
Usage:
tccutil.py [--help | --version]
sudo tccutil.py [--list] [--verbose]
sudo tccutil.py [--insert | --remove | --enable | --disable] <bundle_id | cli_path> [--verbose]
Pass through reset command to built-in OS X utility:
tccutil.py reset <Accessibility | AddressBook | Calendar | CoreLocationAgent | Facebook | Reminders | Twitter>
Options:
-h | --help Displays this Help Menu.
-l | --list Lists all Entries in the Accessibility Database.
-i | --insert Adds the given Bundle ID or Path to the Accessibility Database.
-r | --remove Removes the given Bundle ID or Path from the Accessibility Database.
-e | --enable Enables Accessibility Access for the given Bundle ID or Path.
-d | --disable Disables Accessibility Access for the given Bundle ID or Path.
-v | --verbose Outputs additional info for some commands.
--version Prints the current version of this utility.
List existing Entries in the Accessibility Database
sudo tccutil.py --list
Add /usr/bin/osascript
to the Accessibility Database (using UNIX-Style Option)
sudo tccutil.py -i /usr/bin/osascript
Add Script Editor to the Accessibility Database (using Long Option)
sudo tccutil.py --insert com.apple.ScriptEditor2
Remove Terminal from the Accessibility Database
sudo tccutil.py --remove com.apple.Terminal
Enable Terminal (must already exist in the Database)
sudo tccutil.py --enable com.apple.Terminal
Disable /usr/bin/osascript
(must already exist in the Database)
sudo tccutil.py -d /usr/bin/osascript
- List existing Entries in Accessibility Database
- Insert new Item into Accessibility Database (even Command-Line Utilities)
- Remove an existing Item from the Accessibility Database
- Enable or disable an Entry
- Modify other parts of the
TCC.db
.