macOS desktop: bundled Computer Use fails when CODEX_HOME path contains @; settings stays unavailable even though direct MCP works

Open 💬 6 comments Opened Apr 19, 2026 by davidjpramsay
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Summary

On the macOS desktop app, if the home / CODEX_HOME path contains @ (example: /Users/<user>@<org>/.codex), bundled Computer Use stays unavailable.

The bundled marketplace appears to parse the local marketplace path as if it had a git @ref. If I route around that with a symlinked CODEX_HOME path that removes @, install then hits a second failure (Is a directory (os error 21)). A direct manual MCP entry makes backend Computer Use work, but Settings > Computer use still shows Computer Use plugin unavailable.

This looks related to #18258, but I did not find an existing issue for the @-in-local-path parser failure.

Environment

  • Codex app: 26.415.40636 (1799)
  • macOS: 26.4.1 (25E253)
  • Hardware: Apple Silicon / M1
  • Home / CODEX_HOME path contains @
  • Example path shape: /Users/<user>@<org>/.codex

Visible symptom

  • Settings > Computer use shows Computer Use plugin unavailable

What I found

  1. With normal ~/.codex, the app logs:
  • bundled_plugins_marketplace_add_failed
  • --ref is only supported for git marketplace sources

and the failing marketplaceRoot is a local path containing @:

  • /Users/<user>@<org>/.codex/.tmp/bundled-marketplaces/openai-bundled
  1. If I launch Codex with a symlinked CODEX_HOME path that removes @, that first failure goes away, but the app then logs:
  • bundled_plugins_marketplace_install_failed
  • failed to install plugin: failed to read marketplace file: Is a directory (os error 21)
  1. Separate but related diagnostic reports show repeated SkyComputerUseClient crashes with:
  • SIGKILL (Code Signature Invalid)
  • Termination Reason: Namespace CODESIGNING, Code 4, Launch Constraint Violation

Relevant local evidence

Desktop app logs:

  • bundled_plugins_marketplace_add_failed ... --ref is only supported for git marketplace sources with marketplaceRoot=/Users/<user>@<org>/.codex/.tmp/bundled-marketplaces/openai-bundled
  • bundled_plugins_marketplace_install_failed ... failed to read marketplace file: Is a directory (os error 21) with marketplaceRoot=/tmp/codex-home/.tmp/bundled-marketplaces/openai-bundled

DiagnosticReports for SkyComputerUseClient:

  • SIGKILL (Code Signature Invalid)
  • Launch Constraint Violation

Repro steps

  1. Use the macOS desktop app with a home directory path containing @
  2. Open Codex and go to Settings > Computer use
  3. Observe Computer Use plugin unavailable
  4. Check desktop logs under ~/Library/Logs/com.openai.codex/...
  5. Observe bundled_plugins_marketplace_add_failed with --ref is only supported for git marketplace sources

Optional additional repro:

  1. Launch Codex with a symlinked CODEX_HOME path that removes @
  2. Observe the failure changes to failed to read marketplace file: Is a directory (os error 21)

Local workaround that got backend Computer Use working

I added a direct MCP server entry in ~/.codex/config.toml:

[mcp_servers.computer-use]
command = "/Applications/Codex.app/Contents/Resources/plugins/openai-bundled/plugins/computer-use/Codex Computer Use.app/Contents/SharedSupport/SkyComputerUseClient.app/Contents/MacOS/SkyComputerUseClient"
args = ["mcp"]

I also used a symlink path without @:

  • /Users/Shared/codex-home -> /Users/<user>@<org>/.codex

and pointed the bundled marketplace source at the symlink-backed path instead of the original @ path.

With that setup, actual Computer Use MCP calls work in chat, but the Settings page still shows plugin unavailable.

Why this looks like an app bug

  • The local marketplace source is not a git URL, but the app behaves as if the @ in the path is a git @ref.
  • After routing around that, the installer appears to treat the marketplace directory as a file (Is a directory).
  • The backend can be made to work manually, so this does not look like only bad local config.

Related issues

  • #18258
  • #18523

View original on GitHub ↗

6 Comments

github-actions[bot] contributor · 4 months ago

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

  • #18258
  • #18523

Powered by Codex Action

davidjpramsay · 3 months ago

Can you confirm whether the macOS desktop app is expected to support home / CODEX_HOME paths containing @ in the directory name, and whether this issue is the right place to track that specific parser bug?

In my debugging, that path shape reliably produced --ref is only supported for git marketplace sources against a local bundled marketplace path, and changing only the path (via a symlink without @) changed the failure to a different error. So while there seem to be multiple separate Computer Use issues involved, the @ path parsing problem looked like a distinct bug rather than just a symptom.

I mainly want to confirm whether @ in the home / CODEX_HOME path is currently supported by the desktop app, or whether that is a known unsupported case / known bug.

IgorGanapolsky · 3 months ago

The @ in your CODEX_HOME path is almost certainly the cause — multiple parts of Codex's plugin marketplace logic shell out to commands that aren't quoting $CODEX_HOME, so a path with @ (or any URL-encoded character) gets parsed as user@host somewhere down the chain and the registration silently fails.

Two confirmations:

printenv | grep -i codex
ls -la "$CODEX_HOME"/plugins/cache/openai-bundled/computer-use/*/.mcp.json 2>&1

If the env shows CODEX_HOME=...@... and the .mcp.json is missing, the workaround is to move CODEX_HOME to a path without special characters and re-run codex plugin marketplace add /Applications/Codex.app/Contents/Resources/plugins/openai-bundled.

This belongs under the multiple-Codex-homes failure class — I documented six root causes for "Computer Use unavailable" including this CODEX_HOME variant: https://igorganapolsky.github.io/openclaw-mac-ai-workstation-setup/troubleshooting.html

Free script in the repo (scripts/self-diagnose.mjs) captures env + cache layout into a redacted bundle. $19 quick read confirms whether the @-in-path is the trigger or there's a second cause.

davidjpramsay · 3 months ago

Just checking whether this issue is still actively tracked, and whether anyone is already working on the macOS @ home / CODEX_HOME path case on the desktop app side.

On my machine, Computer Use still is not surfacing normally as available in the desktop app, currently:

  • Codex Desktop 26.513.31313
  • bundled runtime codex-cli 0.131.0-alpha.9

Happy to test a build or provide more logs if useful.

davidjpramsay · 3 months ago

Update: after Codex Desktop updated to 26.519.22136 with bundled runtime codex-cli 0.133.0-alpha.1, Settings still showed Computer Use plugins unavailable.

The local Desktop logs still showed bundled plugin reconcile failing with:

--ref is only supported for git marketplace sources

A non-destructive workaround using the bundled CLI fixed it for me:

/Applications/Codex.app/Contents/Resources/codex plugin marketplace add /Applications/Codex.app/Contents/Resources/plugins/openai-bundled
/Applications/Codex.app/Contents/Resources/codex plugin add computer-use@openai-bundled

After fully restarting Codex, Computer Use appeared normally. I verified basic functionality with computer-use.list_apps and computer-use.get_app_state("Finder"); the latter reported CUA App Version 799 and returned Finder state successfully.

So on this build the plugin/helper can work under my @ home path, but Desktop’s automatic bundled-plugin reconcile path still appears to be failing while manual install through the bundled CLI succeeds.

nikkundra · 24 days ago

Cross-linking a distinct parser sibling, not a duplicate: #36725 covers exact workspace paths whose literal *, ?, [ or ] are reclassified as glob syntax, breaking Computer Use/nested runtimes. This @ report shows a separate local-path parser losing literal identity by treating @ as a Git ref. Both support end-to-end regression coverage for legal punctuation across marketplace, permission-profile, and nested-runtime handoffs.