Codex Desktop 26.609.71450 on macOS triggers syspolicyd FD/CPU runaway

Codex Desktop started triggering a severe macOS syspolicyd runaway after the latest update. This is the desktop app, not the CLI.

Environment:

  • macOS on Apple Silicon
  • Codex Desktop: 26.609.71450
  • CFBundleVersion: 3965
  • App path: /Applications/Codex.app
  • Gatekeeper assessments: enabled
  • SIP/Gatekeeper were not disabled

Symptoms:

  • Launching Codex Desktop causes syspolicyd to climb to 120% to 250% CPU.
  • Codex itself also spikes CPU while this is happening.
  • spctl --assess --type execute --verbose=4 /Applications/Codex.app returns:
/Applications/Codex.app: Too many open files
  • lsof shows thousands of syspolicyd file descriptors pointing to the same Codex executable:
/Applications/Codex.app/Contents/MacOS/Codex

Observed counts:

  • syspolicyd FD count for the Codex executable: approximately 2538 to 2540
  • launchctl maxfiles was raised to 65536 / unlimited and persisted through /Library/LaunchDaemons/local.maxfiles.plist
  • Raising maxfiles reduces the immediate FD-limit failure mode, but syspolicyd still returns to high CPU after Codex is launched.
  • Rebooting macOS does not resolve the issue once Codex Desktop is opened again.

Things already tried:

sudo xattr -cr /Applications/Codex.app
sudo killall syspolicyd
sudo kill -9 $(pgrep -x syspolicyd)
sudo launchctl limit maxfiles 65536 184320

Current result:

  • syspolicyd is relaunched by macOS and resumes the evaluation loop.
  • The repeated FD target is still /Applications/Codex.app/Contents/MacOS/Codex.
  • I do not want to disable SIP or globally disable Gatekeeper for this.

This looks like Codex Desktop is repeatedly triggering Gatekeeper / syspolicy executable assessment and leaking or retaining FDs in syspolicyd. Please route this to the Desktop App team if this forum is the right place; if there is a better Desktop-specific issue tracker, please point me there.

Hi and welcome to the community!

Similar issues have been reported on GitHub. You can add your voice there to help the team triage the urgency.

I think this is a very close match, but there are more equivalent reports: