Extension published recently on Open VSX will not install in IDE

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

I wrote an extension which has been published in the VSCode marketplace for over a year. The extension is named “CircuitPythonSync (id: padgettholdings.circuitpythonsync)”. A user requested that I get it to run in Cursor, so I adjusted some setting values and verified it worked. I published to Open VSX and validation my publisher so it shows up in the extension app. But when you try to install it hangs, doesn’t even bring up the Trust Publisher modal. It finally times out and says to try manually. But if you click that button the file downloaded is named with just a long UID, no .vsix extension. You can add the extension and it will sideload fine.

Steps to Reproduce

Open Ciursor IDE, bring up the extensions app, search for “CircuitPython” and choose “CircuitPythonSync”. Try to install and the noted behavior will be given.

Expected Behavior

Should be the same as other extensions: verify that the user trusts the publisher and complete the install of the extension.

Operating System

Windows 10/11
MacOS

Version Information

Version: 2.4.37 (user setup)
VSCode Version: 1.105.1
Commit: 7b9c34466f5c119e93c3e654bb80fe9306b6cc70
Date: 2026-02-12T23:15:35.107Z
Build Type: Stable
Release Track: Default
Electron: 39.2.7
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Windows_NT x64 10.0.26200

Version: 2.4.37
VSCode Version: 1.105.1
Commit: 7b9c34466f5c119e93c3e654bb80fe9306b6cc70
Date: 2026-02-12T23:15:35.107Z
Build Type: Stable
Release Track: Default
Electron: 39.2.7
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Darwin arm64 25.3.0

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report. This is a known quirk. When the Cursor marketplace asks you to download a file manually, it sometimes downloads it without the .vsix extension. You can rename the file and install it manually (sideload).

For a more reliable workaround, download the .vsix directly from your extension’s Open VSX page: Open VSX Registry and install it using the Command Palette command Extensions: Install from VSIX....

A few things that can help debug the install “hanging”:

  1. How recently was the extension published on Open VSX? Sometimes the Cursor marketplace needs some time to correctly sync newly published extensions.
  2. Can you run Cursor Settings > Network > Run Diagnostics and share the results? This helps rule out a network issue.
  3. Does the same hang happen with other extensions, or only with CircuitPythonSync?

Let me know how it goes.

Dean, thanks very much for your quick response. I am still very new to the Cursor ecosystem so please bear with me. Answers to your questions:

  1. I published the extension to open vsx on 13-Feb-2026 late in the day (Eastern US time)
  2. Network diagnostics from my Windows PC are listed below; should be the same from the Mac, it is on the same network switch.
  3. I tried a couple of other extensions and they seemed to install as expected.

I am going to do a docs-only update to the extension and put the suggestion you mentioned to download the vsix file from the marketplace. Thanks again! Stan

Sorry, forgot the diagnostics:

DNS

2026-02-16T15:20:30.270Z] Host: api2.cursor.sh
[2026-02-16T15:20:30.271Z] Servers: 2603:9001:20c:584a:ea9f:80ff:fe14:c8e6,192.168.99.1
[2026-02-16T15:20:30.271Z] Resolved to 54.227.121.228 in 66ms
[2026-02-16T15:20:30.309Z] Resolved to 54.227.121.228 in 38ms
[2026-02-16T15:20:30.310Z] Resolved to 54.227.121.228 in 0ms
[2026-02-16T15:20:30.310Z] Resolved to 54.227.121.228 in 0ms
[2026-02-16T15:20:30.312Z] Host: api2.cursor.sh
[2026-02-16T15:20:30.312Z] Servers: system
[2026-02-16T15:20:30.312Z] Resolved to 54.227.121.228, 50.17.45.3, 100.51.26.205, 34.199.65.28, 35.169.82.227, 3.86.171.14, 100.30.104.30, 100.52.59.113 in 2ms
[2026-02-16T15:20:30.314Z] Resolved to 54.227.121.228, 50.17.45.3, 100.51.26.205, 34.199.65.28, 35.169.82.227, 3.86.171.14, 100.30.104.30, 100.52.59.113 in 0ms
[2026-02-16T15:20:30.315Z] Resolved to 54.227.121.228, 50.17.45.3, 100.51.26.205, 34.199.65.28, 35.169.82.227, 3.86.171.14, 100.30.104.30, 100.52.59.113 in 0ms
[2026-02-16T15:20:30.315Z] Resolved to 54.227.121.228, 50.17.45.3, 100.51.26.205, 34.199.65.28, 35.169.82.227, 3.86.171.14, 100.30.104.30, 100.52.59.113 in 0ms
[2026-02-16T15:20:30.315Z] Result: true

HTTP/2

[2026-02-16T15:20:30.203Z] Start
[2026-02-16T15:20:30.360Z] Host: api2.cursor.sh
[2026-02-16T15:20:30.360Z] Protocol: h2
[2026-02-16T15:20:30.360Z] Result: true in 157ms

SSL

[2026-02-16T15:20:30.203Z] Start
[2026-02-16T15:20:30.407Z] URL: https://api2.cursor.sh/
[2026-02-16T15:20:30.407Z] Status: 200
[2026-02-16T15:20:30.407Z] IP: 54.227.121.228
[2026-02-16T15:20:30.407Z] Issuer: C=US; O=Amazon; CN=Amazon RSA 2048 M01
[2026-02-16T15:20:30.407Z] Name: api2.cursor.sh
[2026-02-16T15:20:30.407Z] AltName: DNS:api2.cursor.sh, DNS:prod.authentication.cursor.sh, DNS:*.api2.cursor.sh
[2026-02-16T15:20:30.407Z] DNS Time: 4ms
[2026-02-16T15:20:30.407Z] Connect Time: 102ms
[2026-02-16T15:20:30.407Z] TLS Time: 44ms
[2026-02-16T15:20:30.407Z] Result: true in 204ms

API

[2026-02-16T15:20:30.203Z] Start
[2026-02-16T15:20:30.457Z] Result: true

PING

[2026-02-16T15:20:30.204Z] Sending ping 1
[2026-02-16T15:20:30.459Z] Response: ‘ping’ in 255ms
[2026-02-16T15:20:30.459Z] Sending ping 2
[2026-02-16T15:20:30.516Z] Response: ‘ping’ in 57ms
[2026-02-16T15:20:30.516Z] Sending ping 3
[2026-02-16T15:20:30.569Z] Response: ‘ping’ in 53ms
[2026-02-16T15:20:30.569Z] Sending ping 4
[2026-02-16T15:20:32.570Z] Response: ‘ping’ in 2001ms
[2026-02-16T15:20:32.570Z] Sending ping 5
[2026-02-16T15:20:32.624Z] Response: ‘ping’ in 54ms
[2026-02-16T15:20:32.624Z] Result: true

Chat

[2026-02-16T15:20:30.204Z] Starting stream
[2026-02-16T15:20:32.557Z] Response: ‘foo’ in 2350ms
[2026-02-16T15:20:33.617Z] Response: ‘foo’ in 1060ms
[2026-02-16T15:20:34.610Z] Response: ‘foo’ in 993ms
[2026-02-16T15:20:35.631Z] Response: ‘foo’ in 1021ms
[2026-02-16T15:20:36.961Z] Response: ‘foo’ in 1330ms
[2026-02-16T15:20:38.061Z] Result: Error: Streaming responses are being buffered by a proxy in your network environment

Agent

[2026-02-16T15:20:30.206Z] Starting stream
[2026-02-16T15:20:30.207Z] Pushing first message
[2026-02-16T15:20:30.454Z] Response: ‘foo’ in 247ms
[2026-02-16T15:20:30.955Z] Pushing next message
[2026-02-16T15:20:30.999Z] Response: ‘foo’ in 545ms
[2026-02-16T15:20:31.503Z] Pushing next message
[2026-02-16T15:20:31.550Z] Response: ‘foo’ in 551ms
[2026-02-16T15:20:32.051Z] Pushing next message
[2026-02-16T15:20:32.096Z] Response: ‘foo’ in 546ms
[2026-02-16T15:20:32.598Z] Pushing next message
[2026-02-16T15:20:32.642Z] Response: ‘foo’ in 546ms
[2026-02-16T15:20:32.642Z] Result: true

Marketplace

[2026-02-16T15:20:30.202Z] Host: marketplace.cursorapi.com
[2026-02-16T15:20:30.267Z] Response in 65ms
[2026-02-16T15:20:30.267Z] Response: 200
[2026-02-16T15:20:30.267Z] Response Type: cors
[2026-02-16T15:20:30.267Z] Server: null
[2026-02-16T15:20:30.267Z] Result: OK in 65ms

Thanks for running the diagnostics, Stan.

The network looks fine. The marketplace endpoint is responding without any issues. Since the extension was published on February 13 and other extensions install normally, this looks like a sync issue between our Open VSX mirror and newly published extensions. We’ve got another similar report from a different extension author with the same pattern.

I’ve passed this to the team.

For now, the most reliable workaround is to download the .vsix directly from Open VSX and install it via Extensions: Install from VSIX....

Let me know if you need anything else.

Will do, thanks again!