ChatGPT/Codex Desktop leaks zombie child processes on macOS, eventually causing launch-failed 1003

Resolved 💬 1 comment Opened Aug 6, 2026 by renboen Closed Aug 6, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Summary

ChatGPT/Codex Desktop appears to leak zombie child processes on macOS when running local command/tool executions. The zombie processes accumulate under the ChatGPT.app parent process until macOS can no longer launch new apps or create new processes.

Eventually the system starts showing:

  • launch-failed, code: 1003
  • Resource temporarily unavailable (os error 35)

Force quitting ChatGPT.app clears the zombie processes temporarily, but they begin accumulating again after reopening the app and using Codex local command execution.

Environment

  • OS: macOS 14.0
  • Build: 23A344
  • App: ChatGPT.app / Codex Desktop
  • App path: /Applications/ChatGPT.app/Contents/MacOS/ChatGPT
  • Codex Framework observed in process args: 151.0.7922.71
  • Machine: Apple Silicon arm64
  • Date observed: 2026-08-06
  • Timezone: Asia/Shanghai

Impact

After enough zombie processes accumulate, macOS reaches its process creation limit and the entire system is affected. Other unrelated apps can no longer open.

This is system-wide, not limited to Codex.

Evidence

Observed before force quitting ChatGPT.app:

zombies=668 parent=608 /Applications/ChatGPT.app/Contents/MacOS/ChatGPT

After restarting ChatGPT.app, zombie processes began accumulating again:

10:59:05 chatgpt_pid=7641 chatgpt_zombies=62 total_zombies=62 total_processes=649
10:59:15 chatgpt_pid=7641 chatgpt_zombies=68 total_zombies=68 total_processes=651
10:59:25 chatgpt_pid=7641 chatgpt_zombies=74 total_zombies=74 total_processes=657

Later in the same session:

11:16:33 chatgpt_pid=7641 chatgpt_zombies=696 total_zombies=696 total_processes=1281
11:16:43 chatgpt_pid=7641 chatgpt_zombies=702 total_zombies=702 total_processes=1287
11:16:53 chatgpt_pid=7641 chatgpt_zombies=708 total_zombies=708 total_processes=1294

Process limits:

launchctl limit maxproc
maxproc     2666           4000

When the process table gets exhausted, Codex local execution fails with:

Resource temporarily unavailable (os error 35)

Reproduction

  1. Open ChatGPT.app / Codex Desktop on macOS.
  2. Use Codex local command execution repeatedly.
  3. Observe <defunct> child processes accumulating under /Applications/ChatGPT.app/Contents/MacOS/ChatGPT.
  4. Continue until enough zombie processes accumulate.
  5. macOS eventually fails to launch apps with launch-failed, code 1003.

Expected behavior

Exited child processes should be reaped by the ChatGPT/Codex parent process. No <defunct> processes should accumulate after local command execution finishes.

Actual behavior

Child processes remain as <defunct> under ChatGPT.app. The count grows steadily over time.

Workaround

Force quitting ChatGPT.app clears the zombie processes temporarily. Avoiding Codex Desktop local command execution slows or prevents the issue.

Additional note

This may be related to the desktop app command execution path failing to wait() or otherwise reap exited child processes.

View original on GitHub ↗

1 Comment

github-actions[bot] contributor · 22 days ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #37050
  • #37084

Powered by Codex Action