Temporary workaround: publish VS Code extensions with an organization-scoped PAT
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 45/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- markdown
- Domain
- documentation
Research direction
The issue provides the complete temporary workaround and says it should remain separate from the publishing docs; no target file or test is named. Read the linked discussion in microsoft/vscode-docs#10519 and the documentation work in #10517 to understand the placement decision and long-term guidance. Done means recording or maintaining this workaround separately without presenting PAT-based publishing as the recommended long-term approach.
Written by the indexing model from the issue text.
Description
Context
Azure DevOps is retiring global personal access tokens (PATs) on December 1, 2026. These are the tokens created with Organization: All accessible organizations, as described in the existing VS Code extension publishing instructions. Publishers who use a global PAT need to replace it to continue publishing.
Important: An organization-scoped PAT can serve as a temporary workaround. PAT-based publishing is not the recommended long-term approach. This issue records the workaround separately from the publishing docs, in line with Lynn Dai's guidance.
Temporary workaround
-
Sign in to the Azure DevOps portal with the same Microsoft account that has publishing access to your Marketplace publisher.
-
Select any Azure DevOps organization you belong to. If you do not belong to one, create an organization.
Marketplace publishers are not linked to Azure DevOps organizations. The organization is needed to create the PAT; it does not need to correspond to your Marketplace publisher. Marketplace authorizes the account that owns the token, so that account must have access to publish for your publisher.
-
Open User settings > Personal access tokens, then select New Token.
-
Configure the token:
- Name: enter a descriptive name.
- Organization: select a specific organization you belong to, not All accessible organizations.
- Expiration: choose an appropriate expiration date.
- Scopes: select Custom defined, then Show all scopes. Under Marketplace, select Manage.
-
Select Create and store the token securely. Do not share it in this issue or commit it to source control.
-
Verify access without publishing an extension:
npx @vscode/vsce verify-pat <publisher-id> -p <PAT>Replace
<publisher-id>with your Marketplace publisher ID and<PAT>with the new organization-scoped token.Security caution: Passing a token on the command line can expose it in shell history or process arguments. Run this only in a trusted environment and do not share terminal output containing credentials.
-
Use the new token in place of the global PAT in your existing publishing workflow. For an interactive workflow, run
vsce login <publisher-id>and enter the new token when prompted. For automation, update the stored publishing secret.
If verification returns 401 Unauthorized or 403 Forbidden, check that the PAT has Marketplace > Manage scope and that the account that created it has publishing access to the specified publisher.
Long-term direction
Trusted Publishing enables publishing without a PAT and is the intended long-term direction. See the documentation work in microsoft/vscode-docs#10517 and follow the published guidance once it is available. This issue does not promise a release date or continued long-term support for PAT-based publishing.
Related discussion:
- microsoft/vsmarketplace#2121: global PAT retirement and extension publishing.
- microsoft/vscode-docs#10519: proposed organization-scoped PAT instructions and the decision to keep this temporary workaround out of the docs.
- Dominant language
- Markdown
- Stars
- 6.7k
- Forks
- 5.8k
- Avg merge
- 12h 41m
- Merged PRs (30d)
- 140
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/vscode-docs
-
Document plugin, customization, and MCP deep links missing from the guidesPossibly taken @LuckysHorizon claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/vscode-docs#10534 · 1 comment ·
Maintainers usually reply within 1 day
-
Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds (span:nth-child(6)):A11y_code.visualstudio.com_AI4WPossibly taken @ntrogh claimed this 18 days ago. Open
microsoft/vscode-docs#10424 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
idea
Difficulty 3/5 1-2 days Newbie friendliness 45/100
microsoft/vscode-docs#10216 · 1 comment ·
Maintainers usually reply within 1 day
-
Tie feature update/creation with corrected/available documentation before release.May be free again @ntrogh claimed this 156 days ago, and no pull request is open. Opendocs-experience
microsoft/vscode-docs#9761 · 1 assignee ·
Maintainers usually reply within 1 day
-
[feat] Add leading paragraph "Changes In Settings" to release notesMay be free again @ntrogh claimed this 171 days ago, and no pull request is open. Openfeature-request
microsoft/vscode-docs#9742 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
All issues in microsoft/vscode-docs
Similar issues
-
sync-en
Difficulty 1/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 2 days
-
macOS: a double-click on a notarized altairsim is refused, and the docs give only the offline casePossibly taken @anhaoXie claimed this today. Opendocumentation
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
openclaw/openclaw#182077 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
effort:s impact:low raised-by:reviewer risk:low
Difficulty 1/5 Under an hour Newbie friendliness 84/100
medici-finance/assay#4251 · 1 comment ·
Maintainers usually reply within 1 day