BlueBubbles Server Cannot Access MacOS Contacts
The following guide will show you how you can manually modify the TCC database to allow BlueBubbles to access your macOS Contacts.
Why does this happen?
This will sometimes occur after disabling SIP (System Integrity Protection) on your Mac during the setup for the Private API. We are unsure exactly why this happens, but we know how to fix it.
How can this be fixed?
MacOS maintains a database of the allowed permissions. All we need to do is modify this database and manually add the BlueBubbles Server to the "allow" list for the Contacts permission.
Technical Level of Effort: Medium
Steps to fix the issue
Open up the Terminal app on your Mac
Use the
CMD + Space
hotkey combo to open Spotlight Search and typeTerminal
Run the following command to make a backup of the
TCC.db
file in case of corruptioncp ~/Library/Application\ Support/com.apple.TCC/TCC.db ~/Library/Application\ Support/com.apple.TCC/TCC.db.bak
Open the
TCC.db
database file using the following command:sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db
Do not omit the
~
character from the file pathThis will open the database for editing
Paste the following commands, hitting
ENTER
after each one. If you receive an error when running any of the following commands, do not worry, you can ignore them.INSERT INTO access VALUES('kTCCServiceAddressBook','com.BlueBubbles.BlueBubbles-Server',0,2,4,1,X'fade0c00000000b000000001000000060000000200000022636f6d2e426c7565427562626c65732e426c7565427562626c65732d5365727665720000000000060000000f000000060000000e000000010000000a2a864886f76364060206000000000000000000060000000e000000000000000a2a864886f7636406010d0000000000000000000b000000000000000a7375626a6563742e4f550000000000010000000a575056323735483857370000',NULL,0,'UNUSED',NULL,0,1675472593);
INSERT INTO access VALUES('kTCCServiceContactsFull','com.BlueBubbles.BlueBubbles-Server',0,2,4,1,X'fade0c00000000b000000001000000060000000200000022636f6d2e426c7565427562626c65732e426c7565427562626c65732d5365727665720000000000060000000f000000060000000e000000010000000a2a864886f76364060206000000000000000000060000000e000000000000000a2a864886f7636406010d0000000000000000000b000000000000000a7375626a6563742e4f550000000000010000000a575056323735483857370000',NULL,0,'UNUSED',NULL,0,1675472593);
INSERT INTO access VALUES('kTCCServiceContactsLimited','com.BlueBubbles.BlueBubbles-Server',0,2,4,1,X'fade0c00000000b000000001000000060000000200000022636f6d2e426c7565427562626c65732e426c7565427562626c65732d5365727665720000000000060000000f000000060000000e000000010000000a2a864886f76364060206000000000000000000060000000e000000000000000a2a864886f7636406010d0000000000000000000b000000000000000a7375626a6563742e4f550000000000010000000a575056323735483857370000',NULL,0,'UNUSED',NULL,0,1675472593);
Once complete, type
.exit
and hitENTER
to leave thesqlite3
CLIOpen the BlueBubbles Server (if not already open), and navigate to the Contacts tab
Use the
Permissions -> Refresh Permission Status
button in BlueBubbles see if the Contacts permission is authorizedIf it is still not authorized, use the
Permissions -> Request Permission
button to try and force request the permission.If it is still not authorized, you may need to manually enable the permission within the
Security & Privacy
settings withinSystem Preferences
If at any point, you mess up or feel like something went wrong, simply run the following command to replace the TCC.db
file with the one you backed up at the start:
mv ~/Library/Application\ Support/com.apple.TCC/TCC.db.bak ~/Library/Application\ Support/com.apple.TCC/TCC.db
Now, you can restart the process from step 2
BlueBubbles should now be able to access your macOS Contacts!
References
Last updated