Organization-level plugin marketplaces — configure and govern plugins across all teams, not team by team

Feature request for product/service

Describe the request

Problem

Plugin marketplaces are owned by a single team. In an organization with several
teams, there is no way to make a marketplace available org-wide — an admin has
to configure the same marketplace separately in every team.

That per-team loop is worse than it sounds. Being an org admin isn’t enough to
add a marketplace to a team: you first have to add yourself to that team, then
fix up your role there (joining as an admin still lands you as a member), and
only then can you add the marketplace. Repeat for every team. So rolling out one
approved marketplace means an org admin granting themselves membership and admin
rights across the whole organization, which is both tedious and the opposite of
what least-privilege access is supposed to look like.

Organization Groups don’t close this gap either. Per the docs, “a marketplace
stays scoped to its owning team: selecting a group grants access only to group
members who also belong to that team.” A group can narrow access within a team,
but it can’t extend a marketplace across teams.

This is the one place where Cursor’s org/team hierarchy doesn’t carry through.
Organizations are documented as “the top-level container” that “sit above
teams,” and org admins are distinct from team admins — but marketplace
ownership stops at the team, and org admin rights don’t reach it.

Why it matters

  • Admin work that scales with team count, and requires self-elevation.
    Every new team means re-joining, re-elevating, and re-adding; every change to
    the approved marketplace set means another pass across all of them.
  • Drift. Nothing keeps per-team configurations in sync, so teams silently
    diverge on which plugins they have and which installation modes
    (Default Off / Default On / Required) are set.
  • No org-wide governance story. Security review approves a plugin set for
    the company, but there’s no single object to attach that decision to and no
    single place to verify it’s actually in effect everywhere. The related
    controls (Allowed extensions, Marketplace Install Cooldown, Require Extension
    Signature Verification) are also team-scoped or MDM-only, so the same problem
    shows up there.
  • Onboarding a new team starts from zero instead of inheriting the
    organization’s approved baseline.

Request

An organization marketplace: a marketplace owned by the organization rather
than by a team, available to every team by default.

Ideally it would include:

  1. Org admins can add/manage marketplaces at org scope — without joining
    individual teams — with plugin installation modes
    (Default Off / Default On / Required) set once for the whole organization.
  2. Optional scoping to a subset of teams or Organization Groups, without
    requiring that the member also belong to a specific owning team.
  3. A clear precedence model between org-level and team-level marketplaces, so
    teams can add their own on top of the org baseline without being able to
    remove a Required org plugin.
  4. The same org scope for the adjacent governance controls (allowed extensions,
    install cooldown, signature verification), so plugin policy is auditable in
    one place.

Even just #1 would remove most of the pain.

Current workaround

For each team: join it, promote myself to team admin, add the marketplace, and
keep the settings in sync by hand from then on. Related:

— an Admin API would make that scriptable, but it’s a different ask; this one is
about the missing org-level object rather than automating the per-team loop.

Hey @rogue-yuval!

Thanks for the detailed writeup.

One correction: org admins should now be able to manage a team’s marketplace from the dashboard without joining the team. If you’re still being forced to join and then re-promote yourself, that’s an issue we’d like to hear about!

Making a single marketplace available across all teams in an organization isn’t supported yet, but it’s a request we’re tracking, and I’ve added your feedback to it.