js_repl incorrectly marked as "removed", breaking Chrome/Browser/Computer-Use plugins

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

What issue are you seeing?

The js_repl feature is hardcoded as "removed" in the feature registry, causing Codex to forcibly set js_repl = false in config.toml on every startup. The Node REPL MCP server then rejects all js calls with missing field sandboxPolicy. This breaks the @chrome, @browser, and @computer-use plugins entirely, even though their associated features (browser_use, computer_use, in_app_browser) are all marked "stable" and "true".
Additionally, each restart causes config.toml corruption: sections for desktop settings, openai-primary-runtime marketplace, and 4 productivity plugins are silently dropped.
Environment: Windows 11 · Codex Desktop 26.616.5445.0 · CLI 0.142.0-alpha.6 · Affected plugins v26.616.41845

What steps can reproduce the bug?

  1. Open Codex Desktop with @chrome, @browser, or @computer-use plugin enabled.
  2. Run any browser control task, e.g.: chrome open example.com
  3. Observe the error: Mcp error: -32602: js: codex/sandbox-state-meta: missing field sandboxPolicy
  4. Run codex features list — see js_repl removed false
  5. Run codex features enable js_repl — config.toml writes js_repl = true
  6. Restart Codex — js_repl reverts to false

What is the expected behavior?

_No response_

Additional information

js-repl-issue.md

View original on GitHub ↗

5 Comments

github-actions[bot] contributor · 2 months ago

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

  • #29229
  • #29193
  • #29211
  • #29212
  • #29205

Powered by Codex Action

eduardosantos1989 · 2 months ago

+1

sublingualwart · 2 months ago

same here, on every computer with my account, my wife's account, all our codex's with the same problem in several computers (windows on all) and several browsers.

Necmttn · 2 months ago

The feature registry needs dependency consistency. If js_repl is marked removed, dependent stable plugins such as Browser, Chrome, and Computer Use should be disabled with a clear reason; if those plugins are enabled, js_repl and its metadata schema must be available.

Also avoid rewriting unrelated config sections during feature reconciliation. A startup receipt listing feature decisions, dependent plugins, and config keys changed would make "removed feature broke stable plugin" much easier to audit.

---

_Generated with ax._

GDongLin · 2 months ago

I can reproduce a closely related Windows Codex Desktop failure where the Chrome plugin loads its skill instructions, but the actual node_repl/js execution tool is not injected at all.

Environment:

  • Codex Desktop AppX: 26.616.6631.0
  • Codex CLI/app-server: 0.142.0-alpha.6
  • Windows Codex Desktop
  • Model in affected threads: gpt-5.5
  • Sandbox policy in thread DB: { type: disabled }

Installed/enabled plugin state:

  • browser@openai-bundled: installed, enabled, 26.616.51431
  • chrome@openai-bundled: installed, enabled, 26.616.51431
  • computer-use@openai-bundled: installed, enabled, 26.616.51431
  • openai-bundled marketplace resolves locally to a valid 26.616.51431 plugin bundle.

Chrome-side checks pass:

  • Codex Chrome Extension is installed and enabled in the selected Chrome profile.
  • Native host manifest exists.
  • HKCU Chrome NativeMessagingHosts registry entry exists.
  • Native host check reports correct: true.

Observed behavior:

  • A fresh @Chrome thread reads the Chrome plugin skill instructions successfully.
  • The assistant then cannot find the required JS/browser control entrypoint and falls back to shell Start-Process chrome.exe.
  • The page opens, but Codex cannot actually control or inspect Chrome.

Local diagnostic evidence:

  • codex features list shows:
js_repl              removed  false
js_repl_tools_only   removed  false
browser_use          stable   true
browser_use_external stable   true
computer_use         stable   true
in_app_browser       stable   true
plugins              stable   true
  • Tool discovery for node_repl js mcp__node_repl__js returns no tools.
  • The fresh affected thread has dynamic_tool_count = 0 in thread_dynamic_tools.
  • Logs while building the tool list repeatedly show only codex_apps as an MCP server:
list_all_tools{mcp_server_count=1}: listed MCP server tools while building tool list server_name=codex_apps tool_count=0

Impact:

  • @Chrome loads instructions but cannot operate Chrome.
  • Browser / Chrome / Computer Use are installed and enabled, but their shared JS execution runtime is not available to the model.
  • This is distinct from the sandboxPolicy invalid-params failure in #29193: in this case the node_repl/js tool is not exposed to the thread at all.

Privacy note: no local usernames, full paths, browser history, cookies, tokens, screenshots, or raw logs are included here.