Summary
In the Cursor desktop app, Customize → Plugins → Browse Marketplace → Add Marketplace → Import from GitHub creates a personal marketplace that is never indexed. The dialog loads for a moment, closes without an error, and no plugins appear anywhere. It reproduces with this repository (cursor/plugins) and with the template linked from the docs, so it does not depend on the manifest layout.
Environment
- Cursor 3.22.7 (stable), macOS arm64
- Personal account, no team
Steps to reproduce
- Open Customize → Plugins → Browse Marketplace.
- Choose Add Marketplace → Import from GitHub.
- Enter
https://github.com/cursor/plugins and confirm.
Expected
The marketplace appears under Personal with its plugins available to install, or the dialog shows an error.
Actual
- The dialog closes with no error and no plugin list.
- Nothing appears under Personal and no plugin can be installed.
- Nothing is cloned under
~/.cursor/plugins/marketplaces/.
- The client logs show no error.
What the server has
ListMarketplaces for my account shows one personal marketplace row per import attempt. Each has only name and gitUrl: there is no gitRef, lastIndexedAt or lastIndexedCommitSha, and ListMarketplacePlugins returns 0 plugins for them. Calling RefreshMarketplace on one returns no error and still indexes 0 plugins.
For comparison, personal marketplaces created through the automatic Claude Code marketplace import on the same account do have gitRef, lastIndexedAt and indexed plugins. That path calls RegisterMarketplaceAndPlugins with the parsed plugins. The Import from GitHub path appears to call AddMarketplace with only name and gitUrl, and nothing indexes the repository afterwards.
ParseGitHubRepoForPlugins parses the same repositories correctly (marketplace name, commit SHA, plugins with skills and MCP servers), so the server can read them.
Also reproduces with
https://github.com/fieldsphere/cursor-team-marketplace-template (the example in the docs, which uses pluginRoot)
https://github.com/dtwoai/plugins (plugin in a subdirectory, "source": "dtwo")
Related
Summary
In the Cursor desktop app, Customize → Plugins → Browse Marketplace → Add Marketplace → Import from GitHub creates a personal marketplace that is never indexed. The dialog loads for a moment, closes without an error, and no plugins appear anywhere. It reproduces with this repository (
cursor/plugins) and with the template linked from the docs, so it does not depend on the manifest layout.Environment
Steps to reproduce
https://github.com/cursor/pluginsand confirm.Expected
The marketplace appears under Personal with its plugins available to install, or the dialog shows an error.
Actual
~/.cursor/plugins/marketplaces/.What the server has
ListMarketplacesfor my account shows one personal marketplace row per import attempt. Each has onlynameandgitUrl: there is nogitRef,lastIndexedAtorlastIndexedCommitSha, andListMarketplacePluginsreturns 0 plugins for them. CallingRefreshMarketplaceon one returns no error and still indexes 0 plugins.For comparison, personal marketplaces created through the automatic Claude Code marketplace import on the same account do have
gitRef,lastIndexedAtand indexed plugins. That path callsRegisterMarketplaceAndPluginswith the parsed plugins. The Import from GitHub path appears to callAddMarketplacewith onlynameandgitUrl, and nothing indexes the repository afterwards.ParseGitHubRepoForPluginsparses the same repositories correctly (marketplace name, commit SHA, plugins with skills and MCP servers), so the server can read them.Also reproduces with
https://github.com/fieldsphere/cursor-team-marketplace-template(the example in the docs, which usespluginRoot)https://github.com/dtwoai/plugins(plugin in a subdirectory,"source": "dtwo")Related
gitReforlastIndexedAt, andagent plugin marketplace updatereports 0 plugins. That report attributes it to"source": "./", but the repositories above use subdirectory sources and fail the same way.