macOS shows “Malware Blocked” alert for Codex helper on Codex App 26.519.41501
Summary
Over the past two days, I have encountered the macOS system alert below about 2–3 times while using Codex:
Malware Blocked “codex” was not opened because it contains malware. This action did not harm your Mac.
I did not capture the exact trigger path, so I am not sure whether this is caused by the Codex desktop app itself, a bundled helper, or a CLI/agent process launched by Codex. However, it has happened repeatedly during normal Codex usage, so I hope the team can investigate and fix the underlying cause.
Environment
- Codex App version: 26.519.41501 (3044)
- macOS: Tahoe 26.5
- Device: MacBook Pro 16-inch, Apple M5 Max
- Memory: 128 GB
What happened
While using Codex normally, macOS occasionally displays the alert saying that codex was not opened because it contains malware. After dismissing the alert, Codex can still appear to be installed, but the warning is disruptive and concerning.
Expected behavior
Codex and any helper/CLI process it launches should be correctly signed/notarized and should not trigger macOS malware-blocking alerts during normal use.
Notes
I do not currently know the exact reproduction steps. The issue has appeared multiple times in the past two days, so this may be related to an intermittent launch path, updater/helper process, cached binary, or integration process. Please investigate whether the currently shipped Codex app or any bundled/related codex executable can still trigger macOS Gatekeeper/XProtect malware-blocking behavior on the environment above.
<img width="520" height="468" alt="Image" src="https://github.com/user-attachments/assets/a6b45d44-b69b-4b9a-8772-5da776e4213c" />
14 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I have the same issue, both with cli and desktop app
<img width="1228" height="461" alt="Image" src="https://github.com/user-attachments/assets/33d2c499-d1b3-4005-88f8-eb85644d0f13" />
I have the same issue!
<img width="558" height="294" alt="Image" src="https://github.com/user-attachments/assets/8ea9cc41-6ded-41bc-b5e6-a5e29bc5f38e" />
Same.
Same issue here.
<img width="532" height="544" alt="Image" src="https://github.com/user-attachments/assets/fd971148-6afa-4960-a8d7-7ca310848deb" />
Same hints.
It's a fake wbesite.
Same here after updating codex on terminal
Same here and I haven't updated codex cli in a couple of months.
not sure about the cause but redownloading at least installed a build that is not flagged by Apple.
No it's not. It's MacOS. This isn't Windows
Got this as well today, I checked the codesign and it seems like the legitamite com.openai.sky.CUAService
Got this today, asked another agent to investigate what triggered the protection, here is the finding (setup specific):
Confirming this on the codex-CLI (npm), with a deterministic reproduction and the exact binary path the original report was unsure about.
Environment:
@openai/codex@0.125.0(vianpm install -g) · macOS 26.5.1 (25F80), Apple Silicon arm64 · Node v20.19.6 · XProtect 5347 / Remediator 157.Trigger (deterministic): the vendored native CLI binary at
…/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex/codex— a 181 MBMach-O 64-bit executable arm64. macOS fires "Malware Blocked and Moved to Trash — 'codex' was not opened because it contains malware" and deletes it on first execution.Downstream symptom: because macOS trashes the binary, every subsequent
codexcommand (includingcodex --version,codex login status,codex exec) fails withError: spawn …/codex ENOENT, even though the file was present a moment earlier. Reinstalling restores it; the next exec trashes it again.Verified it's a signing gap:
codesign -dvreports no signature andspctl -a -t execreturns "invalid API object reference" → the shippedcodex-darwin-arm64binary is unsigned and unnotarized, which is what XProtect is flagging (almost certainly a false positive).Repro:
npm install -g @openai/codex@0.125.0on macOS 26.x arm64.codexcommand → malware dialog, binary trashed.codexcalls fail withspawn … ENOENT.Ask: codesign + notarize the macOS native binaries. Ad-hoc self-signing isn't viable against an XProtect (malware) verdict, and disabling XProtect isn't acceptable, so this needs a signed/notarized release (and/or coordinating with Apple to clear the signature).