Computer Use is unusable in `codex-cli 0.145.0-alpha.18`: `js_repl` removed while `computer_use` still marked `stable`

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

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

26.715.31925

What subscription do you have?

codex app computer use

What platform is your computer?

_No response_

What issue are you seeing?

Computer Use is unusable in codex-cli 0.145.0-alpha.18: js_repl removed while computer_use still marked stable

Summary

In codex-cli 0.145.0-alpha.18, the js_repl feature is reported as stage = removed, while computer_use is reported as stage = stable. The computer-use@openai-bundled plugin's only documented entry point (mcp__node_repl__js + setupComputerUseRuntime) depends on js_repl. Because removed short-circuits before the user-level features.js_repl config is consulted, Computer Use cannot be re-enabled from user config in this build, even though the manifest claims it is enabled.

This produces a manifest-vs-runtime contradiction: a feature marked stable true cannot actually be used in any Codex desktop thread on this version.

Environment

| Component | Version |
| --- | --- |
| Codex CLI | codex-cli 0.145.0-alpha.18 |
| Codex desktop AppX | OpenAI.Codex_26.715.31925.0_x64__2p2nqsd0c76g0 (installed via WindowsApps) |
| Computer-use plugin | computer-use@openai-bundled v26.715.31925 |
| cua_node runtime | cua_node\03b1cdac8af3a530\bin |
| OS | Windows 11 10.0.22631 |

Confirmed configuration in ~/.codex/config.toml:

[plugins."computer-use@openai-bundled"]
enabled = true

[mcp_servers.node_repl]
command = ''C:\Users\DAP\AppData\Local\OpenAI\Codex\runtimes\cua_node\03b1cdac8af3a530\bin\node_repl.exe''
startup_timeout_sec = 120

[mcp_servers.node_repl.env]
SKY_CUA_NATIVE_PIPE = "1"
SKY_CUA_NATIVE_PIPE_DIRECTORY = ''\\.\pipe\codex-computer-use-<session-guid>''

Runtime state:

  • 4 node_repl.exe processes are running.
  • The named pipe \\.\pipe\codex-computer-use-<session-guid> is open.
  • codex-computer-use.exe (cua_node helper) is responsive to direct pipe traffic (verified, see Workaround section).

Steps to reproduce

> codex --version
codex-cli 0.145.0-alpha.18

> codex features list | Select-String -Pattern "js_repl|computer_use"
computer_use                         stable             true
js_repl                              removed            false
js_repl_tools_only                   removed            false

Attempting to re-enable from config has no effect:

> codex features enable js_repl
Enabled feature `js_repl` in config.toml.

> codex features list | Select-String -Pattern "js_repl"
js_repl                              removed            false
js_repl_tools_only                   removed            false

Flipping back (features disable js_repl) and re-enabling produces identical features list output. The flag is a no-op.

In a Codex desktop thread, the agent follows the plugin's documented entry point:

if (!globalThis.sky) {
  const { setupComputerUseRuntime } = await import(
    "C:/Users/DAP/.codex/plugins/cache/openai-bundled/computer-use/26.715.31925/scripts/computer-use-client.mjs"
  );
  await setupComputerUseRuntime({ globals: globalThis });
}

Expected

  • mcp__node_repl__js is exposed to the agent.
  • setupComputerUseRuntime succeeds and installs globalThis.sky from the cua_node helper, allowing the agent to drive Windows via sky.click, sky.typeText, sky.screenshot, etc.

Actual

  • mcp__node_repl__js returns unsupported call: mcp__node_repl__js on every invocation, even though it appears in the agent's tool surface.
  • setupComputerUseRuntime cannot run: globalThis.nodeRepl.nativePipe and globalThis.nodeRepl.env.SKY_CUA_NATIVE_PIPE_DIRECTORY are never injected by the harness.
  • features.js_repl = true in config.toml is ignored because removed is checked before the user config flag.
  • codex update does not work on this install method:

``powershell
> codex update
Error: Could not detect the Codex installation method. Please update manually: https://developers.openai.com/codex/cli/
``

  • Other removed features in this build that may share the same gating logic include apply_patch_freeform, apps_mcp_path_override, multi_agent_mode, plugin_hooks, remote_control, search_tool, sqlite, tool_search, tui_app_server, etc. (full list available via codex features list).

Root cause

computer-use@openai-bundled/scripts/computer-use-client.mjs requires two pieces of runtime state that are only injected by Codex's node_repl MCP server:

  • globalThis.nodeRepl.nativePipe.createConnection
  • globalThis.nodeRepl.env.SKY_CUA_NATIVE_PIPE_DIRECTORY

node_repl is only spawned when js_repl is enabled. In 0.145.0-alpha.18, js_repl was moved to stage = removed. The harness's effective-state check appears to short-circuit on removed before reading the user-level features.js_repl config, so the flag in config.toml cannot override it.

The computer_use feature manifest was not updated to reflect this dependency: it is still listed as stable true. Users are told the feature works while the runtime entry point is unreachable. The plugin's SKILL still instructs the agent to load its runtime via mcp__node_repl__js, so every Codex thread on this build fails at step 1.

The downstream components (cua_node helper, @oai/sky runtime, the named pipe) are intact and functional — the gap is only in the Codex harness layer that mediates between the agent and those components.

Suggested fix

Any one of the following would resolve this:

  1. Restore js_repl in the next alpha build (move it back to under development or stable) so that user config can re-enable it. This is the smallest change.
  2. Demote computer_use to removed (or under development) until its runtime dependency is restored, so codex features list reports the true effective state and users are not led to debug a feature that cannot run.
  3. Add a non-js_repl entry point for Computer Use — for example a dedicated mcp__computer_use__* tool surface — so the plugin does not become unusable whenever a js_repl-adjacent feature is removed.
  4. Detect and warn at thread-init time when a stable feature references a removed dependency, instead of silently failing later inside the agent's tool call.

Workaround (informational; not a request to upstream)

While waiting for a fix, the cua_node helper can be driven directly over its named pipe without going through the Codex harness. The wire protocol is documented in @oai/sky/dist/project/cua/sky_js/src/targets/windows/internal/computer_use_client_base.js:

  • 4-byte little-endian length-prefixed JSON-RPC frames.
  • Request envelope: {"jsonrpc":"2.0","id":N,"method":"request","params":{"method":"<sky_op>","params":{...}}}.
  • Approval handshake: server sends {"method":"requestComputerUseApproval","id":"computer-use-approval:<uuid>","params":{...}}; client replies {"jsonrpc":"2.0","id":"computer-use-approval:<uuid>","result":{"action":"accept"}}.
  • Sky ops used: list_windows, list_apps, activate_window, get_window, get_window_state, click, click_element, scroll, drag, press_key, type_text, set_value, launch_app, perform_secondary_action.
  • The cua_node helper serializes requests. Concurrent calls return {"error":{"code":-32000,"message":"Computer Use helper already has an active request"}}.
  • get_window_state occasionally returns {"error":{"code":-32000,"message":"foreground window did not report a process id"}} when the Codex desktop window itself has focus. Retrying once after activate_window typically clears it.

A self-contained ESM reference client, a Notepad typing demo, and a mspaint rectangle-drawing demo are available in this report's attachments:

  • codex-cua-pipe-client.mjs — reusable client (auto-detects pipe from ~/.codex/config.toml, auto-handles approvals, serializes calls).
  • demo.mjs — connects, lists windows, types two lines into Notepad, saves a JPEG screenshot.
  • draw-rectangle.mjs — locates the mspaint rectangle tool via UI Automation tree, then draws via drag.

End-to-end verification screenshots:

  • demo-2026-07-18T14-32-34-973Z.jpg — Notepad after typing.
  • paint-after-rect-2026-07-18T14-41-19-216Z.jpg — mspaint after drawing a rectangle.

Impact

Any user on codex-cli 0.145.0-alpha.18 who tries to use computer-use@openai-bundled (or any plugin that depends on mcp__node_repl__js) will hit this. The stable true label on computer_use actively misleads them because the manifest looks correct.

Code pointers (for maintainers)

  • codex-cli feature registry: js_repl and computer_use rows in codex features list.
  • Plugin entry point: ~/.codex/plugins/cache/openai-bundled/computer-use/26.715.31925/skills/computer-use/SKILL.md.
  • Plugin runtime loader: ~/.codex/plugins/cache/openai-bundled/computer-use/26.715.31925/scripts/computer-use-client.mjs.
  • Sky client surface that depends on js_repl: @oai/sky/dist/project/cua/sky_js/src/targets/windows/internal/computer_use_client_base.js.
  • Codex config that declares the node_repl MCP server: ~/.codex/config.toml [mcp_servers.node_repl] section.

Environment capture (raw)

$ codex features list (full)
apply_patch_freeform                 removed            false
apps_mcp_path_override               removed            false
codex_git_commit                     removed            false
collaboration_modes                  removed            true
computer_use                         stable             true
elevated_windows_sandbox             removed            false
experimental_windows_sandbox         removed            false
external_migration                   removed            false
image_detail_original                removed            false
js_repl                              removed            false
js_repl_tools_only                   removed            false
multi_agent_mode                     removed            false
non_prefixed_mcp_tool_names          under development  false
plugin_hooks                         removed            false
remote_control                       removed            false
remote_models                        removed            false
request_permissions_tool             under development  false
request_rule                         removed            false
resize_all_images                    removed            true
responses_websockets                 removed            false
responses_websockets_v2              removed            false
search_tool                          removed            false
shell_tool                           stable             true
skill_env_var_dependency_prompt      removed            false
sqlite                               removed            true
steer                                removed            true
terminal_resize_reflow               removed            true
tool_call_mcp_elicitation            stable             true
tool_search                          removed            false
tool_search_always_defer_mcp_tools   removed            true
tool_suggest                         stable             true
tui_app_server                       removed            true
unavailable_dummy_tools              removed            false
undo                                 removed            false
use_linux_sandbox_bwrap              removed            false
workspace_owner_usage_nudge          removed            false

What steps can reproduce the bug?

  1. prepare codex app
  2. edit `config.toml' to using third-part model.
model = "MiniMax-M3"
model_provider = "minimax"
model_context_window = 1000000
personality = "pragmatic"

[model_providers.minimax]
name = "MiniMax"
base_url = "https://api.minimaxi.com/v1"
experimental_bearer_token = "xxxx"
wire_api = "responses"
  1. try to do something by 'computer use'

What is the expected behavior?

_No response_

Additional information

_No response_

View original on GitHub ↗

5 Comments

github-actions[bot] contributor · 1 month ago

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

  • #33595
  • #33681
  • #33599
  • #33648
  • #33674

Powered by Codex Action

nike61 · 22 days ago

I can reproduce a closely related failure on a newer Windows build. The generic node_repl MCP tool is available, but Computer Use does not receive a usable privileged execution context.

Environment

  • Codex Desktop: 26.730.8199.0
  • Codex CLI: 0.147.0-alpha.1.2
  • Computer Use plugin: 26.730.61639
  • cua_node runtime: 0.0.6/20260723162306-088049353ddc
  • @oai/sky: 0.6.2
  • Windows x64: build 26200.8894

Observed behavior

Generic JavaScript execution works. These calls also succeed:

await sky.list_apps();
await sky.list_windows();
await sky.get_window({ id, app });

However, UI-capable/state-capture calls consistently fail:

await sky.activate_window({ window });
await sky.get_window_state({ window });

Exact error:

Error: node_repl exec context not found

The failure also occurs with a text-only state request, so it is not specific to screenshot emission:

await sky.get_window_state({
  window,
  include_screenshot: false,
  include_text: true,
});

Runtime diagnostics

The configured MCP environment contains:

SKY_CUA_NATIVE_PIPE=1
SKY_CUA_NATIVE_PIPE_DIRECTORY=\\.\pipe\codex-computer-use-...

Codex Desktop logs confirm that the pipe starts successfully:

computer-use native pipe startup ready

But inside the active node_repl execution:

Object.getOwnPropertyNames(nodeRepl)

returns only:

cwd
env
homeDir
tmpDir
requestMeta
write
setResponseMeta
emitImage

The following privileged runtime pieces are absent:

nodeRepl.nativePipe
nodeRepl.config
nodeRepl.createElicitation
nodeRepl.withSuspendedTimeout
nodeRepl.env.SKY_CUA_NATIVE_PIPE_DIRECTORY

nodeRepl.env is empty even though the variables are present in the generated MCP configuration.

This is not the earlier windows sandbox failed: spawn setup refresh failure: the JS kernel starts normally and generic node_repl calls work. The failure occurs only when Computer Use needs the privileged per-turn execution/approval bridge.

This suggests that the manifest/runtime mismatch remains in 26.730.8199.0: computer_use is exposed as stable, while the removed js_repl feature prevents the harness from injecting or registering the privileged execution context required by Computer Use.

egorsibrin2005-cyber · 21 days ago

I can reproduce a related but downstream Computer Use failure on a newer Windows build.

Environment

  • Codex desktop AppX: OpenAI.Codex_26.730.8199.0_x64__2p2nqsd0c76g0
  • Codex CLI: 0.147.0-alpha.1.2
  • Bundled Computer Use plugin: 26.730.61639
  • Bundled @oai/sky: 0.6.2
  • Windows

Reproduction and findings

In this build, node_repl is available and executes imports, so this is different from the original report's removed-js_repl failure.

  1. With [windows] sandbox = "elevated", await import("@oai/sky") fails with:

``
EPERM: operation not permitted, lstat 'C:\Users\<user>\AppData\Local\OpenAI\Codex'
``

The node_repl sandbox grants read access to the exact runtime bin and bin\node_modules descendants, but not metadata access to the parent Codex directory. Adding the parent to NODE_REPL_TRUSTED_CODE_PATHS does not add it to the child process's filesystem permissions and does not fix the elevated failure.

  1. Temporarily switching to [windows] sandbox = "unelevated" allows @oai/sky to import, but the first call such as await sky.list_apps() fails with:

``
spawn EPERM
``

The stack points to @oai/sky/.../targets/windows/internal/helper_transport.js, which calls child_process.spawn.

  1. The app creates an active native pipe and injects:

``
SKY_CUA_NATIVE_PIPE=1
SKY_CUA_NATIVE_PIPE_DIRECTORY=\\.\pipe\codex-computer-use-<guid>
``

However, the installed @oai/sky Windows implementation always constructs WindowsHelperTransport and attempts to spawn bin/windows/codex-computer-use.exe. It contains no Windows client for SKY_CUA_NATIVE_PIPE_DIRECTORY; the bundled native-pipe transport is present only under the macOS target. The desktop app's packaged code does contain the Windows native-pipe server, so the app and bundled JS client appear to be out of sync.

Reinstalling the bundled plugin and restarting the app did not change the behavior. I rolled the temporary unelevated setting back to elevated and did not patch the plugin or use a custom pipe-protocol client.

It looks like the newer build restores the node_repl entry point but still cannot complete Windows Computer Use because the bundled @oai/sky client does not use the native pipe that the desktop app exposes.

violetta03-dreamer · 14 days ago

Still reproducible on Windows after several Codex desktop updates.

Current environment:

  • Codex AppX: 26.810.4967.0
  • Codex CLI: 0.147.0
  • computer_use: stable true
  • js_repl: removed false
  • js_repl_tools_only: removed false
  • No node_repl tool is exposed in the current Codex desktop session.

The same runtime mismatch was previously confirmed on AppX versions 26.803.10989.0 and 26.803.5235.0. The bundled Computer Use plugin still cannot reach its documented runtime entry point.

OpenAI feedback ID: 019fc892-c10b-7cb0-b58d-6514ec611921.

Could a maintainer confirm whether Windows Computer Use is currently expected to work, or link the issue/PR tracking the harness fix?

huangkyle979 · 10 days ago

Current reproduction on Codex Desktop 26.810.7004.0 (2026-08-18)

This issue is still reproducible on a newer Windows Codex Desktop build. Full sanitized diagnostic report follows.

Windows Codex Desktop: Computer Use plugin is enabled and runtime is present, but mcp__node_repl__js is not injected

Summary

On Codex Desktop for Windows, the bundled Computer Use plugin is installed, enabled, and discoverable. Its SKILL.md and manifest can be read, and the bundled cua_node runtime is present. However, the callable Node REPL / Computer Use tools are not registered in the current task.

The task does not expose:

  • mcp__node_repl__js
  • node_repl/js
  • sky.list_apps()
  • sky.list_windows()
  • sky.get_window_state()

As a result, Computer Use cannot perform even the first read-only operation (window enumeration). The failure occurs before Webull or any other target application is accessed.

Repeatedly restarting Codex Desktop has not resolved the problem.

Environment

| Component | Observed value |
|---|---|
| Operating system | Windows x64 |
| Codex Desktop package | OpenAI.Codex_26.810.7004.0_x64__2p2nqsd0c76g0 |
| Codex command runner | 0.148.0-alpha.9 |
| Model | gpt-5.6-sol |
| Computer Use plugin | computer-use@openai-bundled, version 26.810.52044 |
| Computer Use plugin enabled | Yes |
| Bundled CUA runtime | cua-node 0.0.6/20260723162306-088049353ddc |
| Bundled Node version | 24.14.0 |
| Bundled Node REPL executable | Present (bin/node_repl.exe) |
| Windows sandbox | elevated |
| Private sandbox desktop | false |

User request / intended operation

The requested operation was deliberately read-only:

Use Computer Use to perform, in order: window enumeration, Webull text-state capture, and Webull screenshot-state capture. Stop immediately if any step fails. Do not click, activate, type, or trade.

No Windows UI action was performed because the first required tool was unavailable.

Steps to reproduce

  1. Enable the bundled computer-use@openai-bundled plugin in Codex Desktop on Windows.
  2. Fully close and reopen Codex Desktop.
  3. Start a local task.
  4. Explicitly invoke the Computer Use plugin.
  5. Ask Codex to initialize Computer Use and call sky.list_windows() without clicking or activating a window.
  6. Inspect the model-visible tool list or test whether mcp__node_repl__js is callable.

Minimal registration check performed in the task orchestration environment:

typeof tools["mcp__node_repl__js"]
// observed: "undefined"

ALL_TOOLS.some(x => x.name === "mcp__node_repl__js")
// observed: false

Expected behavior

When the bundled Computer Use plugin is enabled and its runtime is valid, a new task invoking Computer Use should expose the privileged Node REPL bridge. Codex should then be able to initialize @oai/sky and call read-only APIs such as:

if (!globalThis.sky) {
  const { sky } = await import("@oai/sky");
  globalThis.sky = sky;
}

globalThis.windows = await sky.list_windows();
nodeRepl.write(JSON.stringify(windows, null, 2));

Actual behavior

The Computer Use skill is discoverable, and its instructions can be read, but the execution bridge is absent from the task tool list. Therefore:

  • @oai/sky cannot be initialized through the required Node REPL channel.
  • sky.list_windows() cannot be called.
  • Text-state and screenshot-state capture cannot be attempted.
  • No target application content can be read.

The observed failure classification is:

Window enumeration: FAIL_TOOL_UNAVAILABLE
Reason: mcp__node_repl__js / node_repl JavaScript tool not registered
Webull text-state capture: NOT_EXECUTED
Webull screenshot-state capture: NOT_EXECUTED
UI activation/click/type/trade: NOT_EXECUTED

Local evidence

1. Plugin is enabled

Relevant config.toml excerpt:

[windows]
sandbox = "elevated"
sandbox_private_desktop = false

[plugins."computer-use@openai-bundled"]
enabled = true

[features]
memories = true

There is no user-configured js_repl feature entry and no user-configured mcp_servers.node_repl section in the current configuration.

2. Plugin files and manifest are present

The local Computer Use plugin manifest reports:

{
  "name": "computer-use",
  "version": "26.810.52044",
  "description": "Control desktop apps on Windows from ChatGPT through Computer Use."
}

The plugin directory contains its manifest, skills, documentation, and assets.

3. Bundled Node/Node REPL runtime is present

The bundled runtime manifest reports:

{
  "platform": "windows",
  "arch": "x64",
  "target": "windows-x64",
  "node_version": "24.14.0",
  "runtime_archive_version": "0.0.6/20260723162306-088049353ddc",
  "node_path": "bin/node.exe",
  "node_modules": "bin/node_modules",
  "node_repl_path": "bin/node_repl.exe"
}

4. Tool registration is absent in the current task

The current task's append-only rollout contains zero registered/called occurrences of:

"name":"mcp__node_repl__js"

An in-task inspection also returned:

typeof tools["mcp__node_repl__js"] = undefined
ALL_TOOLS contains mcp__node_repl__js = false

5. No matching Node REPL startup crash was observed

During the affected task, the Windows sandbox log repeatedly reported successful setup refreshes:

setup refresh: processed 4 write roots (read roots delegated); errors=[]

The inspected current-task log interval did not show:

  • os error 740
  • CreateRestrictedToken failed
  • spawn EPERM
  • node_repl kernel exited unexpectedly
  • EnumWindows failed

This suggests that the current failure occurs before Node REPL startup or Computer Use window enumeration. It is therefore distinct from a registered Node REPL process that subsequently crashes.

Troubleshooting already performed

  • Restarted Codex Desktop repeatedly.
  • Fully closed and reopened Codex Desktop.
  • Started fresh tasks and explicitly invoked Computer Use.
  • Confirmed the Computer Use plugin is enabled.
  • Confirmed the plugin manifest and skill files exist.
  • Confirmed the bundled Node and Node REPL runtime exists.
  • Confirmed the runtime manifest identifies the correct Windows x64 target.
  • Inspected the task-visible tool list directly.
  • Inspected the current Windows sandbox log for startup, elevation, and enumeration errors.

These checks did not restore or expose mcp__node_repl__js.

Assessment

The evidence is most consistent with a Codex Desktop task-initialization, feature-gating, or privileged-tool-injection problem:

  1. Plugin discovery succeeds.
  2. Runtime discovery succeeds.
  3. Sandbox setup refresh succeeds.
  4. The required tool is nevertheless absent from the task tool list.

This does not currently appear to be:

  • a Webull problem;
  • a target-window enumeration failure;
  • a missing Computer Use plugin cache;
  • a missing Node runtime;
  • a Node REPL process that starts and then crashes;
  • a failure caused by clicking, activation, authentication, or trading actions.

Similar public reports

The present report most closely matches #29921 and #28481 because the tool is absent rather than callable and crashing.

Requested investigation

Please investigate:

  1. Why mcp__node_repl__js is not registered for this Windows Codex Desktop task even though Computer Use is enabled and the bundled runtime is present.
  2. Whether a client-side/account-side feature gate is suppressing Node REPL tool registration.
  3. Whether Codex Desktop 26.810.7004.0 correctly provisions the privileged Computer Use native bridge for plugin 26.810.52044.
  4. Whether plugin/runtime version alignment is required and, if so, why the desktop package selected these versions.
  5. Whether the app should emit an explicit diagnostic when Computer Use is enabled but its required tool is skipped.
  6. Whether there is a supported recovery procedure that does not require modifying WindowsApps permissions, fabricating a native pipe, or installing an unprivileged manual MCP bridge.

Safety and privacy notes

  • No orders, transactions, messages, form submissions, clicks, typing, or window activation occurred.
  • No Webull account content was captured.
  • User-specific absolute paths, username, task identifiers, and unrelated configuration entries should be omitted from the public issue unless OpenAI support specifically requests them through a private channel.
  • Full raw rollout and sandbox logs may contain local paths or unrelated task content and should not be posted publicly without further redaction.