openai / openai/codex

ChatGPT Edge extension 1.2.30000.30 cannot create chats: path.posix.delimiter is undefined in browser bundle

Open
#38,709 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug extension
Dominant language
Rust
Stars
125k
Forks
19.5k
PR merge metrics
PR metrics pending

Description

Summary

The official ChatGPT extension for Microsoft Edge fails whenever it attempts to create a new chat:

Error creating chat
Cannot read properties of undefined (reading 'delimiter')

The failure occurs inside the extension's side-panel bundle before a model request or chat is created.

Environment

  • macOS: 26.6.1 (25G76), arm64
  • Microsoft Edge: 151.0.4129.86
  • ChatGPT desktop app: 26.803.41515 (build 6321)
  • ChatGPT Edge extension: 1.2.30000.30
  • Extension ID: odlomjlbamekndcpllcnffbgeohgkmjh
  • Release channel: stable
  • Extension build SHA: aa37c0f24186acdd6e56fa1a4692272bea220f7f
  • Side panel: codex-sidepanel/index.html

Steps to reproduce

  1. Install and enable ChatGPT extension 1.2.30000.30 from Microsoft Edge Add-ons.
  2. Connect it to the ChatGPT desktop application.
  3. Open the ChatGPT side panel on any ordinary webpage.
  4. Enter any prompt in a new chat.
  5. Click Send.

Actual behavior

No chat is created. The side panel displays:

Cannot read properties of undefined (reading 'delimiter')

The prompt remains in the composer.

This reproduces independently of the webpage content. It was observed on YouTube, but the page itself is unrelated to the failure.

Expected behavior

The extension should create the chat and process the prompt.

Root cause

The browser bundle contains a stubbed Node path module whose exported value is empty:

pathModule = { default: {} };

The generated runtime-configuration helper nevertheless dereferences Node-specific properties:

function joinPathList(items, platform) {
  const delimiter =
    platform === "win32"
      ? pathModule.default.win32.delimiter
      : pathModule.default.posix.delimiter;

  return items.filter((item) => item.length > 0).join(delimiter);
}

In the browser build, pathModule.default.posix and pathModule.default.win32 are undefined. Reading .delimiter therefore throws.

The call sequence is approximately:

Send prompt
  → create chat
  → construct extension runtime configuration
  → Gy(...)
  → Fy(nodeModuleDirs, platform)
  → pathModule.default.posix.delimiter
  → TypeError

Gy() invokes the delimiter helper whenever a runtime configuration is present. The exception occurs before the downstream configuration builder can reject or omit incomplete Node runtime settings.

Confirmation of diagnosis

A temporary, in-memory compatibility shim supplying:

posix.delimiter = ":"
win32.delimiter = ";"

allowed the same pending prompt to create a chat and complete successfully.

This was used only to validate the diagnosis; modifying Object.prototype is not proposed as a production solution.

The Edge extension update control was also run. Edge reported that extensions were updated, but ChatGPT remained on version 1.2.30000.30, so no fixed store build was available at the time of testing.

Proposed fix

Avoid importing or dereferencing Node's path module in the browser bundle:

function joinPathList(items, platform) {
  const delimiter = platform === "win32" ? ";" : ":";
  return items.filter((item) => item.length > 0).join(delimiter);
}

Alternatively, provide a browser-safe platform helper that does not depend on Node built-ins.

It may also be worth moving this calculation after validation of nodePath and nodeReplPath, so configuration that will ultimately be omitted cannot fail during eager argument construction.

Suggested regression tests

  • Creating a chat with a non-null extension runtime configuration on macOS.
  • Creating a chat with a non-null extension runtime configuration on Windows.
  • Calling the path-list helper with an empty nodeModuleDirs array.
  • Building the side panel for a browser target where Node's path module resolves to a stub.
  • Verifying that chat creation reaches the backend when Node REPL configuration is unavailable or incomplete.

Additional notes

  • No credentials, tokens, or private page data are required to reproduce.
  • The issue occurs before network/model processing.
  • Reinstalling or refreshing the webpage cannot correct the defective generated bundle.
  • Searches of the public openai/codex issue tracker found related browser-extension regressions, but no report matching this exception, extension version, and call path.

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 codex-sidepanel/index.html browser entry point and trace the runtime-configuration path through Gy, Fy, and joinPathList. Reproduce with a non-null extension runtime configuration and inspect the browser bundle's path handling. Done means chat creation reaches the backend without the delimiter error, with coverage for macOS and Windows platform cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.