Codex Desktop on Windows marks Computer Use unavailable after update due to bundled plugin/runtime path mismatch

Resolved 💬 2 comments Opened Jun 11, 2026 by dmiedog Closed Jun 11, 2026

What happened?

After updating Codex Desktop on Windows, the Settings page under:

电脑操控 / Computer Use

showed:

Computer Use 插件不可用 / Computer Use plugin unavailable

However, the Computer Use helper itself was still reachable from an existing thread when bootstrapped manually. The failure appeared to be caused by stale bundled plugin/runtime configuration after the app update.

This may be related to #27567, but this report includes the exact local mismatch observed after the update.

Environment

  • OS: Windows
  • Codex Desktop package: OpenAI.Codex_26.608.1337.0_x64__2p2nqsd0c76g0
  • Current bundled Computer Use plugin manifest version: 26.608.12217
  • Stale cached Computer Use plugin version still present: 26.527.31326
  • cua_node runtime path in config/cache: ...\AppData\Local\OpenAI\Codex\runtimes\cua_node\2f053e67fec2d258\bin

Symptoms

  1. Codex Settings > Computer Use reports the plugin as unavailable.
  2. config.toml still referenced the old AppX bundled plugin source:
[marketplaces.openai-bundled]
source = '\\?\C:\Program Files\WindowsApps\OpenAI.Codex_26.527.3686.0_x64__2p2nqsd0c76g0\app\resources\plugins\openai-bundled'

That AppX package path no longer existed after the update.

  1. The old cached plugin could still be loaded manually from:
%USERPROFILE%\.codex\plugins\cache\openai-bundled\computer-use\26.527.31326

and sky.list_apps() returned successfully, so the native helper/pipe was not completely broken.

  1. Pointing openai-bundled at the current AppX bundled plugin source made the Settings/plugin source consistent again:
C:\Program Files\WindowsApps\OpenAI.Codex_26.608.1337.0_x64__2p2nqsd0c76g0\app\resources\plugins\openai-bundled
  1. But using the current bundled Computer Use plugin then failed during import with:
Package subpath './dist/project/cua/sky_js/src/targets/windows/internal/computer_use_client_base.js' is not defined by "exports" in ...\node_modules\@oai\sky\package.json

The file exists in the runtime, but @oai/sky/package.json only exports .:

"exports": {
  ".": "./dist/project/cua/sky_js/src/index.js"
}

The current Computer Use plugin imports:

import { WindowsComputerUseClientBase } from "@oai/sky/dist/project/cua/sky_js/src/targets/windows/internal/computer_use_client_base.js";

so Node rejects the import because that subpath is not exported.

Expected behavior

After Codex Desktop updates, Settings > Computer Use should continue to show Computer Use as available, and the bundled plugin/runtime versions should remain compatible without manual config/cache edits.

Actual behavior

Settings showed Computer Use plugin unavailable even though the native helper was reachable. Fixing the marketplace source exposed a second incompatibility between the current Computer Use plugin and the installed @oai/sky package exports.

Local workaround that restored functionality

  1. Update ~/.codex/config.toml so [marketplaces.openai-bundled].source points to the current AppX install location instead of the removed old AppX package path.
  2. Add a temporary compatibility export to @oai/sky/package.json:
"exports": {
  ".": "./dist/project/cua/sky_js/src/index.js",
  "./dist/*": "./dist/*"
}

After this, loading the current bundled Computer Use plugin 26.608.12217 succeeded and sky.list_apps() returned appCount = 40.

Suggested fix

  • During Codex Desktop update, refresh openai-bundled marketplace paths in config.toml when the AppX package location changes.
  • Ensure the bundled Computer Use plugin and the bundled cua_node / @oai/sky runtime are version-compatible.
  • Either avoid importing unexported @oai/sky internals from the plugin, or export the required internal subpath intentionally.
  • Consider detecting stale OpenAI.Codex_<old version> paths and surfacing a clearer repair action in Settings instead of only showing Computer Use plugin unavailable.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗