[macOS] Bundled plugin installation fails: spawn ditto ENOENT

Open 💬 0 comments Opened Jul 20, 2026 by AbdullahSaad5

Summary

Installing a bundled plugin (Chrome) from the Codex desktop app consistently fails with the UI toast “Failed to install plugin.”

The failure occurs while Codex copies the bundled marketplace. The machine has an executable /usr/bin/ditto, so the app appears to be spawning ditto with a PATH that cannot resolve macOS system utilities.

Environment

  • macOS
  • Codex desktop plugin version: 26.616.71553
  • Bundled marketplace source: /Applications/ChatGPT.app/Contents/Resources/plugins/openai-bundled

Reproduction

  1. Open Plugins → Chrome in Codex Desktop.
  2. Click Install plugin.
  3. Observe the “Failed to install plugin” toast.

Relevant log

2026-07-20T20:46:59.415Z warning [BundledPluginsMarketplace] plugin_marketplace_folder_write_failed errorCode=ENOENT errorMessage="spawn ditto ENOENT" folderWritePhase=copy_plugins marketplaceName=openai-bundled sourceMarketplaceRoot=/Applications/ChatGPT.app/Contents/Resources/plugins/openai-bundled targetMarketplaceRoot=/Users/decimalsols/.codex/.tmp/bundled-marketplaces/openai-bundled

The logs then report bundled_plugins_marketplace_resolve_failed with the same spawn ditto ENOENT error. /usr/bin/ditto exists and is executable on this Mac.

Expected behavior

Codex should copy the bundled marketplace and complete plugin installation. For Chrome, this should also install the native-messaging host needed by the extension.

Actual behavior / impact

Plugin installation never completes, so the Chrome native-messaging host is absent and Chrome control cannot connect.

Related but distinct

This fails before browser bootstrap/tab discovery, so it is distinct from #32954 (Cannot redefine property: process), although that issue may still affect Chrome after installation succeeds.

View original on GitHub ↗