[macOS][Computer Use] launches system Chrome and leaves code_sign_clone bundles until reboot
Summary
Codex Computer Use launches the system-installed Google Chrome through
Playwright. Repeated automation sessions leave stalecom.google.Chrome.code_sign_clone bundles under /private/var/folders/.../X/.
This is distinct from the already reported com.openai.codex.code_sign_clone
leak: Computer Use also causes the user's system Chrome application to be
cloned repeatedly, and those clones remained until macOS was rebooted.
Environment
- macOS 26.5.2 (25F84), arm64
- Codex desktop version 26.707.61608
- App bundle path:
/Applications/ChatGPT.app - Bundle identifier:
com.openai.codex - Google Chrome 150.0.7871.114
Process evidence
The observed process ancestry was:
ChatGPT.app
-> codex app-server
-> node_repl
-> cua_node
-> Google Chrome
The child Chrome process was launched from the system application and included:
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
--enable-automation
--headless
--remote-debugging-pipe
--user-data-dir=/var/folders/.../T/playwright_chromiumdev_profile-...
This ties the automated Chrome process directly to the Codex Computer Use
runtime rather than to a user-started Playwright or ChromeDriver process.
Observed impact
Before reboot:
- 33
com.google.Chrome.code_sign_clonedirectories - approximately 65.85 GB reported by
du - 8 stale
com.openai.codex.code_sign_clonedirectories - approximately 10.08 GB reported by
du - Chrome clone versions present: 149.0.7827.104, 149.0.7827.201, and
150.0.7871.114
- Codex clone versions were all older than the installed app version
The bundles are APFS copy-on-write clones, so du may overcount shared extents.
However, after an unrelated cache cleanup had completed, rebooting and allowing
macOS to remove the stale clones increased free space reported by df by
approximately 40 GiB.
After reboot:
- Chrome clones: 1, held open by the currently running normal Chrome process
- Codex clones: 0
- the remaining Chrome process had no automation, headless, or Playwright flags
Steps to reproduce / inspect
- Start Codex Desktop on macOS.
- Run tasks that use Computer Use browser automation multiple times.
- Inspect the Chrome child process and confirm the Playwright/automation flags.
- Count and measure both clone roots:
find /private/var/folders/*/*/X/com.google.Chrome.code_sign_clone \
-mindepth 1 -maxdepth 1 -type d 2>/dev/null | wc -l
du -sh /private/var/folders/*/*/X/com.google.Chrome.code_sign_clone 2>/dev/null
find /private/var/folders/*/*/X/com.openai.codex.code_sign_clone \
-mindepth 1 -maxdepth 1 -type d 2>/dev/null | wc -l
du -sh /private/var/folders/*/*/X/com.openai.codex.code_sign_clone 2>/dev/null
- End the automation sessions without rebooting and observe inactive clones
accumulating.
- Reboot macOS and observe that the stale clones are removed.
Expected behavior
Computer Use should not leave inactive clones of the user's system Chrome after
an automation session ends. The user should not need to reboot macOS to reclaim
the storage.
Potential fixes:
- Use Chrome for Testing or a bundled managed Chromium runtime for Computer Use.
- Reuse one managed browser instance across tool calls.
- Always await graceful Playwright/browser shutdown.
- Remove inactive owned clone directories during Computer Use startup/exit.
- Add crash-recovery cleanup and abnormal clone-count telemetry.
Chromium disables this code-sign-clone feature for Chrome for Testing, and its
tracker has previously recorded a ChromeDriver clone-cleanup defect.
8 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
This is not a duplicate of #32462.
The two reports involve different platforms, Codex components, leaked resources, and remediation paths:
codex exec, live orphaned Chrome processes remain after execution and consume CPU.com.google.Chrome.code_sign_clonebundles on disk across automation sessions. The stale bundles survived process termination and were reclaimed only after reboot.#32700 also includes direct process ancestry (
ChatGPT.app -> codex app-server -> node_repl -> cua_node -> system Chrome), Playwright automation flags, clone version inventory, and before/after disk measurements. The likely fix area is the macOS Computer Use browser runtime/lifecycle (managed browser choice, graceful close, and startup recovery cleanup), rather than the Windows CLI process reaping path.The automated match appears to be based on the shared terms “Chrome” and “cleanup”. Please keep #32700 open as a separate macOS Computer Use storage-leak report.
Confirmed the same core issue on macOS 26.5.1 with Codex Desktop and Chrome 150.0.7871.129. After Computer Use launched the system
/Applications/Google Chrome.appthrough Playwright (automation flags and aplaywright_chromiumdev_profile), stalecom.google.Chrome.code_sign_clonedata accumulated to roughly 14 GB. In our case normal Chrome later stopped launching as well. Stopping the automation/Chrome processes and clearing the stale clone cache restored normal behavior (without a reboot); the Chrome profile was unaffected.So the trigger and leaked clone location match this report, although our cleanup path and the additional launch failure differed.
Exact macOS Desktop corroboration on a newer build, captured 2026-07-25.
Environment
26.721.41059codex-cli 0.146.0-alpha.3.1150.0.7871.187Local evidence
/private/var/folders/.../X/com.google.Chrome.code_sign_clone: 78du: 54.1 GiB/Applications/Google Chrome.appwith--enable-automation,--headless, and scoped temporary user-data directoriesI have deferred reboot/cleanup so I can first preserve this evidence. The installed version combination and leaked path closely match this issue and extend the reproduction to the current July 21 Desktop build and Chrome
150.0.7871.187.Follow-up from the same machine after a bounded cleanup:
code_sign_clone.*directories, current-user-owned, no unexpected top-level children, and 0 open handles across three checks.du -skreported 56,702,304 KiB (~54.1 GiB nominal).dfshowed no measurable positive free-space gain (only a small normal fluctuation); the clone root is now absent.That strongly suggests these are APFS cloned-file/logical-accounting bytes rather than 54 GiB of uniquely allocated blocks. They can still inflate the macOS Storage “System Data” presentation and create filesystem clutter, but the displayed nominal size should not be assumed to equal reclaimable capacity.
A useful fix/diagnostic would report both clone-directory nominal bytes and actually allocated/reclaimable bytes, then perform cleanup automatically when the browser session ends. I’ll also compare the Storage graph again after its next recount/restart.
I've encountered this issue as well.
Environment:
I found 437
com.google.Chrome.code_sign_clonedirectories created August 14–17. Many appeared in bursts roughly 11 seconds apart, and 40 were created within five seconds of individual Codex subagent starts. The activity correlated with Codex browser/testing tasks across several projects.Only two Google Chrome clones and one Chromium clone were still referenced by running processes.
Confirmed on another machine today (2026-08-20).
Environment:
I found 90 stale directories under
/private/var/folders/.../X/com.google.Chrome.code_sign_clone, with mtimes spanning August 3–20. Each clone presented as a complete ~2.1 GiB Chrome app bundle, anddureported approximately 183 GiB nominal total.The accumulation correlates with repeated Codex browser/Computer Use and QA sessions across multiple projects. Chrome was still holding an active clone when initially inspected, while the older directories had accumulated across prior sessions.
Because these are APFS copy-on-write clones, the 183 GiB
dutotal should not be interpreted as uniquely allocated or fully reclaimable physical space. The clone count and cleanup failure are nevertheless real and match this report. I am performing a bounded cleanup of only this clone root after fully quitting Chrome; the Chrome application and browser profile are not being touched.Edge-specific corroboration of #32700
Environment
Observed
/private/var/folders/.../X/com.microsoft.edgemac.code_sign_clonewith approximately 183 GiB reported by
du./private/var/folders/.../X/com.google.Chrome.code_sign_clonewith approximately 39 GiB reported by
du.and 31 copies of version 151.0.4129.101. Both are older than the
currently installed Edge 151.0.4129.107, confirming that the
directories are stale.
launched 31 distinct Edge browser processes through repeated close/open
cycles. Exactly 31 Edge code-sign-clone directories were created during
the corresponding interval. This supports a one-clone-per-browser-launch
relationship.
Mechanism
Chromium's
CodeSignCloneManagercreates a new temporary APFS copy-on-writeclone of the installed application bundle for every browser instance. The
clone preserves code-signature validity if an update is staged while that
instance is running.
During normal shutdown, destruction of
CodeSignCloneManagershould launch acode-sign-clone cleanup helper, wait for the browser process to exit, and
delete the instance-specific directory. The stale directories indicate that
this shutdown/cleanup path did not run or did not complete.
Chromium's own source says that only approximately 1–5 in-use clones are
normally expected, that a high count indicates a more robust cleanup approach
is needed, and contains a TODO to search for and remove inactive clones when
the count becomes high:
The
dutotals above are nominal filesystem-accounting figures. Because theseare APFS copy-on-write clones, they should not be interpreted as an equal
amount of uniquely allocated or fully reclaimable physical storage.
This extends the issue from system Google Chrome to system Microsoft Edge and
suggests that the common trigger is repeated creation and teardown of installed
Chromium-browser processes by Codex automation.
Requested product-side mitigations
relaunching the system browser.
auto-update-specific clone feature is disabled.
directories owned by prior Codex browser sessions.