openai / openai/codex

[Regression][macOS 26.5] Locked Use plugin is still rejected by SecurityAgentHelper and hangs manual Touch ID unlock

Open
#39,534 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug computer-use
Dominant language
Rust
Stars
125k
Forks
19.5k
PR merge metrics
PR metrics pending

Description

What version of the Codex App are you using (From “About Codex” dialog)?

ChatGPT/Codex App 26.814.41407 (build 6720)

Computer Use authorization plug-in: 0.1.0 (build 809)

What subscription do you have?

ChatGPT Pro

What platform is your computer?

Darwin 25.5.0 arm64 arm

macOS 26.5 (25F71), Apple Silicon, FileVault enabled.

What issue are you seeing?

With Settings → Computer Use → Locked use enabled, a normal local/manual Touch ID unlock hung on the macOS lock screen.

The fingerprint was successfully recognized, but the lock screen showed a spinner for more than a minute, useful keyboard input did not recover the session, and the Mac remained locked. The only available recovery was a forced power-button restart.

This was not a Touch ID sensor failure or an invalid user password:

  • BiometricKit reported MATCH.
  • coreauthd reported unlocked:1, credential:1, resultIgnored:0.
  • loginwindow received APEventTouchIDMatch and began screen-lock authentication.
  • After the forced restart, the real login password succeeded through both the Secure Enclave credential and ShadowHash paths.
  • The original login keychain then logged keychain unlocked successful, with no keychain reset or move-aside.

Immediately after the successful Touch ID match, AppleMobileFileIntegrity rejected the Locked Use authorization plug-in twice:

Library Validation failed: Rejecting
'/Library/Security/SecurityAgentPlugins/StagedPlugins/
CodexComputerUseAuthorizationPlugin.bundle/Contents/MacOS/
CodexComputerUseAuthorizationPlugin'
(Team ID: 2DC432GLL2, platform: no)
for process 'SecurityAgentHelper'
(Team ID: N/A, platform: yes),
reason: mapping process is a platform binary, but mapped file is not

The plug-in itself passed codesign --verify --deep --strict and was signed by:

Developer ID Application: OpenAI OpCo, LLC (2DC432GLL2)

This appears to be the same underlying Library Validation failure reported in #24013, which was closed as completed and used authorization plug-in build 799. It is still present in build 809, and in this incident it blocked the user's own manual Touch ID unlock rather than only causing a remote Computer Use/Get App State failure.

What steps can reproduce the bug?

Observed sequence:

  1. Enable Settings → Computer Use → Locked use.
  2. Leave the normal Computer Use service running.
  3. Lock the Mac / allow the display to lock.
  4. Wake the display and use the locally enrolled Touch ID fingerprint.
  5. Touch ID reports a successful match.
  6. loginwindow begins screen-lock authentication and disables the lock-screen controls while showing a spinner.
  7. SecurityAgentHelper attempts to load the staged Codex authorization plug-in.
  8. AppleMobileFileIntegrity rejects the plug-in because a platform process is mapping a non-platform binary.
  9. The authorization request does not complete. After about 49 seconds, loginwindow's display-idle timer cancels the authentication and records an unlock failure. Further interaction did not restore the session.
  10. Force-restart the Mac to recover.

The failure has not been deliberately reproduced again because it can require another forced restart and risk unsaved data.

What is the expected behavior?

A local/manual Touch ID unlock must remain available even if Locked Use cannot load its authorization plug-in.

If the Locked Use plug-in is incompatible with the current macOS SecurityAgentHelper/Library Validation policy, the feature should fail closed for automatic remote unlock while immediately falling back to the standard Apple use-login-window-ui path for the local user. It must not block or indefinitely delay the user's own Touch ID or password unlock.

Additional information

Incident timeline, local time:

03:38:11.731  BiometricKit: MATCH
03:38:11.733  coreauthd: unlocked:1, credential:1, resultIgnored:0
03:38:11.735  loginwindow: APEventTouchIDMatch; authentication began
03:38:11.954  AppleMobileFileIntegrity: plug-in rejected
03:38:12.287  AppleMobileFileIntegrity: plug-in rejected again
03:39:01.163  loginwindow: authentication timed out/cancelled; unlock failed
03:42          Forced restart; no normal shutdown record
03:43:34      Real password authentication, keychain unlock, and desktop login succeeded

Workaround and verification:

  1. Disabled Settings → Computer Use → Locked use.
  2. system.login.screensaver was restored to only:
    use-login-window-ui
    
  3. com.openai.sky.CUAService.AuthorizationPlugin.remote was removed from the authorization chain.
  4. /Library/Security/SecurityAgentPlugins/CodexComputerUseAuthorizationPlugin.bundle was removed.
  5. StagedPlugins contained no plug-in.
  6. A delayed read-back confirmed the plug-in was not re-registered.
  7. Multiple manual lock-screen → Touch ID → desktop tests then succeeded.

The normal unlocked-session Computer Use service remains enabled and usable. Only Locked use was disabled.

Related issues:

  • #24013 — same Library Validation rejection on older authorization plug-in build 799; closed as completed.
  • #35553 — open report involving Locked Use and keybag/login-keychain failures.
  • #32396 — automatic Locked Use unlock failure.

Impact:

  • Local lock-screen availability failure.
  • Forced-restart requirement.
  • Risk of unsaved-data loss and filesystem/application-state damage.
  • Potential authentication/keybag interaction risk because the third-party rule precedes use-login-window-ui.

Feedback ID: 01a01b8e-2eca-7d83-afe1-fe8d7a8a7758

Full unified logs and sysdiagnose are intentionally not attached publicly because they may contain unrelated private information. Narrow, redacted log excerpts can be provided on request.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Locked use authorization path and its registration in the macOS authorization chain, using the SecurityAgentHelper and AppleMobileFileIntegrity log excerpts as entry points. Compare the Locked use behavior with the restored use-login-window-ui path and verify that local Touch ID and password unlocks complete while incompatible remote authorization fails closed.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
authentication, operating-systems, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.