PuppyIP Resource Center
AI Tool Updates 7 min Published 2026-10-14

Cursor Origin App Marketplace: publishing and installation guide

Cursor Origin App Marketplace is open to submissions. Public enables direct-link installation; Listed means Cursor has approved the app for the marketplace. Before submitting, check namespace eligibility, installation and uninstall behavior, default scopes and demo materials.

Cursor Origin App Marketplace Publishing review Installation consent Developer integration

Service eligibility and regional restrictions

PuppyIP serves only compliant overseas businesses and their authorized personnel. Proxy services are not available in mainland China. The service may only be used for lawful business activities outside mainland China. Use of this service within mainland China is prohibited.

Hosting a proxy IP or server overseas does not change these restrictions. The service must not be provided to end users in mainland China through relaying, forwarding, sharing or resale. Before use, read the Terms of Service.

Key Takeaways

  • The October 13 announcement names more than 20 partner apps and opens public submissions. Private supports development within a namespace, Public enables direct-link installation, and Listed means the app appears in the marketplace.
  • App creation depends on the namespace owner’s eligibility, rather than the caller’s plan. A namespace admin sets Visibility to Public in Edit App, with at least one default scope configured.
  • The marketplace install link uses the app_ prefixed app ID as client_id, rather than the slug, and omits scope and redirect_uri. A detailed description and a 5–10 minute demo viewable without signing in are required.
  • Installation tokens cannot exceed approved scopes or repositories. Mirrors support only five specified read or sync scopes. Additional permissions require re-consent, Manage changes repositories only, and unlisting leaves existing installs working.

Separate public submissions, Public apps and Listed apps

On October 13, 2026, Cursor opened Origin App Marketplace to public submissions. Its announcement names more than 20 partner apps covering deployments, CI, code review, security, monitoring and project management, including Cloudflare, Linear and Sentry. This guide covers the process for developers publishing an Origin app.

A new app starts as Private, so only its own namespace can view and install it. Public lets other Origin teams install it through a direct link, but does not place it in the marketplace. The app becomes Listed after Cursor’s approval. The Origin API reference also identifies the API as Early Beta and subject to change; review the OpenAPI specification when updating an integration.

Create App requires a user access token and namespace:apps:create. Eligibility belongs to the namespace owner: an individual must have Pro, Pro Student, Pro+, Ultra or Start. A team must have an active paid team plan, must not use Privacy Mode (Legacy), and must not have Origin disabled by a team admin. An ineligible owner returns FailedPrecondition with HTTP 400. A paid plan held by the caller does not replace the owner check.

Make the app Public and check the marketplace install flow

Create a private app in your own namespace and complete development checks there. A namespace admin then opens Edit App in its settings and sets Visibility to Public. A public app needs at least one default scope. Request the minimum permissions needed for the product, then check direct-link installation outside the development namespace.

The marketplace flow uses the /codebase/apps/install path. Set client_id to the app ID beginning with app_, rather than the marketplace slug. The official template also includes source=app-metadata and returnTo=/codebase/settings/apps; see the publishing documentation below for the complete template. Omit scope and redirect_uri, which start a partner-initiated installation instead of the marketplace flow.

The user consents to the default scopes, and Origin redirects to the app’s first configured redirect URI. The public marketplace detail page works only after the app is Listed. A slug page for an app awaiting approval is therefore not the place to verify Public installation. Check these distinct page roles when configuring callbacks and preparing the demo.

Prepare a detailed description and an accessible demo

Once the app is Public, a namespace admin selects Submit to marketplace. A detailed app description and a demo video of about 5–10 minutes are required. The video must be viewable without signing in. The slug and suggested tags are optional, but the slug cannot be changed after listing. The approval checklist also requires compliance with Origin’s brand guidelines.

Every demo must show the main product flows, installation from Origin with consent to default scopes, the return to the product, and Installed shown on both sides. Installation must work for a personal namespace and a team, and with both all repositories and selected repositories. Showing only the developer’s own configuration does not cover those required flows.

Show uninstall from both sides. After uninstalling in Origin Apps, the product must show it is disconnected and stop receiving webhooks; use product logs or event history if the UI does not expose this. Disconnecting from the product must remove the installation from Origin Apps. Demonstrate installation from your site, new and existing user accounts, repository linking, and scope upgrades only if your app supports those flows.

Keep app JWTs, installation receipts and access tokens distinct

An app signs a short-lived app JWT with its Ed25519 private key, then exchanges the JWT and installation ID for a short-lived installation access token. The app JWT handles app-level operations. The installation token handles API and Git operations within the approved repository grant; it cannot add unapproved scopes or repositories. Register only the public key, keep the private key in a secrets manager, and never log tokens.

The installation_receipt in the callback proves the approval came from Origin. Verify its signature, issuer, app audience and expiry; for a partner-initiated install, also check the state generated before redirecting. Store the verified installation ID and mint an installation token. The receipt is not a Bearer access token, and a Cursor API key is not an Origin Bearer credential. Do not substitute a form or chat request for users to paste these secrets in place of installation consent.

Even when selected for an installation, a mirrored repository supports only repository:metadata:read, repository:members:read, repository:contents:read, repository:mirror:read and repository:mirror:sync. Other scopes return 403 on that repository regardless of the admin’s approved grant. Pull requests, review comments, checks and other writes cannot be handled as though the mirror were a native Origin repository. Successful cloning or reading does not establish permission to push or post checks.

Request additional scopes through re-consent

When an installed app needs more scopes, send the workspace admin back to the installation page with the additional permissions. Origin does not prompt them automatically. Set include_granted_scopes=true to preserve existing grants and request only additions. Without that flag, the scope parameter replaces the grant. Prepare this re-consent flow separately from the initial marketplace flow, which omits scope and redirect_uri.

The consent page shows New Permissions and Granted Permissions, with a Reinstall button. It updates the same installation. After approval, both sides should show Installed with the new scopes; cancellation preserves the old scopes. This page can also switch between all and selected repositories. Manage in Origin Apps changes repositories only, rather than scopes.

An actual change to scopes or repositories automatically sends installation.updated to the app’s webhook, without a separate subscription. If nothing changes, no update event is sent. When checking the product’s saved authorization, reopening the page or receiving a callback alone does not prove that additional permissions were granted.

Track review and distinguish unlisting from uninstalling

Cursor reviews every submission. It sends a confirmation email after submission and another email when the app is listed. The submission form, confirmation email and Public status do not replace Listed status. The reviewed materials establish no approval deadline, publishing fee, complete country list or guarantee that an individual account will succeed; leave those questions open when planning a launch.

Hypothetical, unexecuted example: a CI app posts check runs to a native Origin repository. Its demo could cover that product flow, personal and team installation, both repository-selection modes, and uninstall from either side, while handling mirror-related 403 responses separately. This is a design example only. No app was created, integration installed, Origin API called or successful demo recorded for this article.

Unlisting an app or changing it to Private hides it from the marketplace while existing installs keep working. Changing a formerly Listed app from Private back to Public does not relist it automatically; submit it again. If the goal is to disconnect an integration, follow the uninstall flow and check both sides. Hiding the listing does not revoke an existing installation.

Sources

Frequently Asked Questions

Why can Create App return FailedPrecondition when I have Pro?

The eligibility check applies to the namespace owner, rather than the person making the request. Check whether the target is personal or a team, then check that owner’s plan, team Privacy Mode (Legacy), and whether an admin has disabled Origin. The reference identifies an ineligible owner as HTTP 400. This article did not inspect your account.

Why do checks return 403 on a mirror even after the admin approves writes?

An installation can use only the five specified read or sync scopes on a mirrored repository. Approving additional scopes does not override that restriction. Checks, pull requests, comments and writes are rejected. Distinguish mirrors from native Origin repositories rather than treating repeated consent as proof that writes are available.

Can a Public app use its slug to open the marketplace detail page?

The public marketplace detail page works only after the app is Listed. During Public development, check the direct link using the official marketplace install template: client_id is the app ID, rather than the slug, and scope and redirect_uri are omitted. Check the marketplace listing and detail page after approval.

Do open submissions mean publishing is free, available everywhere or quickly approved?

No. The announcement opens submissions, the publishing guide requires review of each app, and the API reference specifies namespace-owner eligibility. The reviewed materials do not establish publishing fees, full regional availability, an approval SLA or an account success guarantee. Confirm those separately.