Codex Desktop for macOS repeatedly triggers `syspolicyd` / `trustd` CPU and memory runaway
What version of the Codex App are you using (From “About Codex” dialog)?
Codex Desktop: 26.527.60818 Codex build: 3437
What subscription do you have?
plus
What platform is your computer?
Darwin 25.5.0 arm64 arm
What issue are you seeing?
Codex Desktop for macOS triggers a persistent macOS Gatekeeper/SystemPolicy loop after launch. With Codex closed, the system is quiet. As soon as Codex Desktop is opened, /usr/libexec/syspolicyd rises to very high CPU usage and grows to multiple GB of RAM. This happens even after replacing Codex with a freshly downloaded DMG build.
This appears related to Codex Desktop launching or validating its bundled/helper components, including Codex Computer Use, but the problem also reproduces after user-facing Browser/hotkey/notify settings were disabled.
What steps can reproduce the bug?
Reproduction steps
- Boot macOS normally.
- Ensure Codex Desktop is closed.
- Observe Activity Monitor: CPU is normal.
- Run:
``bash``
sudo killall -9 syspolicyd trustd
- Confirm CPU is still normal.
- Open Codex Desktop.
- Observe
syspolicydrising to very high CPU and memory usage.
The same pattern was observed after manually replacing Codex with the latest freshly downloaded DMG build.
What is the expected behavior?
_No response_
Additional information
Bug Report: Codex Desktop for macOS repeatedly triggers syspolicyd / trustd CPU and memory runaway
Summary
Codex Desktop for macOS triggers a persistent macOS Gatekeeper/SystemPolicy loop after launch. With Codex closed, the system is quiet. As soon as Codex Desktop is opened, /usr/libexec/syspolicyd rises to very high CPU usage and grows to multiple GB of RAM. This happens even after replacing Codex with a freshly downloaded DMG build.
This appears related to Codex Desktop launching or validating its bundled/helper components, including Codex Computer Use, but the problem also reproduces after user-facing Browser/hotkey/notify settings were disabled.
Environment
Device: Apple Silicon MacBook Air, M5
macOS: 26.5
Build: 25F71
Codex Desktop: 26.527.60818
Codex build: 3437
Timezone: Europe/Rome
Date observed: 2026-06-01 / 2026-06-02
Previous Codex version also affected:
Codex Desktop: 26.527.31326
Build: 3390
Main symptom
When Codex is closed:
CPU usage is normal.
Activity Monitor is quiet.
syspolicyd / trustd are not consuming significant resources.
When Codex is opened:
/usr/libexec/syspolicyd immediately rises to very high CPU usage.
CPU observed: approximately 125% to 200%.
Memory observed: over 8 GB RSS in one run.
trustd also becomes active.
Example captured after launching Codex build 3437:
%CPU PID %MEM RSS COMMAND
125.7 29702 34.0 8549776 /usr/libexec/syspolicyd
11.3 29728 3.0 756064 /Applications/Codex.app/Contents/Resources/codex app-server --analytics-default-enabled
11.1 29701 1.9 471728 /Applications/Codex.app/Contents/MacOS/Codex
6.5 29699 0.1 16800 /usr/libexec/trustd
User-visible Gatekeeper dialog
The user repeatedly sees:
"Codex Computer Use" is damaged and can't be opened.
You should move it to the Trash.
This file was downloaded on an unknown date.
The app named in the dialog is:
/Users/mgair/.codex/computer-use/Codex Computer Use.app
Important verification
The affected helper app does not appear to be actually corrupt. It was checked locally:
codesign verification: valid on disk
Developer ID: OpenAI OpCo, LLC
TeamIdentifier: 2DC432GLL2
Notarization ticket: stapled
cmux.app, another unrelated notarized app, is accepted by Gatekeeper when syspolicyd is not wedged:
/Applications/cmux.app: accepted
source=Notarized Developer ID
This suggests the issue is not a generally unsigned or damaged app problem. It looks like syspolicyd enters a bad state after Codex Desktop starts.
Reproduction steps
- Boot macOS normally.
- Ensure Codex Desktop is closed.
- Observe Activity Monitor: CPU is normal.
- Run:
``bash``
sudo killall -9 syspolicyd trustd
- Confirm CPU is still normal.
- Open Codex Desktop.
- Observe
syspolicydrising to very high CPU and memory usage.
The same pattern was observed after manually replacing Codex with the latest freshly downloaded DMG build.
Workarounds attempted
1. Increase open file limit
The system maxfiles limit was increased:
maxfiles 65536 unlimited
This did not fix the issue.
2. Disable Codex Computer Use / Browser / hotkey hooks in user config
Current config state:
notify = []
[plugins."browser@openai-bundled"]
enabled = false
Current keybindings:
[]
Current global hotkey state:
"globalDictationToggleHotkey": null
"appshotHotkey": null
The config files were temporarily protected from silent rewrites using uchg.
Despite this, after launching Codex Desktop, these processes still appeared:
/Users/mgair/.codex/computer-use/Codex Computer Use.app/Contents/MacOS/SkyComputerUseService
/Users/mgair/.codex/computer-use/Codex Computer Use.app/Contents/SharedSupport/SkyComputerUseClient.app/.../SkyComputerUseClient turn-ended --previous-notify []
This suggests Codex Desktop may be launching Codex Computer Use outside the user-visible config path, or the desktop process may have a separate internal integration path.
3. In-app update
The in-app Sparkle update previously failed:
SUSparkleErrorDomain Code=4005
"An error occurred while starting the installer. Please try again later."
Manual DMG replacement succeeded, but did not resolve the issue.
Additional concern
One stale SkyComputerUseClient turn-ended process was observed with a very large serialized conversation payload in its command-line arguments. That command line appeared to include extensive thread context. This may be relevant if the helper is being repeatedly assessed or launched with very large arguments.
For privacy, the full command line is not included here, but it was clearly visible in pgrep -alf output.
Expected behavior
Opening Codex Desktop should not cause:
syspolicydto consume 100-200% CPU.syspolicydto grow to multi-GB memory use.- Gatekeeper to show
"Codex Computer Use" is damaged. - unrelated notarized apps to become hard to open while
syspolicydis wedged.
Actual behavior
Codex launch reliably causes syspolicyd and sometimes trustd to spike. Closing Codex and killing syspolicyd / trustd calms the system. Reopening Codex reproduces the issue.
User impact
This caused hours of troubleshooting, repeated reboots including Safe Mode attempts, broken/blocked app launches while syspolicyd was wedged, and significant Codex usage spent diagnosing the Codex Desktop bug itself.
Update: Reinstall / macOS 26.5.1 Did Not Fix It
The user reinstalled/updated macOS and retested.
Current system after reinstall/update:
macOS: 26.5.1
Build: 25F80
Codex Desktop: 26.527.60818
Codex build: 3437
Result: the issue still reproduces.
Before launching Codex, fileproviderd was already using high CPU, likely due to iCloud/File Provider resync after the reinstall. However, syspolicyd spiked specifically after Codex was launched.
Example after launching Codex on macOS 26.5.1:
%CPU PID %MEM RSS COMMAND
106.3 668 4.6 1164208 /usr/libexec/syspolicyd
89.7 1190 0.5 120336 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd
11.4 2827 1.9 488912 /Applications/Codex.app/Contents/MacOS/Codex
7.0 601 0.1 19808 /usr/libexec/trustd
0.0 3097 0.5 114592 /Users/mgair/.codex/computer-use/Codex Computer Use.app/Contents/MacOS/SkyComputerUseService
Important: the Codex config files still showed:
notify = []
Browser plugin disabled
keybindings = []
globalDictationToggleHotkey = null
appshotHotkey = null
config files protected with uchg
Despite that, Codex Desktop still launched:
/Users/mgair/.codex/computer-use/Codex Computer Use.app/Contents/MacOS/SkyComputerUseService
Additional observation on macOS 26.5.1: the syspolicyd CPU usage is not just a short startup spike. It can drop temporarily and then rise again. One later sample showed:
%CPU PID %MEM RSS ELAPSED COMMAND
181.6 668 7.4 1858064 19:03 /usr/libexec/syspolicyd
At that later point, the SkyComputerUseService process was no longer visible in the process list, but syspolicyd was still consuming very high CPU. This suggests the system policy loop may continue after the helper process exits or disappears.
Conclusion after this update: the issue is unlikely to be local corruption of Gatekeeper/SystemPolicy databases. It appears to be a reproducible Codex Desktop/macOS 26.5.x integration problem, and Codex Desktop appears to launch Codex Computer Use even when the visible user config disables the related hooks.
Request
Please escalate this to the Codex Desktop/macOS team.
Please also consider a goodwill account credit, usage refund, or temporary upgrade for the affected user, since substantial paid usage was consumed diagnosing what appears to be a Codex Desktop/macOS integration bug rather than the user's requested work.
Suggested account-facing wording:
I spent substantial paid Codex usage diagnosing a reproducible Codex Desktop bug on macOS where launching Codex causes syspolicyd/trustd CPU and memory runaway. Please consider restoring the consumed usage or providing a temporary upgrade/credit while this is investigated.
Attachments / useful local file
Detailed local troubleshooting notes:
/Users/mgair/Documents/New project/Codex_Gatekeeper_Workaround_2026-06-01.md
79 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
The reason syspolicyd is repeatedly writing to the WAL is because the policy cache misses for /Applications/Codex.app in macOS Gatekeeper/SystemPolicy are increasing dramatically. This magnitude is clearly abnormal, far exceeding that of other apps. The second most missed record is also an old one, com.openai.codex, with a miss_count of approximately 1,360,282.
Update: still reproducible after another fresh Codex launch.
With Codex closed and after killing syspolicyd/trustd, CPU usage returns to normal. Immediately after launching Codex Desktop 26.527.60818 (build 3437), syspolicyd jumped from ~0% to ~177% CPU again.
This is on macOS 26.5.1 (25F80), after reinstalling/updating macOS. So this does not appear to be local Gatekeeper corruption.
This looks strongly related to #25243. My case also confirms that Codex still starts/uses the Computer Use path even when visible user config has notify=[], Browser plugin disabled, keybindings=[], and global hotkeys disabled/null.
OpenAI_Codex_syspolicyd_bug_report_2026-06-01.md
This bur report was amended by Grok Build on the same Mac
Same root cause as #25882 — full mechanism analysis (syspolicyd file-descriptor exhaustion + a no-backoff/no-cap relaunch loop that re-
posix_spawns the app's own main binary tens of times/sec) is written up there. Reproducing on the identical build (Codex Desktop 26.527.60818 / build 3437, Apple Silicon).Additional reproduction from another affected macOS machine after a Codex Desktop update.
Environment:
Observed behavior:
After the Codex update,
~/.codex/config.tomlwas rewritten so thatnotifypointed back to the volatile helper path:But
~/.codex/computer-use/only containedconfig.json; the app bundle was missing. On restart, macOS showed the Gatekeeper dialog:System logs showed
syspolicyd/ TCC evaluating a trashed helper copy:The canonical helper inside the Codex app bundle was valid:
The plugin-cache helper had the same
CFBundleVersionand SHA-256 as the app-bundled helper, and also passedspctl/codesign.Workaround that stopped the Gatekeeper dialog on this machine:
notifyto the helper inside/Applications/Codex.app/....~/.codex/computer-use/Codex Computer Use.appas a symlink to the bundled helper.chflags -h uchgso the update/startup path cannot silently replace it again.After that,
Codex Computer Uselaunches from/Applications/Codex.app/...and the Gatekeeper dialog no longer appears.This looks like the updater or desktop startup path can recreate/reset the volatile
~/.codex/computer-usepath and/or rewritenotifyback to a path that may not contain a valid app bundle after update. The issue recurred once after a Codex update and was resolved again by restoring the stable app-bundled helper path.Have exactly same issue
"“Codex Computer Use.app” is damaged and can’t be opened. You should move it to the Trash."
you can notice that at that time other files created, downloaded or airdropped also shown the same - "File is damaged and can’t be opened. You should move it to the Trash." . Codex overloading syspolicyd causes many other good files being quarantined
After updating Codex Desktop to 26.601.21317 on Apple Silicon macOS 26.5.x, the previous local workaround was reset.
~/.codex/computer-use/Codex Computer Use.app was recreated.
notify in ~/.codex/config.toml was rewritten back to the volatile ~/.codex/computer-use/.../SkyComputerUseClient path.
The Browser plugin was re-enabled.
I tested the targeted workaround suggested in this issue:
pointed notify to the stable bundled helper inside /Applications/Codex.app/.../computer-use/...;
replaced ~/.codex/computer-use/Codex Computer Use.app with a symlink to the bundled helper;
applied chflags -h uchg only to that symlink.
The symlink workaround works structurally: file access works, the helper path is stable, and the bundled/symlinked helper versions and SHA-256 match (CFBundleVersion 799).
However, syspolicyd is still not stable. It sometimes drops to about 8-9% CPU, but later spikes again to about 100-150% CPU during normal Codex use.
I also observed ordinary generated files such as PNG/PDF documents receiving com.apple.quarantine and triggering macOS "damaged and can't be opened" dialogs. Removing the quarantine attribute makes them open normally.
Additional note: I manually disabled the Browser plugin in the Codex UI, but later found it enabled again and had to disable it again. If the user disables Browser/Computer Use related functionality, Codex should preserve that setting and not silently re-enable it after restart/update.
I'm having the same exact issues for 3 days now making my Mac freeze at some point. Also not being able to open another apps with message The application "X" can't be opened. Even this is showing “Codex Computer Use.app” is damaged and can’t be opened. You should move it to the Trash." tho i don't have access to it in Europe.
Same issue here.
same issue, and only desktop causes this problem, cli is normal
Duplicate of: https://github.com/openai/codex/issues/25243
In the latest Codex version 26.602.30954,
I have tested and confirmed that the issue has now been resolved.
(MacOS Version 26.5.1 [25F80])
Fix:
syspolicyd, which had been compromised by the older version of Codex.https://persistent.oaistatic.com/codex-app-prod/Codex-darwin-arm64-26.519.81530.zip, uninstall my codex and install this version works good for me
not works for me 😢
No it isn't resolved.
it really does, syspolicyd no longer spikes
Asking Codex to fix Computer Use followed by
sudo killall syspolicyd trustd, restarting Codex and re-enabling permissions for Computer Use.app worked for me.Adding another data point from macOS 26.5 / Codex Desktop 26.602.40724 (build 3593), Europe/Slovenia.
Computer Use is not available/enabled for my region, but Codex still had this post-turn hook in
~/.codex/config.toml:notify = ["/Users/<user>/.codex/computer-use/Codex Computer Use.app/Contents/SharedSupport/SkyComputerUseClient.app/Contents/MacOS/SkyComputerUseClient", "turn-ended"]Symptom:
"Codex Computer Use" is damaged and can't be opened. You should move it to the Trash.Verification:
/Users/<user>/.codex/computer-use/Codex Computer Use.apppasses:spctl --assess --type execute --verbose=4->accepted,source=Notarized Developer IDcodesign --verify --deep --strict --verbose=2->valid on diskcom.apple.quarantinexattr was present.notifyline was not stable: after restarting Codex, Codex recreated an activenotify = [...]line.notify = []After that:
SkyComputerUseClient,SkyComputerUseService, orCUALockScreenGuardianprocess was running;This suggests the issue is not just Computer Use availability or user intent. The Desktop app appears to install/restore a post-turn Computer Use notification hook even when Computer Use is region-unavailable or not requested. A robust fix may need to avoid installing/restoring this hook unless Computer Use is actually available and enabled, and should preserve explicit
notify = [].This is what worked for me:
brew uninstall --cask codex-app~/.codex/computer-use/computer-useandmcp_servers.node_replin~/.codex/config.tomlbrew install --cask codex-appUpdate: Never mind. 1 hour later, there was an update (26.602.71036 via app, not Homebrew) that reversed it all.
YYMV but this worked for me as a temporary workaround to stop
syspolicydspiking:Remove computer use, and lock the dir so Codex can't re-download it:
For those who want to have a working Codex again, starting from scratch and deleting the
.codexfolder (or renaming it) worked for me. When I ask Codex to import the previous threads, though, I'm hitting the same problem, so better to readd all the projects and skills manually for now until this bug has been fixed.Not ideal, but at least you can stay on the latest version.
This, to me, is also an indicator that Computer Use might not be the culprit here (or at least not by itself, there's _something_ that triggers this behavior on startup).
Does not work for me: https://github.com/openai/codex/issues/25243#issuecomment-4683023193
Having the exact same issue. Trying to disable computer use feels like trying to remove malware. We need clarity on this ASAP. Codex app is unusable, and the impact to the rest of my machine is unclear.
I experienced the issue too.
This looks related to the same macOS SystemPolicy / syspolicyd pressure issue I investigated in #25243.
I posted the local findings and mitigation here: https://github.com/openai/codex/issues/25243#issuecomment-4709140592
Short version from my machine: Codex Desktop was repeatedly invoking some system tools by bare command name, and a long user PATH with many mise-managed directories before the system dirs amplified the launch-time SystemPolicy/Gatekeeper work. The strongest local evidence was an exec trace showing
xcode-selectsearched through 43 PATH entries before reaching/usr/bin/xcode-select. Adding a narrow PATH shim for the observed commands (ps,ditto,sw_vers,xcode-select, and the first user-selectedgit) substantially reduced sustainedsyspolicyd/trustdpressure after restart.This does not fully explain the retained
code_sign_clonedirectories, which still look like a separate cleanup/storage amplifier, but the PATH lookup behavior may be useful for reproducing or hardening this issue.I spent some time debugging why Codex App was causing
syspolicydandtrustdto spike on my Mac.My current conclusion: it seems strongly related to Notification + Computer Use.
Even though I had Computer Use disabled in
~/.codex/config.toml:Codex App kept writing this back into the config:
notify = [".../SkyComputerUseClient", "turn-ended"]That path belongs to Codex Computer Use. After every restart,
SkyComputerUseServicecame back, and Codex created another temp clone under:/var/folders/.../X/com.openai.codex.code_sign_cloneEach clone was around 1.2 GB. After a few restarts, it grew quickly. I previously saw 15 GB of these clones.
I also had a long PATH, with many user directories before
/usr/binand/bin. That seems to make thesyspolicyd/trustdspike worse, probably because Codex or its helpers call some system tools by bare name.What helped me:
notify = ...SkyComputerUseClient...line.rm -rf "$(dirname "$(getconf DARWIN_USER_TEMP_DIR)")/X/com.openai.codex.code_sign_clone"After this,
syspolicydandtrustdmostly stopped spiking for me.But this is not a full fix. Codex App can still rewrite the notify line and start Computer Use again. So I think this needs an upstream fix from OpenAI:
computer_use = falseeverywhere.code_sign_clonefolders automatically.If you use Codex App on macOS and see
syspolicydortrustdCPU spikes, check whetherSkyComputerUseServiceis running and whethercom.openai.codex.code_sign_cloneis growing.Been running into this issue for the past week and finally debugged it today.
Symptoms were basically: Mac running hot, memory usage spiking, and some files/apps not opening because macOS said they were “damaged.” I checked Console and saw repeated
syspolicyd/validation category policyactivity involving Codex.Then I ran
fs_usageand saw Codex repeatedly callingposix_spawnon:/Users/<NAME>/workspace/playground(WHY?)This was happening many times per second.
What’s interesting is that
playgroundis an incubator folder for me. I keep a bunch of small project subfolders in there, each with their own projects. In Codex, I had importedplaygrounditself as the project.After more digging, it seemed related to:
/Users/<NAME>/.codex/ambient-suggestionsI nuked that folder, deleted the
playgroundproject from Codex, killed/restarted the app, and boom, the issue was fixed.I saw some logs related to SkyComputerUseService as well but like idk what actually was the issue i got too lazy to debug more
Two mitigations that took
syspolicydfrom 169% CPU / ~6 GB RAM to ~0% on my machineSharing what worked in my environment. These reduce the per-exec assessment cost rather than removing a trigger, so they're complementary to the computer-use/
notifyremoval already discussed here. They are not a fix — the root cause is still app-side (unsigned helper /code_sign_clonere-assessment).Environment
~/.codex/config.toml:notify = [".../SkyComputerUseClient", "turn-ended", ...]What I observed
syspolicydpegged at ~169% CPU and grew to ~6–7 GB RAM (leaking).spctl -areturnedToo many open files.sample syspolicydshowed the hot queue wasDispatchQueue: syspolicyd.executions.mig, and the cost was dominated by logging:_os_logpaths ≈147 samples vsqtn_proc_init_with_pid≈14 vsyara=1.Mitigation 1 — disable the INFO logging amplifier (no security trade-off)
com.apple.syspolicyships at INFO level on macOS 26 (the override plist only appears once you change it), so every exec syspolicyd processes gets fully formatted + emitted. Dropping it todefaultremoved the dominant cost:Reversible with
--mode "level:info". This is just log verbosity — it does not change any security enforcement.Mitigation 2 — exempt Codex from on-exec Gatekeeper/YARA (has a security trade-off)
System Settings → Privacy & Security → Developer Tools → add
/Applications/Codex.app, enable, then fully quit & relaunch Codex. This skips the Gatekeeper/YARA assessment for processes Codex spawns (thecom.apple.security.syspolicy.yaraqueue went to 0 afterwards). ⚠️ This disables a security check for binaries Codex launches — opt in knowingly.After both + one
sudo killall syspolicydto clear the leaked state: 169% CPU / ~6 GB → 0% CPU / 27 MB, stable while actively using Codex.Caveats
notifyhook,code_sign_clone, PATH). Combine with thecomputer-useremoval +chflags uchglock from earlier in this thread.code_sign_cloneper launch).Additional data point from macOS 26.5.1 showing this still reproduces on a newer Codex Desktop build.
Environment
codex-cli 0.140.0-alpha.19codex-cli 0.140.0Symptoms observed
The machine heats up while Codex Desktop is open, but the CLI does not show the same behavior. A process sample during the bad state showed:
A later sample after the system had cooled somewhat still showed Codex-related and SystemPolicy activity:
pmset -g assertionsdid not show Codex holding a sleep assertion, so this does not look like the oldercaffeinate/ display-sleep issue.Evidence from Codex logs
The current Codex Desktop logs contain 47,902 occurrences of:
These are concentrated in
git.command.completeentries with:The hot paths are a large local repository with many generated report files. This suggests the Desktop review-summary path is spawning many per-file
git hash-objectcommands and then failing under resource pressure. The CLI does not appear to trigger this same desktop review-summary behavior.SystemPolicy evidence
Unified logs showed repeated macOS security evaluation activity from Codex, along with
syspolicydmessages like:This matches the EMFILE / SystemPolicy failure class described in this issue and in #27662.
Local config state
Before mitigation,
~/.codex/config.tomlcontained a Desktop-installed notification hook:But the local
~/.codex/computer-usedirectory only contained:There was no
Codex Computer Use.appbundle at that path. Browser plugin was also enabled.A stale clone directory also existed and was large:
Mitigation applied locally
I backed up
~/.codex/config.toml, then changed only:I did not kill Codex, restart the app, or delete
code_sign_cloneyet because there were active desktop/app-server sessions. Immediate post-change sampling still showed some Codex/SystemPolicy activity, so a full app restart may be required for the config change to fully apply.Suggested fixes
SkyComputerUseClientnotifyhook when the helper bundle is missing, Computer Use is unavailable, or the user has disabled it.notify = []and disabled Browser/Computer Use settings across app restarts and updates.review-summarygit hashing; avoid spawning onegit hash-objectper file where a batched or persistent approach would work.spawnFailed, EMFILE, or SystemPolicy errors, stop retrying aggressively and surface a diagnostic instead.code_sign_clonebundles; clean stale clone directories automatically.This issue is so severe that it may be physically damaging to the batteries in macbooks. This bug is one of the only things that has ever caused the fans to spin up on my m4 max. There's a lot of heat and the normally 6 hour battery drains in 45 mins, which is not good for battery health.
Yeah this is causing my mac to overheat big time. Have we heard anything from the codex team on this?
This fixed it for me: https://github.com/openai/codex/issues/25243#issuecomment-4738785578
Have you tired adding Codex Desktop as a "Developer Tool" in System Settings (under Privacy & Security)?
Does not fix for me, on any of 3 different machines.
How are you using Codex Desktop? Are you just chatting with it, or trying advanced features like Computer Use?
Literally just starting it up, a few seconds in, it spikes. It most certainly has something to do with Computer Use b/c when the binary/package is removed, it definitely happens when it's loaded, and doesn't when it is removed.
But, Computer Use is one of the major reasons to use the Codex app IMO/use case, otherwise I just use the
codexCLI, would really like to find a way to make Computer Use work, and I can confidently say it is related to that.If you're using Computer Use, try adding the app at
/Users/[yourusername]/.codex/computer-use/Codex Computer Use.appas a Developer Tool.Same issue here with the latest update
[macOS] ChatGPT Desktop repeatedly attempts to launch its own executable, exhausting
syspolicydPrivacy note
This report is intentionally sanitized. It contains no account identifiers, usernames, authentication tokens, prompts, task or thread identifiers, project names, private URLs, IP addresses, home-directory paths, or raw diagnostic archives.
Product and environment
26.707.91948 (5440)0.144.526.5.2arm64)/Applications/ChatGPT.appSummary
While ChatGPT Desktop remains open, its long-running main Electron process repeatedly reaches Node/libuv
uv_spawn/posix_spawn. At the same time, macOS records a very large number of failed policy assessments targeting ChatGPT's own main executable:The assessment flood causes the macOS Gatekeeper daemon,
syspolicyd, to exhaust its per-process file descriptors and emitEMFILE(errno 24, â^@^\Too many open filesâ^@^]). Once this occurs, unrelated applications become very slow to launch or cannot launch at all.Restarting
syspolicydwhile ChatGPT remains open provides only temporary recovery because the new daemon is immediately flooded again.User impact
syspolicydrapidly consumes CPU and hundreds of megabytes of memory.syspolicyd.This is effectively a local system-wide denial of service caused by an unbounded desktop-app launch/retry loop.
Reproduction
/Applications.syspolicyderrors100024andUNIX error exception: 24.syspolicyddoes not provide lasting recovery while ChatGPT remains open.A narrowly filtered observation command is:
Measured evidence
During a diagnostic window of approximately 3 minutes 45 seconds spanning a
syspolicydrestart:14,470AppleSystemPolicy denial events targeted ChatGPT's main executable.15,701UNIX error exception: 24events were recorded.15,665error: 100024events were recorded.syspolicydprocess had already reached approximately434 MBresident memory and approximately25%CPU.0.0.In a separate exact six-second window used for process sampling:
480.0.The sequential, distinct attempted PIDs show that these are real process attempts rather than duplicate logging of one event.
Representative sanitized system messages:
Runtime process attribution
A five-second live sample of the long-running ChatGPT main process repeatedly captured the following path:
__posix_spawnappeared at the top of 27 samples during that five-second capture. During the matching log window, macOS recorded 480 denied attempts targeting ChatGPT's main executable and none targeting the bundled Codex executable.The sample proves that the ChatGPT main Electron/Node process is actively issuing child-process spawns. The sample format does not retain the child arguments, so the target attribution is based on exact-window correlation with AppleSystemPolicy rather than a directly captured
argvrecord.Packaged-code investigation
The shipped
app.asarand unpacked resources were inspected read-only.Findings:
app.relaunch()call exists.spawn(process.execPath)self-launch call exists.open -n <app>path belongs to the installer-from-DMG flow. It is inactive when running from/Applications.requestSingleInstanceLock()and exits duplicate instances. However, the kernel performs policy assessment before a duplicate can reach this JavaScript guard, so the guard cannot prevent the assessment flood./Applications/ChatGPT.app/Contents/Resources/codex, not as the ChatGPT GUI executable.The strongest remaining code boundary is therefore a closed Electron/Owl/native/LaunchServices requester that repeatedly asks macOS to launch the ChatGPT GUI. The exact private callback cannot be named from the shipped static package.
An administrator Endpoint Security capture was attempted with a ChatGPT-only path filter. It produced no exec or fork events for the rejected children, consistent with AppleSystemPolicy rejecting them before normal exec notification and application logging. Internal instrumentation immediately before each launch request is likely required to identify the precise callback and arguments.
Signing and installation integrity
app.asarwere byte-for-byte identical to the same files in OpenAI's current official DMG for this version.Reinstalling the same current build is therefore unlikely to resolve the issue.
Secondary process-management defects observed
These should be investigated separately but do not match the primary high-rate GUI launch storm:
-10014recursively without a delay, deadline, or attempt limit. No matching Computer Use retry messages or helper policy events were present in the primary reset window.Expected behavior
syspolicydshould remain near idle when no application is intentionally being launched.Suggested application fixes
requestSingleInstanceLock()because it runs after macOS has already assessed the new process.-10014immediate recursion with a permission-state event or a bounded delayed retry.Temporary recovery
Fully quit ChatGPT first, then allow macOS to restart
syspolicyd:Closing the ChatGPT window is insufficient if the desktop process remains active.
Related public reports
I have the same problem
Me too
It's still happening. Please!
Save my hardware
+1
+1
+1 on this
I'm on version 26.715.31925 and don't seem to be getting the issue anywhere near as much as I was before updating. Previous to this version, my M2 Pro was almost unusable with syspolicyd taking every ounce of CPU it could get.
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1 Windows
+1
+1
+1
I can literally run Xcode + iPhone 17 pro simulator, Safari with 15+ tabs open, Mathematica, and NEVER got my computer to crash or got that laggy. But the new Codex app made my computer crash 2 times already. And I do have 8gb M1 air. Even in the CLI sometimes I get some thermal throttle and ridiculous resource usage, but noting compares to the app.
+1
+1
+1
+1
Hey pls fix, this is super frustrating
+1
+1
+1
+1
+1
+1
Guys, stop with the +1 posts and use the 👍 on the issue instead. Thanks!
About how reliable is the codex extension for vscode? I've heard lots of issues for both the codex desktop app and CLI, i'm hoping the vscode extension doesn't inherit these issues.