Appshots hotkey registers but never fires on macOS 26.5
What version of the Codex App are you using?
Codex App: 26.519.31651 (CFBundleVersion 3017)
Computer Use helper: com.openai.sky.CUAService, version 1.0 build 799
Computer Use client: com.openai.sky.CUAService.cli, version 1.0 build 799
What platform is your computer?
macOS 26.5 (25F71), Apple Silicon / arm64
What issue are you seeing?
The Appshots hotkey appears to register successfully, but pressing the configured hotkey does not trigger Appshots.
This seems different from #23992. In #23992, the log contains Appshot hotkey pressed and the failure happens later during capture. In this case, Appshot hotkey pressed / Dispatching appshot hotkey never appears after pressing the hotkey.
Expected behavior
Pressing the configured Appshots hotkey should trigger Appshots and attach an appshot to the current Codex thread.
Actual behavior
Nothing is attached. The Codex UI only reacts as if modifier keys are being held, e.g. the “New chat” button changes/flickers to “Quick chat”, but Appshots does not start.
Reproduction steps
- Open Codex App.
- Open Settings > Appshots.
- Set Appshots hotkey to
DoubleShift. - Restart Codex.
- Press both Shift keys simultaneously.
- Observe that Appshots does not trigger.
- Repeat with
DoubleCommand. - Observe that Appshots still does not trigger.
Codex log evidence
Codex logs show that the hotkey is registered:
Registering appshot hotkey hotkey=DoubleShift
Registered appshot hotkey hotkey=DoubleShift
Registering appshot hotkey hotkey=DoubleCommand
Registered appshot hotkey hotkey=DoubleCommand
Registering appshot hotkey hotkey=DoubleShift
Registered appshot hotkey hotkey=DoubleShift
However, after pressing the configured hotkey, the log never contains:
Appshot hotkey pressed
Dispatching appshot hotkey
Additional diagnostic result
Running the bundled monitor directly:
/Applications/Codex.app/Contents/Resources/native/bare-modifier-monitor --key DoubleShift --immediate
prints:
ready
but pressing both Shift keys does not produce any further output.
Earlier checks with DoubleCommand also did not detect the hotkey.
Permissions and settings already tried
- Updated macOS.
- Restarted Codex after changing settings.
- Tried
DoubleCommand. - Tried
DoubleShift. - Checked Screen Recording / Screen & System Audio Recording permissions.
- Checked Accessibility permissions.
- Tried toggling
bare-modifier-monitorrelated permissions on and off during troubleshooting. - Tried Input Monitoring during troubleshooting.
The public Codex/Appshots documentation and release notes do not appear to mention bare-modifier-monitor or Input Monitoring as user-facing setup steps, so this may be either a hotkey monitor bug or a documentation/setup gap.
Privacy note
Local usernames, full local file paths, and full logs are intentionally omitted from this public issue. I can provide additional logs through a private/support channel if needed.
4 Comments
I will create a PR to fix this
This looks like the same failure class I hit while hardening my own Mac agent setup: the visible symptom is usually a broken action loop, but the root cause is often one of these:
The fastest sanity check is to verify each layer separately: provider smoke test, isolated per-directory session id, macOS permissions readback, and a real Computer Use tool call such as listing running apps.
I wrote up the checklist here: https://igorganapolsky.github.io/openclaw-mac-ai-workstation-setup/troubleshooting.html?utm_source=github&utm_medium=issue&utm_campaign=openai-codex-24009
If you want this fixed done-for-you on a Mac, I also packaged it as a focused setup service: https://igorganapolsky.github.io/openclaw-mac-ai-workstation-setup/?utm_source=github&utm_medium=issue&utm_campaign=openai-codex-24009
Hi, I've implemented a fix for this issue in my fork: https://github.com/FuZoe/codex/commit/27f4d1a
Summary:
Adds codex-rs/bare-modifier-monitor/ crate — a macOS-only binary that monitors for double-press of a bare modifier key (Shift or Command) via CoreGraphics event taps.
Uses kCGSessionEventTap instead of kCGHIDEventTap for macOS 15+ compatibility.
Handles kCGEventTapDisabledByTimeout to auto re-enable the tap when macOS disables it.
Strict modifier isolation — only fires when target modifier is the sole modifier pressed.
Unfortunately I don't have permission to open a PR against this repo. If a maintainer finds this useful, feel free to cherry-pick or adapt the commit directly.
Same issue on Mac Studio / Apple Silicon arm64. Up-to-date MacOS version.
Logs:
Registered appshot hotkey hotkey=DoubleOption
Registered appshot hotkey hotkey=DoubleShift
Registered appshot hotkey hotkey=DoubleCommand
Missing logs after pressing the configured hotkeys:
Appshot hotkey pressed
Dispatching appshot hotkey
Direct monitor tests:
/Applications/Codex.app/Contents/Resources/native/bare-modifier-monitor --key DoubleOption --immediate
/Applications/Codex.app/Contents/Resources/native/bare-modifier-monitor --key DoubleShift --immediate
/Applications/Codex.app/Contents/Resources/native/bare-modifier-monitor --key DoubleCommand --immediate
All print
readybut never detect input.