Cursor 2.6: Team Marketplaces for Plugins

New in Cursor! · Full changelog · Main announcement

Admins on Teams and Enterprise plans can now create team marketplaces to share private plugins internally!

How it works:

Team marketplaces let you import a GitHub repository of plugins and distribute them to your team. Go to Dashboard → Settings → Plugins, click Import under Team Marketplaces, paste a GitHub repo URL, and review the parsed plugins. Admins can also set Team Access groups to control who sees what, then name and save the marketplace.

Teams plans support up to 1 team marketplace, and Enterprise plans support unlimited marketplaces! You can try it out with the cursor-team-marketplace-template repo!

We’d love your feedback!

  • How are you planning to use team marketplaces for your organization?
  • What governance or access control features would be most valuable?
  • Are there other plugin distribution workflows you’d like to see supported?

If you’ve found a bug, please post it in Bug Reports instead, so we can track and address it properly, but also feel free to drop a link to it in this thread for visibility.

Are team marketplaces only supporting GitHub public repos? If I have a GitHub entperprise internal repo can I use it for my internal plugin source if it requires authentication?

Awesome to hear about Team Marketplaces coming along! Is Github the only platform supported right now? Any support for Gitlab or generally other Git managed repos?

Right now, only GitHub is supported. GitLab is not supported yet.

Is there a plan for Team Marketplace to support plugins from other repos in github like Claude? I’m currently looking at consolidating marketplace definitions for Cursor and Claude to the same repo.

Example:
.cursor_plugin/marketplace.json:

{ "name": "jSwoord marketplace",
 "plugins": [
    {
        "name": "exmaple-plugin-1",
        "description": "This is an example plugin",
        "version": "1.0.0",
        "source": "./plugins/example-plugin-1"
    },
    {
        "name": "example-plugin-2",
        "description": "This is another example plugin",
        "version": "1.0.0",
        "source": {
            "type": "github",
            "owner": "jswoord",
            "repo": "example-plugin-2",
        }
    }
    ]
 }

`example-plugin-2` does not index currently, even if Cursor has access to that repo from the github integration

Hi, thanks for the 1st step to closing the gap for marketplaces!
Could you please let us know whether support for non-public GitLab repositories (as a marketplace) is planned? If so, is there an approximate timeline you can share?

Hi team, how do we publish updates to the plugin? The team marketplace allowed us all to install a skill via the plugin but now we can’t update it. Tried uninstalling and reinstalling from the marketplace after pushing an update to the skill in the git repo. Do we need to do something on the admin dashboard to release a new version?

+1 to Sean’s comment - is there a way to update and add plugins without admin intervention? Right now, if I want to publish a new plugin in my team’s marketplace, I need to notify my organisation’s admin to update via the cursor admin panel (this is an assumption btw, I have not tested actually pinging the admin yet, but I can confirm we aren’t getting updates).

This causes some friction: our team cannot quickly iterate and rollout new plugins that will help each other. An alternative for us is to grant Admin permissions to certain people to speed up the process, but we do not want to do this as it’s risky to hand out Admin permissions too much.

Bumping this question up.
Is this supported now?

Like others, we would like to use private marketplaces, from self-hosted GitHub Enterprise instance. In a similar way to Claude Code.

@amoravec @bhavan0 @MichalAugustyn

GitHub Enterprise should be supported now (we recently pushed some fixes). Make sure you’ve registered a GHE app at https://cursor.com/dashboard?tab=integrations and that the app is installed in your organization (these are two separate steps)

@Sean_Hughes @alex123

When viewing Team Marketplace settings, an admin can configure “Enable Auto Refresh”, so that changes from the repo that holds your marketplace data trigger a refresh!

Thank you! But looks like self-hosted GitHub Enterprise cannot be added, right? If it can be added, could you please point me to a documentation how to setup the integration with it, please?

@jSword Not right now! We’ll continue to iterate on what’s possible with team marketplaces, and we know this is a limitation at the moment.

@MichalAugustyn As a standard user, you won’t see any configuration about it. Your Team Admins, however, will see the configuration under the Integrations tab.

Thank you for the information. Could you please share a documentation around this? Specifically, I would like to understand how the Cursor backend will communicate with the self-hosted GitHub Enterprise instance that is not accessible from the internet. For example, what should be setup in the GHE, and network considerations. Thanks!

Thanks for the reply @Colin, what kind of updates trigger the auto-refresh? I bumped the version in the plugin.json and updated a SKILL.md file but it didn’t detect the change unless I manually hit the refresh button under the Plugin Repository section.

Auto-refresh is triggered by GitHub push webhooks. For it to work, the Cursor GitHub App needs to be installed on the GitHub org that hosts your marketplace repo, and it needs to have access to that repo so it can send push webhooks to Cursor. Once that’s in place, pushing to the tracked branch will automatically re-index your plugins.

I’m curious, because I’m having the same issue. It doesn’t seem that Cursor, the IDE, fetches the marketplace repo at a reliable cadence. @Colin The cursor dashboard discovers new plugins and skills just fine, near instantly, its just that the IDE does not update its version of the repo locally.

@Colin Our admin tried to add a marketplace from a GitHub repo from our on-prem GHE instance, and it ended with HTTP 500 error without any additional context.
I guess we have to connect our on-prem GHE instance with Cursor first, but we cannot find any documentation on this :frowning: