Skip to content

Windows browser connector returns HTML instead of JSON and detects no Edge/Chrome tabs #45625

Open

Description

@sainte67

What happened

Codex Desktop on Windows cannot connect to the browser extension or enumerate browser tabs. Both Microsoft Edge and Google Chrome are open, but the browser connector returns no available browsers:

apps: []
browsers: []
Browsers: Error: Unexpected token '<', "<html>..." is not valid JSON

The error indicates that the connector receives an HTML response where it expects JSON. As a result, Codex cannot inspect or control any Edge or Chrome tab.

Steps to reproduce

  1. Open Codex Desktop on Windows.
  2. Enable the browser integration and open tabs in Edge or Chrome.
  3. Ask Codex to inspect/open the browser.
  4. The connector returns the JSON parsing error above and an empty browser list.

What I already tried

  • Reinstalled the relevant skill/plugin.
  • Reinstalled the browser extension.
  • Restarted the browsers.
  • Restarted Codex.
  • Restarted the computer.

The issue persists. A similar issue previously disappeared only after a later update.

Expected behaviour

Codex should discover the open browser and its tabs, then allow browser interaction.

Actual behaviour

No browser is detected; the connector fails while parsing an HTML response as JSON.

Additional context

This appears related to, but is more specific than, #39184. No private URLs, account data, or credentials are included.

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    windows-osIssues related to Codex on Windows systems
    on Sep 15, 2026
  2. sainte67 commented on Sep 17, 2026

    @sainte67
    Author

    Update — reproduced again on September 17, 2026.

    The issue is still present in the current Codex Desktop session:

    • Browser discovery returns an empty browser list and Unexpected token '<', "<html>..." is not valid JSON.
    • Microsoft Edge remains unavailable to Codex, so existing Edge tabs cannot be inspected or controlled.
    • The Codex in-app browser works normally, which suggests the failure is isolated to the external-browser connector.

    This is after reinstalling the plugin/extension and restarting the browsers, Codex, and Windows. I also initiated a report through the official OpenAI support chat.

  3. Stepan393 commented on Sep 17, 2026

    @Stepan393

    Additional diagnostic information from an affected Windows installation:

    Feedback ID: no-active-thread-01a0afe6-95a5-7e70-b52e-27ee5c945e54
    Codex/native host: 26.908.70816
    Chrome/Edge extension: 1.26.901.11451_0

    The failure reproduces in both Chrome and Edge: listTabs() returns Unexpected token '<' because the connector receives HTML instead of JSON.

  4. Rossweisse324 commented on Sep 19, 2026

    @Rossweisse324

    Additional Windows reproduction on September 19, 2026. This is the same HTML-as-JSON failure, with a verified native-host registration and a working Computer Use read-only control case.

    Environment

    • ChatGPT/Codex desktop app package OpenAI.Codex 26.915.4065.0.
    • Windows 11 23H2, build 22631.
    • Google Chrome 153.0.8010.52.
    • ChatGPT Chrome extension 1.26.901.11451_0, installed and enabled in the selected Chrome profile.
    • Bundled Chrome plugin 26.903.61454.

    Reproduction and actual result

    1. Open Chrome with an existing tab and invoke @Chrome in a Codex task to read the current page.
    2. The bundled browser runtime selects the Chrome backend and returns chrome.documentation() successfully.
    3. chrome.nameSession(...) or chrome.user.openTabs() fails immediately with:
    Error: Unexpected token '<', "<html>\n  <"... is not valid JSON
    

    The current tab cannot be enumerated or read. Retrying in a new task, reinstalling the Chrome extension, restarting Chrome/the desktop app, and opening a fresh Chrome window have not resolved it.

    Native-host checks

    • A direct, unrestricted Windows reg query /ve confirms HKCU\Software\Google\Chrome\NativeMessagingHosts\com.openai.codexextension exists. Its default value points to %LOCALAPPDATA%\OpenAI\extension\com.openai.codexextension.json.
    • The manifest host name is com.openai.codexextension, it lists two allowed extension origins, and its path points to an existing extension-host.exe in the bundled Chrome plugin cache.
    • In contrast, the same checker run inside a restricted agent sandbox incorrectly reported the registry value as missing; process enumeration there also failed with tasklist: Access denied. An unrestricted query was necessary to rule out a missing native host.

    Control case

    Computer Use on the same desktop session successfully returned 41 apps and 7 visible windows from sky.list_apps(), then returned an accessibility tree for a File Explorer window using read-only get_window_state(). This validates discovery and UI reading for Computer Use; click and typing actions were not tested.

    Expected result / diagnostic request

    Chrome tab enumeration should return the open tabs. If an RPC endpoint fails, please expose the failing layer and HTTP status/body type rather than only the JSON parse error. The current exposed error does not identify which endpoint supplied the HTML. It would also help to distinguish a genuine missing Windows registration from a sandbox-restricted registry query.

    All user paths are redacted. No browser URLs, credentials, tokens, or private log contents are included.

  5. iygrishin-glitch commented on Sep 25, 2026

    @iygrishin-glitch

    I can reproduce this on Windows with both Chrome and Brave.

    Desktop app package: OpenAI.Codex 26.917.9434.0
    Bundled browser / Computer Use components: 26.917.71314
    Feedback/session ID: 01a0d802-de99-70e3-881c-2023ee22768c

    After reinstalling both official extensions, Codex detected both
    browsers, but listing their tabs failed with:
    Unexpected token '<', "..." is not valid JSON

    Reinstalling the extensions, fully restarting the app and browsers,
    and resetting the tool session did not resolve the failure.

    An additional observation: native Windows Computer Use successfully
    operates Paint, but browser window capture stops because it cannot
    determine the current URL confidently enough to enforce policy.
    This resembles #45177 and #25271.

    Diagnostics also found proxy connection errors and HTML HTTP 403
    responses for other requests. We have not established whether these
    cause the tab-enumeration failure.

    Could you confirm whether there is a known fix or a supported way
    to identify the request returning HTML during tab enumeration?

  6. SergeyPomelov commented on Sep 25, 2026

    @SergeyPomelov

    I can reproduce the same failure on Windows in Codex Desktop. Unexpected token '<', "..." is not valid JSON

  7. F3adlz commented on Oct 3, 2026

    @F3adlz

    I can reproduce a similar issue on Windows with Google Chrome.

    One difference from the original report: Chrome itself is detected, but tab enumeration fails with the same HTML/JSON parsing error.

    Sanitized output excerpt:

    {
      "browsers": [
        {
          "name": "Chrome",
          "type": "extension",
          "tabs": []
        }
      ],
      "errors": [
        "Browser <REDACTED_ID>: Error: Unexpected token '<', \"<html>\n  <\"... is not valid JSON"
      ]
    }

    Sanitized stack trace excerpt:

    Error: Unexpected token '<', "<html>
      <"... is not valid JSON
        at <TEMP_DIR>\kernel.js:1595:16
        at Object.settle (<TEMP_DIR>\worker-runtime.js:396:5)
        at <TEMP_DIR>\kernel.js:1871:11
        at handleInputFrame (<TEMP_DIR>\worker-runtime.js:418:7)
    
  8. SergeyPomelov commented on Oct 3, 2026

    @SergeyPomelov

    Since the Codex vibe coders apparently cannot fix their 5K bugs, I dug into it myself.

    The error handling is poor: the code tries to parse the HTTP response as ALWAYS JSON. This error can therefore hide several different problems. Make sure yours is proxy-related before applying this workaround.

    In my case, they were ignoring the system proxy. Adding the following to bin/node_modules/@oai/cua-repl/bin/cua-repl.mjs, before await cua_repl.launch(), restored things.

    I haven’t found a cleaner workaround. Treat this as a temporary hack, not a proper fix: an app update may overwrite it or something. I am not even a js/node developer.

    process.env.HTTP_PROXY = 'http://127.0.0.1:1234';
    process.env.HTTPS_PROXY = 'http://127.0.0.1:1234';
    process.env.NO_PROXY = 'localhost,127.0.0.1,::1';
    process.env.NODE_USE_ENV_PROXY = '1';
    process.env.NODE_REPL_UNTRUSTED_ENV_ALLOWLIST = [...new Set([
      ...(process.env.NODE_REPL_UNTRUSTED_ENV_ALLOWLIST || '').split(',').filter(Boolean),
      'HTTP_PROXY', 'HTTPS_PROXY', 'NO_PROXY', 'NODE_USE_ENV_PROXY'
    ])].join(',');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbrowserbugSomething isn't workingwindows-osIssues related to Codex on Windows systems

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions