Updating Codex OpenAI's coding agent always fails with: requested version was not found

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Updating “Codex – OpenAI’s coding agent” (openai.chatgpt) always fails with “requested version was not found” – stale version lists in marketplace.cursorapi.com

Summary

Installing a newer version of the Codex extension (openai.chatgpt) through Install Specific Version… fails every time with:

Error while installing 'Codex – OpenAI's coding agent' extension.
NotFound: The extension 'openai.chatgpt' cannot be installed because the requested version '26.901.22334' was not found.

Uninstalling and reinstalling the extension works. This has happened on every update since mid-August. The cause looks like the Cursor marketplace (marketplace.cursorapi.com, the open-vsx-mirror backend): the “latest version” query and the “all versions” query return different, stale version lists.

History (from renderer.log / sharedprocess.log)

Date Version requested Result
2026-08-14 26.810.41047 NotFound
2026-08-19 26.814.41407 NotFound (x2). A minute later, uninstall + install fetched the same 26.814.41407 without problems
2026-08-24 26.818.41509 NotFound. Reinstall fetched 26.818.61809
2026-09-10 26.901.22334 NotFound

The 19 Aug case shows the version existed and was downloadable. It only failed through the pinned-version install path.

Analysis

  1. The failing path is Install Specific Version… (workbench.extensions.action.install.anotherVersion), not the plain Update button. The stack trace in renderer.log is YKt.install ← Pue.run, and Pue is that action in 3.19.13. The version picker listed 26.901.22334 (from getAllCompatibleVersions()), but install(extension, { version }) resolves that version again via galleryService.getExtensions([{ id, version }]). That call runs an all-versions query (IncludeVersions, request type gallery-query-all-versions), and the client looks for that exact version + linux-x64 in the returned list. When it isn’t there, NotFound is thrown before any download is attempted, seconds after the picker offered that same version. From the code, the plain Update action and auto-update install the gallery object they already hold, so they shouldn’t hit this path.
  2. A fresh install does not pin a version. It uses the latest-version query path, so it succeeds.
  3. marketplace.cursorapi.com/_apis/public/gallery/extensionquery returns different version lists for equivalent queries, and the lists change between runs. On 2026-09-10 I observed, for openai.chatgpt:
    • criteria=[ExtensionName], flags=407 → first run: 855 version entries, no 26.901.22334 or 26.903.71938 for linux-x64. Minutes later the same request returned 1116 entries including both.
    • criteria=[ExtensionName, Target=Microsoft.VisualStudio.Code, ExcludeWithFlags=4096], flags=439 (what the client sends) → 1105 entries: has 26.901.22334 but not 26.903.71938, which the other query already listed.
    • flags including IncludeLatestPrereleaseAndStableVersionOnly → reports stable 26.903.71938 for linux-x64 as latest.
    • cf-cache-status: DYNAMIC on all of them, so the staleness seems to come from the backend or mirror, not the Cloudflare cache.
  4. The VSIX assets themselves are fine. /open-vsx-mirror/api/openai/chatgpt/linux-x64/26.901.22334/file/[email protected] redirects (302), and Open VSX has the version.
  5. OpenAI publishes stable and pre-release builds almost daily (1100+ version entries across 6 platforms). Because of that, the newest versions are often missing from the snapshot the pinned lookup gets, even when the version picker or the latest query already shows them, so installing a specific new version fails nearly every time.

Workaround

cursor --install-extension openai.chatgpt --force, or uninstall + reinstall.

Expected Behavior

  • The all-versions and latest-version queries return consistent data from the marketplace, or
  • The client falls back when a pinned version is missing from the all-versions list. For example, it could retry the lookup with the same query the version picker used, instead of throwing NotFound.

Operating System

Linux

Version Information

  • Cursor 3.19.13 (VS Code 1.128.0, Electron 42.10.0)
  • Ubuntu 24.04, linux-x64
  • Extension: openai.chatgpt, stable channel (not pre-release)
  • extensions.autoUpdate: false, extensions.autoCheckUpdates: false, extensions.installCooldownHours not set (0)

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey @starnetdev, thanks for the detailed report,!

I was able to confirm what you found: the all-versions and latest-version lookups for the Codex extension are served from separate caches that refresh at different times, so right after OpenAI publishes a new build the pinned-version install can ask for a version the other list doesn’t have yet. I’ve flagged this to the team.