Fix Cursor Extensions: Network Error or Empty Marketplace

Cursor's Extensions panel shows a network error, empty list, or a stuck spinner. Cursor uses Open VSX, not Microsoft's marketplace. Pick the right cause and fix it fast.

You open the Extensions panel in Cursor (Cmd/Ctrl + Shift + X), search for “Prettier” or “ESLint” or some language server you need, and get a spinner that never resolves, an explicit “network error,” or an empty list. Sometimes the extension shows up but Install does nothing.

Fastest fix: click the refresh icon in the Extensions panel header, then reload the window (Cmd/Ctrl + Shift + P -> “Developer: Reload Window”). That clears a cached empty result, which is the single most common cause. If it’s still broken, the rest of this guide sorts the remaining causes by how often they’re the culprit.

The root reason Cursor’s marketplace behaves differently from VS Code: Cursor is a VS Code fork, but Microsoft’s terms restrict the Visual Studio Marketplace to official Microsoft products, so Cursor ships with the Open VSX registry as its default gallery (the switch landed June 25, 2025). Cursor layers its own indexed marketplace backend on top of Open VSX and publishes drop-in replacements for many popular extensions under the Anysphere publisher. That extra layer is why an extension can exist on open-vsx.org yet still be missing from Cursor’s in-app search.

Which bucket are you in?

SymptomMost likely causeJump to
Empty list for one specific extension, others workMicrosoft-only, or Cursor index lagCauses 1, 2
”network error” / endless spinner on every searchProxy/firewall blocks open-vsx.orgCause 3
Everything was fine, now every search 5xx or hangsOpen VSX outageCause 4
Search returns 404 / malformed resultsBad custom gallery URL in settingsCause 5
Panel was empty once, stays empty after retryStale cacheCause 6
Extension found, Install fails with version textengines.vscode mismatchCause 7

Common causes

Ordered by hit rate, highest first.

1. The extension exists only on Microsoft’s marketplace, not Open VSX

Many Microsoft-published extensions (Pylance, Remote-SSH, the C# Dev Kit, the official C/C++ tools) are licensed to run only in Microsoft products and are not on Open VSX. Search returns empty because the extension simply is not in the catalog Cursor uses.

How to judge: visit open-vsx.org and search for the extension. No result there means it is Microsoft-exclusive. Also check whether Cursor ships an Anysphere-published equivalent (its own Python, Remote-SSH, and similar drop-ins) by searching the in-app panel for the feature name rather than the Microsoft package name.

2. The extension is on Open VSX but missing from Cursor’s in-app search (index lag)

Because Cursor runs its own marketplace index in front of Open VSX, a newly published or freshly updated extension can be live on open-vsx.org yet not yet searchable in Cursor, or Cursor may offer an older version than upstream. This was a recurring, confirmed issue across 2026 community reports.

How to judge: confirm the extension and version exist on open-vsx.org, then search Cursor by the full extension ID (publisher.name), not just the display name. If open-vsx.org has it but Cursor’s panel does not, you’re in this bucket; install by VSIX (Step 5) instead of waiting on the index.

3. Corporate proxy or firewall blocks open-vsx.org

The Extensions panel makes HTTPS calls to open-vsx.org and a backing CDN/object store. If your proxy blocks either, the panel hangs or shows a network error.

How to judge: from the integrated terminal run curl -sS -I https://open-vsx.org/api/-/search?query=prettier. A 403, a timeout, or connection refused confirms the proxy. (200 OK means the gallery is reachable and the cause is elsewhere.)

4. Open VSX is having an outage

Open VSX runs on smaller infrastructure than Microsoft’s marketplace, and brief windows of slow responses or 5xx do happen (for example, an infrastructure-upgrade service disruption on May 1, 2026 that briefly took down the search API).

How to judge: check status.open-vsx.org or curl the search endpoint. A 5xx for everyone means wait it out.

Cursor settings can override the gallery endpoints. If someone (or a prior fix attempt) set a bad URL, the gallery returns 404 or malformed JSON. Note: pointing Cursor’s marketplace backend somewhere non-default is not officially supported by Anysphere, so a stray value here is a real failure mode.

How to judge: open Cursor user settings JSON and search for extensions.gallery. Any custom URL different from the Open VSX default is suspect.

6. Cursor cached a stale empty result

If a prior search returned empty due to a transient error, that empty result can stick in cache until you force a refresh.

How to judge: click the refresh icon on the Extensions panel header. If results appear after, the cache was stale.

7. The extension is version-pinned to a VS Code engine Cursor does not match

Cursor’s engines.vscode compatibility is close to upstream VS Code but not identical. An extension requiring, say, vscode ^1.95 may refuse to install on a Cursor build linked to an older engine.

How to judge: try installing the .vsix from disk. If the error mentions engine compatibility, that’s it.

Before you start

  • Confirm whether the extension is on Open VSX, Microsoft-only, or just lagging in Cursor’s index; the workaround differs for each.
  • Have a .vsix download handy as a fallback (most extensions can be installed manually).
  • Know your network constraints: home, VPN, or corporate proxy.

Information to collect

  • Cursor version (Help -> About).
  • OS and network setup (VPN, proxy).
  • Whether a browser on the same machine can reach https://open-vsx.org.
  • Output of curl -sS -I https://open-vsx.org/api/-/search?query=prettier.
  • Current extensions.gallery.* values in user settings.
  • The exact error text in the Extensions panel.

Step-by-step fix

Step 1: Refresh and reload

Click the refresh icon on the Extensions panel header. Then run Cmd/Ctrl + Shift + P -> “Developer: Reload Window.” If the network was momentarily off when the panel first loaded, this clears the cached empty state. This alone fixes the majority of empty-list reports.

Open Cursor user settings JSON (Cmd/Ctrl + Shift + P -> “Preferences: Open User Settings (JSON)”). If you see custom extensions.gallery.* keys, either remove them entirely to fall back to Cursor’s defaults, or paste these exact Open VSX values:

{
  "extensions.gallery.serviceUrl": "https://open-vsx.org/vscode/gallery",
  "extensions.gallery.itemUrl": "https://open-vsx.org/vscode/item"
}

Reload the window afterward. Do not point this at Microsoft’s marketplace (marketplace.visualstudio.com); it is contractually off-limits to non-Microsoft IDEs and will be rejected.

In Cursor’s integrated terminal:

curl -sS -I https://open-vsx.org/api/-/search?query=prettier | head -1

A 200 OK means the gallery is reachable, so the problem is local (cache, index, or settings). A 403, 5xx, or no response points at your network or the upstream registry.

Step 4: Bypass the proxy for testing

If you suspect the proxy, switch to a phone hotspot and reload the Extensions panel. If the list now loads, ask IT to allowlist open-vsx.org and its CDN/object-store host (allowing only the apex domain but not the asset host is a common half-fix). Long-term, a corporate Open VSX mirror is the cleanest answer.

Step 5: Install the extension manually from a .vsix

For extensions Open VSX does not host, or that are stuck in Cursor’s index, download the .vsix from the publisher’s GitHub Releases or their docs, then either:

  • In Cursor: Cmd/Ctrl + Shift + P -> “Extensions: Install from VSIX,” pick the file (you can also drag the .vsix straight onto the Extensions panel); or
  • From a terminal: cursor --install-extension ./path/to/extension.vsix.

Both bypass the gallery entirely. Verify with cursor --list-extensions.

Security note: when sideloading or trusting search results, confirm the publisher (official repo or the verified Open VSX listing). In January 2026, researchers showed VS Code forks could recommend extension names that did not exist on Open VSX, opening a typosquatting/supply-chain risk; the Eclipse Foundation has since added registry-level safeguards, but you should still match the publisher to the source.

Teams behind strict firewalls can stand up an Open VSX mirror and update settings:

{
  "extensions.gallery.serviceUrl": "https://your-mirror.internal/vscode/gallery",
  "extensions.gallery.itemUrl": "https://your-mirror.internal/vscode/item"
}

This needs ops support and is unofficial, but it is the durable fix for restricted networks.

Step 7: Resolve engine compatibility

If a specific extension complains about engines.vscode, check Cursor’s underlying VS Code engine in Help -> About. Either upgrade Cursor (newer engine) or install an older version of the extension that targets the engine you have. You can grab a specific older .vsix from the extension’s Open VSX version history.

How to confirm it’s fixed

  • Search for a well-known extension like “Prettier” and confirm the panel shows results within a couple of seconds.
  • Install one and confirm it activates (a status-bar entry, a new command in the palette, etc.).
  • Reload the window and confirm the extension survives the restart.
  • Run a fresh search to confirm the panel loads quickly and does not hang.

Long-term prevention

  • Prefer Open VSX-hosted (or Anysphere-published) extensions; they install cleanly out of the box.
  • For Microsoft-exclusive extensions you depend on, archive the .vsix per Cursor version so you can reinstall without internet.
  • Track Cursor releases and re-check engine compatibility before bumping versions.
  • For teams, run an Open VSX mirror; never depend on marketplace.visualstudio.com from inside the firewall.
  • Document the gallery URLs and any allowlist requirements in your team onboarding.

Common pitfalls

  • Pasting the Microsoft marketplace URL into extensions.gallery.serviceUrl. It is off-limits to non-Microsoft IDEs and will not work.
  • Assuming an empty Cursor search means the extension does not exist. It may be Microsoft-only, or just lagging Cursor’s index while live on open-vsx.org.
  • Installing an extension and then upgrading Cursor without re-checking compatibility; the engine bump can disable extensions silently.
  • Forgetting that .vsix installs bypass the gallery and so do not auto-update; you refresh them manually.
  • Allowlisting only open-vsx.org through the proxy but not its CDN/asset host. Both must be reachable.

FAQ

  • Why doesn’t Cursor use Microsoft’s marketplace? Microsoft’s terms restrict the Visual Studio Marketplace to official Microsoft products. Cursor is a fork, so it ships with Open VSX as the legal default and maintains its own drop-in versions of popular extensions under the Anysphere publisher.
  • An extension is on Open VSX but I can’t find it in Cursor. Why? Cursor runs its own marketplace index in front of Open VSX, and new or updated extensions can lag that index. Search by the full publisher.name ID; if it’s still missing, install the .vsix directly instead of waiting.
  • Can I install Pylance or Remote-SSH on Cursor? Not the Microsoft builds; both are Microsoft-licensed. Cursor ships its own equivalents for some (search the panel by feature, not by the Microsoft package name).
  • How do I update a manually installed .vsix? Re-download the new version and install from VSIX again, or run cursor --install-extension with the new file. Sideloaded extensions do not auto-update.
  • Is Open VSX maintained? Yes, by the Eclipse Foundation (with AWS backing announced in 2026). Coverage is good for major extensions but not exhaustive, and brief outages can happen.
  • Will my .code-workspace recommended extensions install? Only those available on the gallery you’re pointed at. Missing ones surface as warnings, not hard errors.

Tags: #Cursor #extensions #Troubleshooting #Debug