openai / openai/codex

browser_use=false disables unrelated thread and automation tools

Open
#41,404 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

app automations browser bug session
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

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

26.825.32147

What subscription do you have?

ChatGPT Enterprise

What platform is your computer?

Darwin 25.5.0 arm64 arm

What issue are you seeing?

Our managed ChatGPT Enterprise workspace sets browser_use=false. Codex Desktop correctly disables computer and browser use, but it also disables unrelated task coordination and automation tools.

Affected tools include:

  1. create_thread
  2. fork_thread
  3. list_threads
  4. read_thread
  5. send_message_to_thread
  6. handoff_thread
  7. set_thread_title
  8. set_thread_pinned
  9. set_thread_archived
  10. automation_update

Legacy dynamic tool stubs may remain visible, but calls instruct Codex to use the matching codex_app MCP tool. That MCP connection is unavailable and reports:

Codex app tools pipe closed

Disabling browser use should not disable task management or automation tools.

What steps can reproduce the bug?
  1. Use Codex Desktop with a managed workspace configuration that sets browser_use=false.

  2. Fully restart the app so it loads the managed configuration.

  3. Open a new Codex task.

  4. Attempt to use list_threads, create_thread, send_message_to_thread, automation_update, or another affected tool.

  5. Observe that the proper codex_app MCP tools are unavailable.

  6. If a legacy dynamic stub is exposed, call it. It rejects the request and directs the caller to the matching codex_app MCP tool.

  7. Attempt to list tools through the codex_app MCP connection. The connection fails because the Codex app tools pipe is closed.

What is the expected behavior?

browser_use=false should disable only computer and browser use.

Task coordination and automation tools should remain available. If these features share one transport pipe, the app should keep that pipe active and restrict browser operations separately.

Additional information

Inspection of the current Codex Desktop app code indicates this sequence:

  1. The renderer marks in app browser use unavailable when the managed browser_use requirement is false.

  2. The renderer sends electron-desktop-features-changed with inAppBrowserUse set to false.

  3. The main process calls setBrowserUseNativePipeEnabled(false).

  4. That method disposes the backend sessions using the native pipe.

  5. The codex_app MCP also depends on this pipe through CODEX_APP_TOOLS_PIPE_PATH.

The result is that a browser policy closes the transport required by unrelated task and automation tools.

This appears to be the specific cause behind the missing tools. Issue #33598 reports similar missing tools, but it does not identify browser_use=false and the shared native pipe as the cause: https://github.com/openai/codex/issues/33598

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the renderer's electron-desktop-features-changed event and trace setBrowserUseNativePipeEnabled(false), including the backend sessions using CODEX_APP_TOOLS_PIPE_PATH. Reproduce with browser_use=false and verify whether the shared pipe is closed. Done means browser and computer tools remain disabled while the listed codex_app thread and automation tools remain available.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.