How to make app appear in Input Monitoring permissions list (like Accessibility does automatically)?

My app needs both Accessibility and Input Monitoring permissions. Accessibility works as expected — calling AXIsProcessTrusted() automatically adds the app to System Settings > Privacy & Security > Accessibility, and the user just needs to toggle it on.

Input Monitoring doesn't behave the same way. I'm calling CGRequestListenEventAccess() and creating a CGEvent.tapCreate(.listenOnly), but the app doesn't reliably appear in the Input Monitoring list. The user opens the pane and sees nothing to enable.

What I've tried:

  1. CGRequestListenEventAccess() — shows the system prompt once per install, but doesn't always add the app to the list
  2. CGEvent.tapCreate(tap: .cgSessionEventTap, place: .headInsertEventTap, options: .listenOnly, ...) — returns nil before Accessibility is granted; after Accessibility is granted, the tap succeeds but the app still may not appear in the Input

Monitoring list 3. Calling both after Accessibility is confirmed, with a delay before opening the Settings pane

The flow:

  1. User grants Accessibility (app appears automatically via AXIsProcessTrusted())
  2. App creates a listen-only CGEventTap (succeeds)
  3. App opens x-apple.systempreferences:com.apple.preference.security?Privacy_ListenEvent
  4. User sees the Input Monitoring pane but the app is not listed

Environment: macOS 15 (Sequoia), signed and notarized app, correct bundle ID, Hardened Runtime with com.apple.security.device.audio-input-monitoring entitlement not set (not applicable — this is for audio, not HID).

Question: Is there an API equivalent to AXIsProcessTrusted() that reliably registers an app in the Input Monitoring list? Or is there a specific entitlement, Info.plist key, or sequence of calls required on macOS 14+/15 to ensure the app appears?

How to make app appear in Input Monitoring permissions list (like Accessibility does automatically)?
 
 
Q