{"id":18162289,"url":"https://github.com/luckman212/screencapture-nag-remover","last_synced_at":"2025-04-12T00:12:56.135Z","repository":{"id":259093110,"uuid":"863519634","full_name":"luckman212/screencapture-nag-remover","owner":"luckman212","description":"Small tool to disable macOS 15's annoying new screencapture nag popups","archived":false,"fork":false,"pushed_at":"2024-11-07T13:48:26.000Z","size":131,"stargazers_count":531,"open_issues_count":8,"forks_count":13,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-12T00:12:49.097Z","etag":null,"topics":["macos","permissions","screen-capture","screencapture","screencapturekit","sequoia"],"latest_commit_sha":null,"homepage":"https://news.ycombinator.com/item?id=41658492","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luckman212.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-26T12:42:25.000Z","updated_at":"2025-04-11T05:31:41.000Z","dependencies_parsed_at":"2025-01-03T07:17:22.909Z","dependency_job_id":"142f7b05-5c90-4c86-a388-ac2b0a2a7641","html_url":"https://github.com/luckman212/screencapture-nag-remover","commit_stats":null,"previous_names":["luckman212/screencapture-nag-remover"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luckman212%2Fscreencapture-nag-remover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luckman212%2Fscreencapture-nag-remover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luckman212%2Fscreencapture-nag-remover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luckman212%2Fscreencapture-nag-remover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luckman212","download_url":"https://codeload.github.com/luckman212/screencapture-nag-remover/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248497820,"owners_count":21113984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["macos","permissions","screen-capture","screencapture","screencapturekit","sequoia"],"created_at":"2024-11-02T09:04:40.036Z","updated_at":"2025-04-12T00:12:56.107Z","avatar_url":"https://github.com/luckman212.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"\u003cimg src=\"./icon.png\" width=\"96\" /\u003e\n\n# macOS 15 screencapture nag remover\n\n## Abstract\n\nmacOS 15 (Sequoia) introduced a new \"security\" feature which has frustrated many people, and insulted power users who prefer to have full control over their systems. The effect is nagging popups like the one below when apps that you have _already_ granted permission to try to capture your screen.\n\n\u003cimg src=\"./sample.png\" width=\"200\" alt=\"nag image\" /\u003e\n\n\u003e _Hey Apple, you forgot the “Always Allow” option!_\n\nThis script operates on the `~/Library/Group Containers/group.com.apple.replayd/ScreenCaptureApprovals.plist` and sets the nag dates far in the future to avoid the popups from appearing.\n\n## macOS 15.1\n\nmacOS 15.1 [introduced a new method][5] (additional reference [here][6]) 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.\n\nBut don't despair, for self-managed Macs, the script also supports the standard method of individually setting MRU dates for each app (including macOS 15.1's new multi-keyed dict approach).\n\n## Automatic Updates via LaunchAgent (required for smooth operation on 15.1)\n\nmacOS 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 \u003e30 days, you will be nagged again, even if you had previously disabled the nag.\n\nv1.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.\n\n## Setup\n\n1. Download the latest [release][4].\n2. Open a Terminal and type `cd ~/Downloads` to navigate to the directory which should contain the file you just downloaded.\n3. Remove the quarantine flag which probably exists on the file: `xattr -d com.apple.quarantine screencapture-nag-remover.sh`\n4. Make the script executable: `chmod a+x screencapture-nag-remover.sh`\n5. Place that `screencapture-nag-remover.sh` file somewhere in your `$PATH` (I suggest `/usr/local/bin` if you're unsure)\n6. You are now ready to run the program!\n\n## Use\n\nOpen a Terminal and run:\n\n```\nscreencapture-nag-remover.sh\n```\n\nFull Disk Access is required so the protected plist file can be accessed. The program will check to ensure FDA has been granted. If it hasn't, the relevant System Settings panel will be opened.\n\nWith no arguments, it will iterate over any apps which have requested screencapture permissions and set the nag date for each to 100 years in the future. That _should_ prevent you from seeing the nag again.\n\n\u003e **N.B.** _If [life expectancy][1] increases dramatically over the next few years, you might need to run the app again in a decade or two._ 😉\n\nThere are also a few commandline arguments:\n\n- `-h` shows the helptext\n- `-r` will reveal the .plist responsible for these nags in Finder\n- `-p` will print the **current** values without making any changes\n- `-a \u003cpath|bundle_id\u003e` creates a new entry in the plist for an app that you specify\n- `--reset` initialize an empty ScreenCaptureApprovals.plist\n- `--generate_profile` generate configuration profile for use with your MDM server\n- `--profiles` opens Device Management in System Settings (to manage MDM profiles)\n- `--install` installs a LaunchAgent (runs once per day) which ensures the nag dates are kept updated\n- `--uninstall` removes the LaunchAgent\n\n### Example of manually adding an app\n\nmacOS 15.0 (by specifying path)\n```\nscreencapture-nag-remover.sh -a \"/Applications/CleanShot X.app/Contents/MacOS/CleanShot X\"\n```\n\nmacOS 15.1 (using Bundle ID)\n```\nscreencapture-nag-remover.sh -a cc.ffitch.shottr\n```\n\nIf you encounter any problems, please file an [issue][3]. And in case anyone [@Apple][2] is reading this, please get rid of this bothersome \"feature\"...\n\n\n[1]: https://data.worldbank.org/indicator/SP.DYN.LE00.IN\n[2]: https://github.com/apple\n[3]: https://github.com/luckman212/screencapture-nag-remover/issues\n[4]: https://github.com/luckman212/screencapture-nag-remover/releases\n[5]: https://developer.apple.com/documentation/macos-release-notes/macos-15_1-release-notes#New-Features\n[6]: https://github.com/apple/device-management/blob/b6202ca2fbd31286a52eb160b67a4db7b4fe1f1f/mdm/profiles/com.apple.applicationaccess.yaml#L3546\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluckman212%2Fscreencapture-nag-remover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluckman212%2Fscreencapture-nag-remover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluckman212%2Fscreencapture-nag-remover/lists"}