openai / openai/codex

[macOS] Login Keychain replaced and Touch ID enrollments lost after restart with Locked Use plugin registered

Open
#40,168 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

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

The desktop logs show ChatGPT/Codex App 26.814.41407 (build 6720) active around the incident.

The app has since updated to 26.818.41509 (build 6962).

What platform is your computer?
  • macOS 26.4.1 (25E253)
  • Apple Silicon (arm64)
  • FileVault enabled
  • No MDM enrollment
  • Codex Computer Use authorization plug-in: 0.1.0 (build 799)
What issue are you seeing?

After a restart, the macOS login Keychain had been replaced/moved aside, sign-in sessions were lost across unrelated applications, and all enrolled Touch ID fingerprints had disappeared.

Observed effects included:

  • TeamViewer was signed out.
  • OneDrive was signed out.
  • Other Keychain-backed application sessions were unavailable.
  • Touch ID reported zero enrolled fingerprint templates.
  • The previous login Keychain existed as login_renamed_1.keychain-db.
  • A new, much smaller login.keychain-db was subsequently created.
  • The Mac login password had not been changed or reset.

Before the restart, macOS had also stopped playing video files. That symptom may be unrelated, but it preceded the restart after which the credential and Touch ID loss became visible.

Local forensic timeline

Times below are local time (UTC+09:30) on 2026-08-22:

Time Observation
13:48 Last interactive Codex agent/tool operation completed.
17:30:31 Background Codex app logged keyring.load start for service Codex MCP Credentials, followed by keyring.load no entry.
17:31:56 login_renamed_1.keychain-db was created according to APFS birth time.
17:32:34 The renamed Keychain file's modification completed.
17:37 macOS rebooted.

A later reboot occurred on 2026-08-23. The replacement login.keychain-db has a birth time of 2026-08-23 10:21:47 local time.

The observed Codex Keychain read occurred approximately 85 seconds before the old login Keychain file appeared.

Codex activity checked

The relevant Codex session and local logs were reviewed with sensitive values redacted:

  • No Codex agent/tool command referenced Keychain, Touch ID, security, bioutil, or ~/Library/Keychains.
  • The last interactive tool operation was more than three hours before the Keychain event.
  • Codex logs immediately before the event show item-level Keychain reads returning “no entry.”
  • No corresponding keyring.save, keyring.delete, Keychain reset, or reported Keyring error was found before the event.
  • Raw logs are not attached because they may contain authentication headers or other private data. Narrow redacted excerpts can be provided if requested.

This report therefore does not claim that the Codex agent intentionally executed a reset. It reports a close temporal correlation with the background desktop app and a potentially relevant lock-screen authorization integration.

Locked Use authorization state

The Codex authorization plug-in is currently present at:

/Library/Security/SecurityAgentPlugins/CodexComputerUseAuthorizationPlugin.bundle

Its version is 0.1.0, build 799.

A read-only check of system.login.screensaver shows the mechanisms in this order:

  1. com.openai.sky.CUAService.AuthorizationPlugin.remote
  2. use-login-window-ui

The custom authorization right invokes:

CodexComputerUseAuthorizationPlugin:allow

This is notable because build 799 and the same authorization mechanism appear in related Locked Use reports.

Other system checks
  • APFS verification completed successfully.
  • Disk SMART status is verified.
  • The disk has substantial free space.
  • The login password was unchanged.
  • No direct shell/file operation capable of resetting the Keychain was found in the Codex session.
Steps to reproduce the bug

The failure has occurred once and is not reproducible on demand.

Conditions present:

  1. macOS 26.4.1 on Apple Silicon with FileVault enabled.
  2. Codex Desktop running in the background.
  3. Codex Locked Use authorization plug-in build 799 installed and registered in system.login.screensaver.
  4. Restart the Mac after the system begins exhibiting abnormal media playback behavior.
  5. After login, observe application sign-outs, a replaced login Keychain, and no enrolled Touch ID fingerprints.
What is the expected behavior?

Codex Desktop and its Computer Use/Locked Use components must not:

  • reset, replace, or move aside the user's login Keychain;
  • interfere with the macOS keybag or Touch ID enrollment state;
  • make unrelated applications lose their stored sessions;
  • leave a third-party authorization mechanism able to destabilize normal local authentication.

If the Keychain, keybag, authorization plug-in, or login-window integration is unavailable, Codex should fail safely and fall back to the standard macOS login mechanism without modifying authentication state.

Related reports
  • #35553 — Locked Use auth plug-in suspected in recurring macOS keybag/login-Keychain lockouts
  • #39534 — same Codex app version; Locked Use plug-in blocks manual Touch ID unlock
  • #24394 — Codex Computer Use auth plug-in breaks macOS lock-screen unlock
  • #24013 — build 799 rejected by SecurityAgentHelper Library Validation
  • #38691 — detached app-server repeatedly accesses macOS Keychain
  • #36453 — app update signs user out and cannot write OAuth credentials
  • #33287 — unrelated application sessions unavailable following Codex/Keychain interaction
Questions for maintainers
  1. Can build 799 of the Locked Use authorization plug-in affect keybag or login-Keychain state during local unlock/restart?
  2. Is there a known path where the app handles a “no entry” Keyring result by reinitializing credential or Keychain state?
  3. Is the timing signature above known internally?
  4. Which narrow, redacted logs or diagnostics would be most useful for process-level attribution?

No username, home-directory path, account identifier, token, cookie, session content, or raw database has been included.

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 reviewing the Locked Use authorization plug-in, its system.login.screensaver registration, and related reports #35553, #39534, and #24394. Collect the narrow redacted process and authorization logs requested by the report and determine whether Codex can be attributed to the Keychain or Touch ID changes; done requires a confirmed cause and a safe failure path.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos
Domain
authentication, operating-systems, security
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.