Glossary/Processes you will see
tccd
Also: privacy permissions
Quick answer
tccd is the macOS process that manages privacy permissions: which apps may use the camera, microphone, screen recording, your files and folders, contacts, Full Disk Access and Accessibility. TCC stands for Transparency, Consent and Control, the system behind every "would like to access" prompt.
Every time an app reaches for something protected, macOS asks tccd whether it is allowed. tccd keeps the answers in a database and shows the permission prompt when there is no answer yet. What you switch on and off in System Settings → Privacy & Security is tccd's database.
There are two instances: one for your own account and one for the system. Both are normally idle and cost almost nothing.
Why tccd is using so much CPU
An app is asking for a permission over and over, often because it was denied and keeps trying, or because it was updated and its signature no longer matches what tccd approved. Screen recording and Accessibility permissions are the common ones.
Less often the permissions database is in a bad state after a migration or an interrupted update, and tccd keeps failing to read it.
How to fix it
Open System Settings → Privacy & Security, find the permission the app needs, and switch it off and on again, or remove the app from the list with the minus button and let it ask again.
To reset one permission for every app, Terminal has tccutil reset followed by the service name, for example tccutil reset ScreenCapture. Apps will ask again the next time they need it.
How to see which app keeps asking tccd
When tccd is busy, the useful question is who is asking and for what. Its own log says both.
- Open Activity Monitor, choose View → All Processes and type
tccdin the search field. The User column shows root for the system instance and your name for yours. Note which one has the CPU. - Open Terminal and run
log stream --predicate 'process == "tccd" AND eventMessage CONTAINS "AUTHREQ"'. Press Control-C to stop. - Read the lines that repeat.
service=names the permission, such askTCCServiceScreenCapture, andidentifier=names the app, such ascom.example.app. - Look at
authValue=in the result lines.0means denied and2means allowed. An app that gets0again and again is the loop. - Reset that one permission for that one app. The part of the service name after
kTCCServiceis whattccutilexpects, sotccutil reset ScreenCapture com.example.appclears the answer for that app alone.tccutil reset All com.example.appclears every permission for it. - Open the app again and answer its prompt, or grant the permission in System Settings → Privacy & Security.
Normal tccd use vs a problem
Normal: near zero, with a small blip each time an app asks for something protected. Apps ask often, but most answers come from the database in a moment.
Worth looking into: tccd stays in the CPU list for minutes at a time, or a permission you granted keeps asking again. The usual causes:
- An app that was updated or re-signed, so tccd no longer sees it as the app you approved.
- An app you denied that does not stop asking.
- A permissions database that did not move over cleanly during a migration.
Why a permission you granted does not work
Some permissions only take effect when the app starts. Screen Recording and Full Disk Access are the common ones: when you switch them on, macOS offers to quit and reopen the app. If you choose Later, the app keeps running as if it had no access until you quit it yourself.
If the switch is on and the app still cannot use the feature after a restart of the app, switch it off, remove the app from the list with the minus button, and add it again. That replaces the old record in tccd's database with one that matches the app as it is now.
Questions people ask
What is tccd on Mac?
The macOS process that manages privacy permissions, such as camera, microphone, screen recording and file access. It shows the permission prompts and remembers your answers.
Why is tccd using high CPU?
Usually an app is requesting a permission repeatedly, often after an update changed its signature. Re-granting the permission in Privacy & Security, or resetting it with tccutil, stops the loop.
Is it safe to reset privacy permissions with tccutil?
Yes. It only clears the saved answers for that permission, so apps ask again. It removes nothing else, but you will need to re-approve apps that need it.
Can I disable tccd?
No. It is part of macOS and protected by System Integrity Protection, and without it no app could be given or refused access to your camera, microphone or files. To stop a prompt, answer it or change the app's permission in System Settings → Privacy & Security.
Where is the TCC database on Mac?
Your own permissions are in `~/Library/Application Support/com.apple.TCC/TCC.db`, and system-wide ones are in the same path under `/Library`. macOS protects both files, so change permissions in System Settings or with `tccutil` instead of editing them.
Related
Looking for something better than Activity Monitor? See the best Activity Monitor alternatives for Mac, or browse every term in the glossary.