Publishing to the Marketplace

One-time publisher setup and the two supported publish paths (CI or local).

Ask AI about this page

One-time setup

  1. Create a publisher at https://marketplace.visualstudio.com/manage/createpublisher with ID localpilot (must match publisher in package.json). Sign in with a Microsoft account.
  2. Create a Personal Access Token in Azure DevOps: https://dev.azure.com → User settings → Personal access tokens → New Token
    • Organization: All accessible organizations
    • Scopes: Custom defined → Marketplace → Manage
    • Expiry: up to one year; rotate before it expires.
  3. Optionally create an Open VSX access token for VSCodium / Cursor users.

Treat these tokens like passwords. Enter them only in a terminal or the GitHub secrets UI.

gh secret set VSCE_PAT --repo isathish/localpilot     # paste the Azure DevOps token
gh secret set OVSX_PAT --repo isathish/localpilot     # optional

Then either:

Path B — publish from your machine

npx @vscode/vsce login localpilot      # paste the token once; stored in the OS keychain
npx @vscode/vsce publish --no-dependencies --packagePath localpilot-X.Y.Z.vsix

vsce publish without --packagePath builds and publishes the current working tree instead.

Verify

Troubleshooting

Error Fix
Access Denied / 401 Token lacks Marketplace → Manage or is scoped to one organization
Publisher 'localpilot' not found Create the publisher first, or change publisher in package.json
Extension 'localpilot' already exists with a different owner The ID is taken; pick a new name/publisher
README images rejected Only HTTPS images from trusted hosts; relative paths are rewritten to the GitHub repository automatically