Our background monitoring application uses a Unix executable that requests Screen Recording permission via CGRequestScreenCaptureAccess(). This worked correctly in macOS Tahoe 26.0.1, but broke in 26.1.
Issue: After calling CGRequestScreenCaptureAccess() in macOS Tahoe 26.1:
- System dialog appears and opens System Settings
- Our executable does NOT appear in the Screen Recording list
- Manually adding via "+" button grants permission internally, but the executable still doesn't show in the UI
- Users cannot verify or revoke permissions
Background:
- Unix executable runs as a background process (not from Terminal)
- Uses Accessibility APIs to retrieve window titles
- Same issue occurs with Full Disk Access permissions
Environment:
- macOS Tahoe 26.1 (worked in 26.0.1)
- Background process (not launched from Terminal)
Questions:
- Is this a bug or intentional design change in 26.1?
- What's the recommended approach for background executables to properly register with TCC?
- Are there specific requirements (Info.plist, etc.) needed?
This significantly impacts user experience as they cannot manage permissions through the UI.
Any guidance would be greatly appreciated. Thank you