I’m trying to understand how plugin updates work in Cursor, and I wanted to check if I’m missing something.
I have an installed plugin, but I couldn’t find:
A way to view the installed plugin version.
An option or command to update an installed plugin.
Any indication that a newer version of the plugin is available.
For example, if a plugin author publishes a new release on GitHub:
Does Cursor automatically update the installed plugin?
Is there a manual update command or workflow?
Or is the recommended approach to uninstall and reinstall the plugin?
It would also be helpful to know the installed plugin version so users can verify whether they’re running the latest release or an older one.
I checked the available commands and plugin UI but couldn’t find anything related to plugin version management or updates, so I wanted to confirm whether this functionality already exists or if I’m overlooking something.
How plugin updates work. Installed plugins update automatically. There’s no separate update command and you don’t need one. The client re-fetches your plugin list on startup and when the window gets focus again, re-resolves each plugin to the latest published revision, downloads the new version into the cache, and removes the old one. So after a restart or refocus, updates come in on their own.
About a new GitHub release. Publishing a new release does not update the official Marketplace plugin right away. Every update in Cursor Marketplace goes through a manual review before it’s published: Marketplace security | Cursor Docs. After Cursor publishes it, clients will pick it up automatically. Because of this review step, the marketplace build can lag behind upstream sometimes. One more detail: for personal plugins added via /add-plugin <github-url>, there’s a known bug where the plugin gets pinned to the commit from when you added it, and Update/Reinstall just reinstalls the same snapshot instead of pulling the latest commit. There’s no ETA for a fix yet.
Team marketplaces GitHub import. An admin can enable Auto Refresh which requires the Cursor GitHub App, or click Refresh manually in the dashboard. After re-indexing, clients will pick it up on the next focus or restart. Important: Auto Refresh picks up updates to existing plugins, but it won’t discover new plugins added to the repo. For new ones, you need to import again via the re-import URL. Re-indexing runs at most once every 10 minutes, and multiple pushes in that window collapse into the latest commit. For ADO repos, Auto Refresh is currently unreliable, so use manual Refresh from an admin. More details: Plugins | Cursor Docs.
I don’t recommend uninstall and reinstall. That’s not the intended workflow.
About version info. You’re right. There’s currently no UI showing the installed version or an update available indicator. It’s in the backlog as a feature request, with no ETA. On disk, you can check the installed revision by the folder name in ~/.cursor/plugins/cache/<marketplace>/<plugin>/<ref>/, where <ref> is the git commit SHA. You might also see a semver version inside plugin.json or package.json.
If anything behaves differently than described, let me know and we’ll take a look.
Hi, thanks for the detailed explanation. That clears up how updates work for Marketplace plugins.
I have one follow-up question regarding plugins that are not published to the official Cursor Marketplace.
Suppose I maintain a plugin exclusively in a GitHub repository and install it using its GitHub URL (without ever submitting it to the official Marketplace). If I make changes to the plugin, bump the version, and push the updates to GitHub:
Will Cursor automatically fetch those latest changes on restart or when the window regains focus?
Or, due to the current GitHub plugin pinning behaviour, will it continue using the original commit until the plugin is re-added?
If automatic updates are not supported for GitHub-only plugins, is there any recommended workflow for distributing updates without publishing to the official Marketplace?
Hey, good question. There’s a nuance here. For GitHub-only plugins installed via /add-plugin <github-url> without publishing to the official Marketplace, the behavior right now isn’t the same as for Marketplace plugins.
Auto-update on restart or focus: unfortunately, no. Because of the current pinning behavior, the plugin stays pinned to the commit it had when you added it. It won’t pull new commits or releases from GitHub on its own.
Re-adding doesn’t help either: running /add-plugin again, or using Update or Reinstall, installs the same snapshot, not the latest commit. This is a known bug on our side.
Recommended workflow to ship updates without the official Marketplace: use the team marketplace with import from GitHub. Updates work correctly there. An admin can enable Auto Refresh, which requires the Cursor GitHub App, or click Refresh manually in the dashboard. Then clients pick up changes on the next restart or focus. Re-indexing runs no more often than once every 10 minutes. For ADO repos, Auto Refresh is still unstable, so manual Refresh is more reliable. More details: Plugins | Cursor Docs
Small note: Auto Refresh picks up updates to existing plugins, but it doesn’t detect new plugins added to the repo. For new ones, you need to import again via re-import URL.
If anything behaves differently, let me know and we’ll take a look.