Bug Description
Loop shortcuts completely stop working while OS X Secure Input is active. The radial menu still opens, but the regular key event never reaches Loop and the window doesn't move.
This started out of nowhere after a reboot for me. Re-adding Accessibility permissions, logging out, rebooting, and even upgrading OS X made no difference. Rectangle worked immediately with the same shortcuts though. I can now reproduce it every time with the helper below :)
Affected Scope
Other
Steps to Reproduce
- Configure a Loop shortcut such as
⌘⌥←.
- Confirm that it moves the focused window.
- Run this in Terminal:
swift -e '
import Carbon.HIToolbox
import Darwin
import Foundation
func stopSecureInput(_: Int32) {
_ = DisableSecureEventInput()
exit(0)
}
signal(SIGINT, stopSecureInput)
signal(SIGTERM, stopSecureInput)
let status: OSStatus = EnableSecureEventInput()
guard status == noErr else {
fputs("EnableSecureEventInput failed: \(status)\n", stderr)
exit(1)
}
print("Secure Input enabled: \(IsSecureEventInputEnabled())")
print("Press Control-C to disable it and exit.")
fflush(stdout)
RunLoop.current.run()
'
- Confirm that it prints
Secure Input enabled: true.
- Retry the Loop shortcut.
- Stop the helper with Control-C and retry it once more.
Reproducibility
Always
Expected vs Actual Behavior
Expected: the shortcut moves the window, just like it does in Rectangle.
Actual: Loop sees the modifiers and can show the radial menu, but it misses the regular action key. The window doesn't move. Stopping the helper makes the shortcut work again immediately.
Screen Recordings / Screenshots
Not applicable; the only visible result is that the window doesn't move.
Severity
Major (workaround exists)
macOS Version
26.5.2 (25F84)
Loop Version
1.4.2 (1755); also reproduced on build 1714
Did You Try the Development Build?
Yes
Additional Context
I'm not sure what suddenly enabled Secure Input on this machine. Bitwarden is a likely real-world trigger because of bitwarden/clients#21964, but the helper above reproduces the problem without Bitwarden.
#1127 already contains the fix I tested. Since the project requires an accepted issue first, I'm filing this now. If the approach looks good, please reopen that PR and I'll update it with the AI disclosure.
AI Assistance Disclosure
OpenAI Codex (GPT-5) assisted with diagnosis/implementation/tests/documentation/reproduction-helper/pr-drafting.
I personally reproduced and tested the complete behavior. I also manually reviewed every line of the proposed code and verified that it does only what is necessary to address this bug and as far as I can judge, nothing outside that scope.
I'm an experienced open source developer and wouldn't have submitted the PR if I wasn't confident in the code, it's signed with my name after all so my own reputation is at stake too ;)
Final Checks
Bug Description
Loop shortcuts completely stop working while OS X Secure Input is active. The radial menu still opens, but the regular key event never reaches Loop and the window doesn't move.
This started out of nowhere after a reboot for me. Re-adding Accessibility permissions, logging out, rebooting, and even upgrading OS X made no difference. Rectangle worked immediately with the same shortcuts though. I can now reproduce it every time with the helper below :)
Affected Scope
Other
Steps to Reproduce
⌘⌥←.Secure Input enabled: true.Reproducibility
Always
Expected vs Actual Behavior
Expected: the shortcut moves the window, just like it does in Rectangle.
Actual: Loop sees the modifiers and can show the radial menu, but it misses the regular action key. The window doesn't move. Stopping the helper makes the shortcut work again immediately.
Screen Recordings / Screenshots
Not applicable; the only visible result is that the window doesn't move.
Severity
Major (workaround exists)
macOS Version
26.5.2 (25F84)
Loop Version
1.4.2 (1755); also reproduced on build 1714
Did You Try the Development Build?
Yes
Additional Context
I'm not sure what suddenly enabled Secure Input on this machine. Bitwarden is a likely real-world trigger because of bitwarden/clients#21964, but the helper above reproduces the problem without Bitwarden.
#1127 already contains the fix I tested. Since the project requires an accepted issue first, I'm filing this now. If the approach looks good, please reopen that PR and I'll update it with the AI disclosure.
AI Assistance Disclosure
OpenAI Codex (GPT-5) assisted with diagnosis/implementation/tests/documentation/reproduction-helper/pr-drafting.
I personally reproduced and tested the complete behavior. I also manually reviewed every line of the proposed code and verified that it does only what is necessary to address this bug and as far as I can judge, nothing outside that scope.
I'm an experienced open source developer and wouldn't have submitted the PR if I wasn't confident in the code, it's signed with my name after all so my own reputation is at stake too ;)
Final Checks