Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Cursor calls EnableSecureEventInput and never balances it with
DisableSecureEventInput. Secure Event Input is a system-wide singleton on
macOS, so while it is held, every CGEventTap on the machine is disabled —
not just inside Cursor.
The result is that any third-party tool relying on input taps silently
stops working for as long as the Cursor process lives. In my case
Logitech Options+ mouse gestures die; by the same mechanism this will
affect Raycast hotkeys, text expanders and dictation tools.
I hit this roughly 7 times per working day. The only reliable recovery is
locking and unlocking the screen, which resets the session’s secure-input
state.
Steps to Reproduce
- Launch Cursor and work normally for a few minutes.
- Check who holds secure input:
ioreg -l -d 1 -w 0 | grep -o ‘kCGSSessionSecureInputPID"=[0-9]*’ - Resolve the PID:
ps -p -o comm=
Actual result
kCGSSessionSecureInputPID"=29082
/Applications/Cursor.app/Contents/MacOS/Cursor
Held continuously for 14+ minutes with no password field focused anywhere
in the UI. It does not clear on window blur, on app deactivation, or when
another app is brought to the front. It clears only on Cursor quit or on
screen lock/unlock.
Expected Behavior
Secure Event Input is released as soon as the secret input field loses
focus, and is guaranteed released on window blur / app deactivation so a
leaked enable cannot outlive the field that requested it.
Operating System
MacOS
Version Information
3.14.27
Additional Information
this is almost certainly not Cursor-specific code but inherited Electron/Chromium password-field behaviour, so the fix likely belongs in how Cursor handles focus teardown around masked input fields.
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor