{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreick25cpnczd6al6ybfgrwswzhjqk5yebpcggxadvktxoyrsutlaja",
"uri": "at://did:plc:lk3jfj3zq4k4wxnk474axylu/app.bsky.feed.post/3mpd5gay654v2"
},
"path": "/t/codex-vs-code-extension-on-code-server-precise-version-boundary-root-cause-analysis/1385104#post_1",
"publishedAt": "2026-06-28T04:17:47.000Z",
"site": "https://community.openai.com",
"tags": [
"openai/codex#26951",
"10421",
"10515",
"Using Proposed API guide",
"see vscode source",
"Issues · openai/codex · GitHub",
"@deprecated"
],
"textContent": "# Codex VS Code extension on code-server: precise version boundary + root cause analysis\n\n## TL;DR\n\nIf you run Codex (`openai.chatgpt`) extension inside **code-server** (browser VS Code), Send may freeze the entire input box. Root cause is a VS Code proposed-API mismatch. **Downgrade to`0.5.22`** (Oct 2025) to fix.\n\n## Context\n\nWe deploy browser-based coding sandboxes for end-users using code-server 4.100 + Codex extension. Many users hit “Send doesn’t work, refresh sometimes fixes it” — same pattern as in openai/codex#26951, #10421, #10515, and others.\n\nAfter ~2 days of log archaeology, we located the precise root cause and version cutoff.\n\n## What’s actually happening\n\nThe Codex extension version `0.5.23` (Oct 2025) onward declares `enabledApiProposals: ['chatSessionsProvider', 'languageModelProxy']` and calls `vscode.chat.registerChatSessionItemProvider`.\n\nThat API was introduced in **VS Code 1.103** (July 2025) and is still marked **proposed** — see Microsoft’s Using Proposed API guide: “subject to change, only available in Insiders distribution, should not be used in published extensions.”\n\ncode-server releases lag upstream VS Code. If your code-server is based on VS Code < 1.103, the API doesn’t exist. The Codex extension catches the TypeError (good), logs it as info (less good), but the downstream broadcast handlers never get registered (bad).\n\nUser-visible result: hundreds of `[IpcClient] Received broadcast but no handler is configured method=thread-stream-state-changed` warnings, eventually the webview JS main thread saturates, composer freezes.\n\n## Empirical version boundary (the new data)\n\nDownloaded VSIXs and inspected `package.json`:\n\nVersion | `chatSessionsProvider` | Safe on code-server 1.100?\n---|---|---\n0.3.3 ~ 0.5.22 | NO | YES\n**0.5.23** (2025-10-23) | YES | NO\nAll later (including 26.5xxx, 26.6xx) | YES | NO\n\n**0.5.22 is the last working version.**\n\n## Why upgrading code-server doesn’t help\n\nWe tested code-server 4.118 (VS Code 1.118.0). The `chatSessionsProvider` TypeError goes away, BUT:\n\n 1. New error: `PendingMigrationError: navigator is now a global in nodejs` (Node 22 issue, #10515). Still unmigrated in latest stable 26.5623.42026.\n 2. The broadcast handlers still don’t fully wire up (API shape evolved between 1.103 and 1.118).\n 3. End-user experience actually got _worse_ than 4.100 + 0.5.22.\n\n\n\nSo upgrading code-server isn’t a real fix.\n\n## Workaround (verified working)\n\n\n # 1. Uninstall whatever's there\n code-server --uninstall-extension openai.chatgpt\n\n # 2. Download 0.5.22 linux-x64\n curl -L -o /tmp/codex.vsix \\\n 'https://openai.gallery.vsassets.io/_apis/public/gallery/publisher/openai/extension/chatgpt/0.5.22/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage'\n\n # 3. Install\n code-server --install-extension /tmp/codex.vsix\n\n # 4. Disable auto-update so it doesn't get bumped back\n cat >> ~/.local/share/code-server/User/settings.json <<'EOF'\n \"extensions.autoUpdate\": false,\n \"extensions.autoCheckUpdates\": false,\n EOF\n\n\n## What you lose\n\n`0.5.22` is from Oct 2025, so you miss ~8 months of features:\n\n * Native VS Code chat-panel integration (the `chatSessionsProvider` itself)\n * Apps SDK / MCP apps marketplace\n * New plan-summary / progress view\n\n\n\nFor our end-users these are mostly invisible. Core chat / multi-thread / streaming / tool use / context all work.\n\n## Future-proofing thought\n\n`chatSessionsProvider` is still proposed and Microsoft has already marked `registerChatSessionItemProvider` as `@deprecated` in favor of `ChatSessionItemController` (see vscode source). So when the next Codex extension migrates to the new controller API, even latest VS Code Insiders users may break.\n\nIf you’re shipping anything production-critical that depends on the Codex extension, consider moving to `codex exec` (non-interactive) or the Codex SDK with your own thin UI. That’s the only path that doesn’t depend on the proposed-API churn.\n\n## Filed an issue too\n\nPosted full report at Issues · openai/codex · GitHub [fill in once filed] with reproducer.\n\nHope this saves someone the 2 days I spent.",
"title": "Codex VS Code extension on code-server: precise version boundary + root cause analysis"
}