See update below for important change in macOS 15.1.
The widely-reported "foo is requesting to bypass the system private window picker and directly access your screen and audio" prompt in Sequoia (which Apple has moved from daily to weekly to monthly (though for some apparently it is minute-by-minute)) can be disabled by quitting the app, setting the system date far into the future, opening and using the affected app to trigger the nag, clicking "Allow For One Month", then restoring the correct date.
Tested by setting the date to 1/1/2040 then clicking "Allow For One Month"; no amount of changing to dates before 1/1/2040 triggered the nag, while setting the date to a month after 1/1/2040 or anytime thereafter triggered it again.
Apple's latest security enhancement defeated by a "hack" from the '90s shareware scene?
skrrtww: "Failing to respond to the prompt…does not even revoke the existing permission."
nox101: "AFAICT, Apple excludes all their own apps."
angulardragon03: "[T]he mechanism seems like it's primarily for shaming developers that don’t use the new API"
kranner: "I'm getting this alert even for code that uses only the new ScreenCaptureKit framework, specifically the SCScreenshotManager class introduced in WWDC23. Hopefully this is a bug and Apple meant to show this only for apps that still use deprecated functions like CGWindowListCreateImage."
skrrtww: "Any material use of ScreenCaptureKit that doesn't involve that content sharing picker specifically will trigger this prompt. That means asking for SCShareableContent, or a couple other generic uses I forget.
Jeff Johnson credits Ricci Adams with discovering that ~/Library/Group Containers/group.com.apple.replayd/ScreenCaptureApprovals.plist stores screen capture approval dates. He reports that the file is protected by TCC and suggests granting Full Disk Access to Terminal, using defaults
to read and modify the file, then logging off and on to permanently disable the prompt. In testing, I was able to edit ScreenCaptureApprovals.plist in both PlistEdit Pro and BBEdit without granting Full Disk Access or any other special permissions. Rather than logging off, I force-quit replayd
via Activity Monitor, and macOS automatically restarted the process. Thanks to both for the tip!
Amnesia by Jordi Bruin "allows you to disable the monthly reminders for Screen Capture Access on an app by app basis."
Luke Hamburg's macOS 15 screencapture nag remover Bash script is a FOSS alternative to Amnesia, which also takes Apple's latest shenanigans into account:
macOS 15.1 made a change to replayd whereby upon each invocation of an app that requests ScreenCapture permission, the timestamp in the plist is overwritten with the current date/time. The net effect is that if you use an app once, and then don't use it again for >30 days, you will be nagged again, even if you had previously disabled the nag.
v1.3.0 of this script added a workaround for this: an option to install a LaunchAgent which runs every 24h and keeps the timestamps updated. This ensures that nags are kept hidden even as apps are used or if your system clock abruptly changes.
Luke also points out that Apple has provided a workaround for business customers to disable the nag:
macOS 15.1 introduces a new method for suppressing these alerts across the board. This leverages a configuration profile which must be provisioned by an MDM server (e.g. Jamf, Addigy, Mosyle, etc). Apple unfortunately prohibits self-installing configuration profiles for certain TCC settings, ScreenCapture being one of them.
/mac | Sep 18, 2024