Codex App enters high CPU loop when project list contains non-git entries

Resolved 💬 1 comment Opened Apr 23, 2026 by inevitabledawn Closed Apr 25, 2026

What version of the Codex App are you using (From “About Codex” dialog)?

Version 26.422.20832 (2025)

What subscription do you have?

ChatGPT Plus

What platform is your computer?

Darwin 25.2.0 arm64 arm

What issue are you seeing?

Codex App can enter a high CPU loop when the project list contains entries that are not valid Git repositories.
In my case, two Codex Helper (Renderer) processes were each using around 110–120% CPU even when the app window was basically idle.

The issue appeared to be tied to project metadata / Git resolution. Logs repeatedly showed Git worker errors such as:

  • Error: Not a git repository
  • Failed to resolve git root: spawn ENOTDIR
  • repeated git rev-parse --show-toplevel calls from the stable-metadata Git worker

One of the affected project entries was a non-Git project, and one path was also represented by a macOS Finder alias, which may have made the behavior worse.

After I removed all projects from Codex that were not backed by a real Git repository and restarted the app, CPU usage returned to normal.

What steps can reproduce the bug?

  1. Open Codex App on macOS.
  2. Add one or more projects that are not valid Git repositories.
  3. Restart Codex App or let it sit while it resolves project metadata.
  4. Observe Activity Monitor and logs.

Observed behavior:

  • multiple Codex Helper (Renderer) processes consume very high CPU at idle
  • logs repeatedly show Git worker / stable-metadata errors
  • repeated Git command attempts continue in a loop instead of failing gracefully

What is the expected behavior?

Codex App should handle non-Git project entries gracefully.
Expected behavior:

  • if a project is not a Git repository, metadata resolution should fail once and stop retrying aggressively
  • non-Git folders should not cause renderer CPU loops
  • the app should remain idle when no active work is being done

Additional information

Relevant logs included messages like:

[electron-message-handler] worker_rpc_response_error errorMessage="Failed to resolve git root: spawn ENOTDIR" ... method=stable-metadata workerId=git

and repeated entries like:

[git] git.command.complete ... command="git rev-parse --show-toplevel" ... failureReason=spawnFailed

I also sampled the hot renderer processes and the stacks pointed into Electron / V8 JavaScript execution rather than normal idle rendering, which suggests a retry loop in the app logic.

Workaround:

  • remove all projects from Codex that are not backed by a real Git repository
  • restart the app

After doing that, CPU usage returned to normal.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗