`[Bug] Computer Use causes a replayd XPC reconnect loop and ~90% CPU while idle on macOS`
Recommended issue title
[Bug] Computer Use causes a replayd XPC reconnect loop and ~90% CPU while idle on macOS
Bug report body
Summary
On macOS, the ChatGPT desktop app's Computer Use service entered a tight XPC connect/cancel loop with Apple's replayd process even though Computer Use was not actively being used.
The loop caused sustained high CPU usage and made the MacBook Air noticeably hot:
replayd: approximately 91.2% CPUSkyComputerUseService: approximately 19.8% CPU
The issue recurred after the processes were stopped manually. Disabling Computer Use, removing its turn-ended notification hook, and removing the Computer Use runtime stopped the loop immediately. After mitigation, replayd remained at 0.0% CPU across repeated samples and SkyComputerUseService did not restart.
Environment
- ChatGPT desktop app: 26.730.61639 (build 6234)
- Bundled Codex CLI: 0.147.0-alpha.1.2
- Computer Use service: 26.803.1000621 (build 1000621)
- Computer Use bundle ID:
com.openai.sky.CUAService - Model in use:
gpt-5.6-sol - macOS: 14.6 (build 23G80)
- Device: MacBook Air, Apple M3, 16 GB RAM (
Mac15,12, arm64)
Observed state before mitigation
Computer Use was not being used in the active Codex task. The MCP entry was disabled, and the plugin manager reported Computer Use as not installed:
computer-use@openai-bundled not installed
However, the Computer Use runtime still existed under $CODEX_HOME/computer-use, SkyComputerUseService was running, and the global Codex config contained an active turn-ended notification hook:
notify = ["<HOME>/.codex/computer-use/Codex Computer Use.app/Contents/SharedSupport/SkyComputerUseClient.app/Contents/MacOS/SkyComputerUseClient", "turn-ended"]
[mcp_servers.computer-use]
command = "./Codex Computer Use.app/Contents/SharedSupport/SkyComputerUseClient.app/Contents/MacOS/SkyComputerUseClient"
args = ["mcp"]
cwd = "."
enabled = false
During diagnosis, the notify entry was commented out, but an active copy was automatically added back later.
Steps that led to the issue
These are the observed steps/trigger sequence. I have not reinstalled Computer Use after mitigation because doing so may recreate the high-CPU loop.
- Computer Use had previously been installed or enabled in the ChatGPT desktop app on macOS.
- Continue using Codex normally without invoking
@Computeror starting a Computer Use task. - Complete Codex turns while the
turn-endednotification hook is present. SkyComputerUseServicestarts or restarts automatically.- In Activity Monitor or
ps, observe sustained CPU usage fromreplaydandSkyComputerUseService. - Stop the processes manually; the Computer Use service is started again later and the issue returns.
Expected behavior
- When Computer Use is not active, it should not continuously connect to ReplayKit or consume significant CPU.
- Disabling or uninstalling Computer Use should remove/disable its notification hooks and prevent
SkyComputerUseServicefrom starting. - Connection failures should use bounded retries with backoff instead of a busy loop.
Actual behavior
SkyComputerUseServiceand the ChatGPT process repeatedly opened and cancelled connections toreplayd.- In a single one-second log window, the following events were counted:
ChatGPT connections accepted: 2,067
SkyComputerUseService connections accepted: 2,067
XPC connection cancellations: 4,134
- macOS eventually quarantined logging because of the event volume:
QUARANTINED DUE TO HIGH LOGGING VOLUME
Representative system log excerpt
2026-08-07 14:14:37.441 replayd[63348] ... accepted client connection PID: 46182
2026-08-07 14:14:37.441 replayd[63348] ... invalidated because the current process cancelled the connection by calling xpc_connection_cancel()
2026-08-07 14:14:37.441 replayd[63348] ... activating connection ... name=com.apple.replayd.peer[46261]
2026-08-07 14:14:37.441 replayd[63348] ... accepted client connection PID: 46261
2026-08-07 14:14:37.441 replayd[63348] ... invalidated because the current process cancelled the connection by calling xpc_connection_cancel()
2026-08-07 14:14:37.444 replayd[63348] ... QUARANTINED DUE TO HIGH LOGGING VOLUME
Process mapping at the time:
3 Comments
sessionId:019f7e23-e0b0-7472-aee4-e6b8d96bd497
A contrast data point from a similar-but-unaffected setup:
~/.codex/computer-use— bundle version 26.804.1000633 (one newer than your 26.803.1000621)turn-endednotification hook:notify = ["…/SkyComputerUseClient", "turn-ended"]SkyComputerUseServicerunning (as a child of the ChatGPT main process)No loop here: across repeated samples while the desktop app is running and after completed turns,
replaydandSkyComputerUseServiceboth sit at 0.0% CPU. So hook + runtime alone don't appear sufficient — it may depend on the macOS version (14.6 there vs 26.5.2 here) or the service build.If it recurs,
log stream --predicate 'process == "replayd"'and--predicate 'process == "SkyComputerUseService"'during the loop should show which side initiates each connect/cancel cycle.I have the same issue and also running 14.6.1 on Macbook Pro M1 . It's been happening for a few months, reported it a few times within the app