openai / openai/codex

Codex Desktop macOS loses local execution: unified exec fails with ENOENT despite unrestricted filesystem access

Open
#38,010 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug tool-calls
Dominant language
Rust
Stars
125k
Forks
19.5k
PR merge metrics
PR metrics pending

Description

Environment

  • Codex Desktop on macOS
  • Local desktop task
  • Filesystem permission profile: unrestricted
  • Workspace was initially accessible and used successfully
  • Additional workspace roots were later granted without resolving the failure
  • Affected thread ID: 019febe2-4b22-7e13-a02b-a4e357df6c39
  • Date observed: 2026-08-11

Problem

The task can use online Gmail and Google Drive connectors, but it cannot perform any local filesystem operation. Every exec_command invocation fails before the requested command starts.

Exact error:

CreateProcess { message: "Rejected(\"Failed to create unified exec process: No such file or directory (os error 2)\")" }

Minimal reproductions attempted

  • pwd
  • /bin/zsh -c pwd
  • /bin/bash -c pwd
  • ls against existing local folders
  • launching the bundled Python runtime returned by load_workspace_dependencies
  • apply_patch against a project file that had been read successfully earlier

All local process attempts failed. The failure is independent of the target folder and command.

Additional symptoms

codex_app.read_thread_terminal returns:

No app terminal session is attached to this thread yet.

The session skill list includes bundled Browser, Chrome, and Computer Use capabilities, but no corresponding callable local-control tools are exposed in the affected task. Therefore, the task cannot bypass the broken exec layer by inspecting Finder or Photos through Computer Use.

Expected behavior

With unrestricted filesystem access, the task should be able to start a local shell and read authorized local workspace roots, Downloads, iCloud Drive, and other user-authorized locations.

Actual behavior

No local command starts. Online connector calls continue to work.

Why this appears to be a Codex runtime bug

  • The failure occurs before command execution.
  • It reproduces with multiple valid shell/runtime paths.
  • Expanding workspace permissions does not change the result.
  • The workspace had been accessible earlier in the same task.
  • The error closely matches #20770, #16970, #17240, #29070, and #31533.

Impact

The agent cannot perform a user-authorized task to locate sensitive mortgage documents across Downloads, a computer-migration archive, iCloud Drive, and Apple Photos. It also cannot inspect its own local diagnostics, forcing the user to act as a technical relay.

Areas to investigate

  • stale or deleted unified-exec helper paths;
  • task-to-local-runtime attachment;
  • regeneration of temporary arg0 / tool-wrapper paths;
  • terminal-to-thread attachment;
  • why installed bundled Computer Use capabilities are listed but not exposed;
  • an automatic recovery path when unified exec returns ENOENT.

Personal names, email addresses, and the macOS account name have been omitted from this public report.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with exec_command using the listed shell paths and bundled Python runtime, then inspect load_workspace_dependencies and codex_app.read_thread_terminal behavior. Investigate the unified exec process, local-runtime attachment, and terminal-to-thread attachment described in the issue. Done means authorized local commands start reliably and the affected task no longer fails with ENOENT.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
desktop, devtools, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.