Skip to content

Instantly share code, notes, and snippets.

@joeblackwaslike
Last active July 5, 2025 12:39
Show Gist options
  • Save joeblackwaslike/752b26ce92e3699084e1ecfc790f74b2 to your computer and use it in GitHub Desktop.
Save joeblackwaslike/752b26ce92e3699084e1ecfc790f74b2 to your computer and use it in GitHub Desktop.
How to use python with the Cursor IDE

How to use python with the Cursor AI IDE

We are going to edit cursors settings to point to the microsoft extensions marketplace.

  1. Remove all extensions and exit Cursor.
  2. Locate your Cursor project.json file depending on your platform and open it.
    • On MacOS: /Applications/Cursor.app/Contents/Resources/app/product.json
    • On Windows: C:\Users\<user_name>\AppData\Local\Programs\cursor\resources\app\product.json
    • On Linux: /usr/lib/code/product.json
  3. Locate the object value for key extensionsGallery in the json document.

Contents of extensionsGallery key in product.json for Cursor

{
    "galleryId": "cursor",
    "serviceUrl": "https://marketplace.cursorapi.com/_apis/public/gallery",
    "itemUrl": "https://marketplace.cursorapi.com/items",
    "resourceUrlTemplate": "https://marketplace.cursorapi.com/{publisher}/{name}/{version}/{path}",
    "controlUrl": "",
    "recommendationsUrl": "",
    "nlsBaseUrl": "",
    "publisherUrl": ""
}
  1. Edit it to look like this:
{
    "galleryId": "cursor",
    "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
    "itemUrl": "https://marketplace.visualstudio.com/items",
    "resourceUrlTemplate": "https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",
    "controlUrl": "",
    "recommendationsUrl": "",
    "nlsBaseUrl": "",
    "publisherUrl": ""
}
  1. Reopen Cursor.app and install the following extensions:
    • ms-python.python
    • ms-python.vscode-pylance
    • ms-python.debugpy
  2. Make sure in your settings that python.languageServer is set to "Pylance"
  3. Re-sign Cursor.app (for MacOS)
codesign --force --deep --sign - /Applications/Cursor.app

Enjoy!

PS: you may need to goto your settings.json to remove any theme settings, because having a broken theme looks exactly like this same problem. In my case cursor had copied over my settings from vscode and they pointed to a theme that wasn't yet installed in cursor, removing and then setting the theme manually worked when I though for sure I had broken it again.

@realdimas
Copy link

Custom extension gallery URLs can be set as of Cursor 1.1.3 (much like Windsurf).

https://forum.cursor.com/t/dbt-extension-not-visible-in-marketplace/107089/9

{
    // <...>
    "extensions.gallery.itemUrl": "https://marketplace.visualstudio.com/items",
    "extensions.gallery.serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
    // <...>
}

Unfortunately, this hasn't been working in 1.2.0 (or 1.2.1):

For some strange reason, the extensions.gallery.itemUrl key is dimmed in the User Settings JSON, i.e., it seems to be unused (unlike in versions 1.1.3+ before the 1.2.0 release).

Setting both keys (and restarting Cursor) results in:

  • Extension gallery searches spin forever and return no results

Updating gallery keys in product.json results in:

  • Extension gallery searches return no results

It seems that the ability to point to a custom extension gallery has been broken since version 1.2.0.

@Ilyas-Malik
Copy link

Amazing @realdimas, your extension repackaging worked for me, no need to roll cursor back
Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment