openai.chatgpt extension breaks on code-server: chatSessionsProvider proposed API gap + Node 22 navigator migration
Summary
The openai.chatgpt (Codex IDE) extension silently fails on code-server (Coder's browser-based VS Code distribution) due to two compounding compat gaps:
vscode.chat.registerChatSessionItemProvider proposed API is missing on code-server based on VS Code < 1.103
PendingMigrationError: navigator is now a global in nodejs on code-server based on VS Code ≥ 1.108 (Node 22+)
Both issues produce the same user-visible symptom: Codex sidebar loads but Send button does nothing, then composer freezes entirely.
We have empirically located the exact extension version boundary below, which other public issues have not.
Environment
- code-server 4.100.3 (VS Code 1.100.3) — original failure environment
- code-server 4.118.0 (VS Code 1.118.0, Node v22.22.1) — Plan B verification
- Linux x86_64
- Codex extension installed via VSIX
Symptoms
- Codex sidebar opens
- User types a message, clicks Send
- No response (or thinking spinner forever)
- Eventually the entire input box becomes unresponsive
- Only workaround end-users have: refresh the browser tab
Root cause 1: chat.registerChatSessionItemProvider not available
On code-server 4.100 (VS Code 1.100), the extension throws:
[error] TypeError: ut.chat.registerChatSessionItemProvider is not a function
at out/extension.js:628 (function Jrt)
The call is wrapped in try/catch and logged as info, so activation appears to succeed, but:
- The chat session item provider is never registered
- All downstream broadcast handlers (
thread-stream-state-changed, thread-read-state-changed, query-cache-invalidate, client-status-changed, thread-queued-followups-changed) end up unregistered
- The IpcClient then logs hundreds of
Received broadcast but no handler is configured method=thread-stream-state-changed warnings
- When broadcast rate exceeds ~5/sec for a sustained burst (typically triggered by new conversation creation), the webview JS main thread saturates → composer freezes
Root cause 2: Node 22+ navigator global migration
On code-server 4.118 (VS Code 1.118 / Node 22.22.1), the extension throws:
[error] PendingMigrationError: navigator is now a global in nodejs,
please see https://aka.ms/vscode-extensions/navigator for additional info
at out/extension.js (during Zod schema initialization)
This appears unmigrated even in your latest stable release 26.5623.42026.
This matches the previously-reported issue #10515 (closed as duplicate of #10421 but not actually fixed).
Exact extension version boundary (new data)
We downloaded and inspected package.json from VSIXs across the version range:
| Version |
Date |
enabledApiProposals includes chatSessionsProvider? |
| 0.3.3 |
2025-08-27 |
❌ NO |
| 0.5.20 |
2025-10 |
❌ NO |
| 0.5.21 |
2025-10 |
❌ NO |
| 0.5.22 |
2025-10-22 |
❌ NO ← last safe version |
| 0.5.23 |
2025-10-23 |
✅ YES (introduced) |
| 0.5.24+ |
|
✅ YES |
| 26.5xxx (stable) |
2026+ |
✅ YES |
| 26.6xx (pre-release) |
2026 |
✅ YES |
0.5.22 is the last extension version that does NOT call chat.registerChatSessionItemProvider, and is therefore the last version that activates cleanly on code-server / VS Code 1.100.
Reproducer
On a fresh code-server 4.100.3:
# Install Codex 26.5623.42026 (current stable)
code-server --install-extension openai.chatgpt
# Open Codex sidebar in browser
# Create a new conversation, send any message
# Observe: composer freezes, then becomes unresponsive
Then:
# Workaround: downgrade to 0.5.22
code-server --uninstall-extension openai.chatgpt
curl -L -o codex.vsix \
'https://openai.gallery.vsassets.io/_apis/public/gallery/publisher/openai/extension/chatgpt/0.5.22/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage'
code-server --install-extension codex.vsix
Codex works normally after this downgrade.
Impact
We run this in production for end users (browser-based coding sandboxes powered by code-server + Codex via Skynet LLM Gateway). The current state forces us to pin to 0.5.22 indefinitely, losing 8 months of Codex improvements (Apps SDK, plan summary view, etc.).
Related issues
Requested action (specific, low-cost)
Either or both:
(a) In a future release, make chat.registerChatSessionItemProvider call conditionally skip when the API is unavailable, and ensure all broadcast handlers it would have wired are also no-op'd. The try/catch already exists; just extending the fallback path would unblock all code-server users without affecting desktop VS Code users.
(b) Document on https://developers.openai.com/codex/ide that code-server is not a supported runtime, so future users know upfront.
(b) alone is a documentation change that costs near zero and saves countless engineer-days from people doing what we just did.
Happy to provide additional logs, package.json diffs, or any other data that helps.
openai.chatgpt extension breaks on code-server: chatSessionsProvider proposed API gap + Node 22 navigator migration
Summary
The
openai.chatgpt(Codex IDE) extension silently fails on code-server (Coder's browser-based VS Code distribution) due to two compounding compat gaps:vscode.chat.registerChatSessionItemProviderproposed API is missing on code-server based on VS Code < 1.103PendingMigrationError: navigator is now a global in nodejson code-server based on VS Code ≥ 1.108 (Node 22+)Both issues produce the same user-visible symptom: Codex sidebar loads but Send button does nothing, then composer freezes entirely.
We have empirically located the exact extension version boundary below, which other public issues have not.
Environment
Symptoms
Root cause 1:
chat.registerChatSessionItemProvidernot availableOn code-server 4.100 (VS Code 1.100), the extension throws:
The call is wrapped in try/catch and logged as
info, so activation appears to succeed, but:thread-stream-state-changed,thread-read-state-changed,query-cache-invalidate,client-status-changed,thread-queued-followups-changed) end up unregisteredReceived broadcast but no handler is configured method=thread-stream-state-changedwarningsRoot cause 2: Node 22+
navigatorglobal migrationOn code-server 4.118 (VS Code 1.118 / Node 22.22.1), the extension throws:
This appears unmigrated even in your latest stable release 26.5623.42026.
This matches the previously-reported issue #10515 (closed as duplicate of #10421 but not actually fixed).
Exact extension version boundary (new data)
We downloaded and inspected
package.jsonfrom VSIXs across the version range:enabledApiProposalsincludeschatSessionsProvider?0.5.22is the last extension version that does NOT callchat.registerChatSessionItemProvider, and is therefore the last version that activates cleanly on code-server / VS Code 1.100.Reproducer
On a fresh code-server 4.100.3:
Then:
Codex works normally after this downgrade.
Impact
We run this in production for end users (browser-based coding sandboxes powered by code-server + Codex via Skynet LLM Gateway). The current state forces us to pin to 0.5.22 indefinitely, losing 8 months of Codex improvements (Apps SDK, plan summary view, etc.).
Related issues
Requested action (specific, low-cost)
Either or both:
(a) In a future release, make
chat.registerChatSessionItemProvidercall conditionally skip when the API is unavailable, and ensure all broadcast handlers it would have wired are also no-op'd. The try/catch already exists; just extending the fallback path would unblock all code-server users without affecting desktop VS Code users.(b) Document on https://developers.openai.com/codex/ide that code-server is not a supported runtime, so future users know upfront.
(b) alone is a documentation change that costs near zero and saves countless engineer-days from people doing what we just did.
Happy to provide additional logs, package.json diffs, or any other data that helps.