---
title: "npm adds stage-only tokens to separate package preparation from release approval"
description: "The September 18 update lets automation submit a version for review without directly publishing it. The token still retains other package write permissions."
url: https://kurddevelopers.com/en/news/npm-stage-only-token-review-before-publish-september-2026
language: en # English
type: news
published: 2026-09-19T12:00:00.000Z
updated: 2026-11-04T01:54:47.000Z
author: "Osamah Ismail"
author_url: https://kurddevelopers.com/en/author/1
section: "Programming"
tags: ["npm","GitHub","package security","staged publishing"]
sources: ["GitHub — September 18 stage-only tokens announcement","npm Docs — staged publishing"]
image: https://kurddevelopers.com/uploads/2026/11/653313824-8dc47edb-2d82-40f9-bfc5-bdf0f0e4d09f-d352d010.jpg
translations:
  ku: https://kurddevelopers.com/news/npm-stage-only-token-review-before-publish-september-2026
  ar: https://kurddevelopers.com/ar/news/npm-stage-only-token-review-before-publish-september-2026
publisher: Kurd Developers
publisher_url: https://kurddevelopers.com/
---

# npm adds stage-only tokens to separate package preparation from release approval

> The September 18 update lets automation submit a version for review without directly publishing it. The token still retains other package write permissions.

![Official illustration for staged npm publishing. Credit: GitHub.](https://kurddevelopers.com/uploads/2026/11/653313824-8dc47edb-2d82-40f9-bfc5-bdf0f0e4d09f-d352d010.jpg)

npm has added a Read and write (stage only) option for granular access tokens, according to GitHub's September 18, 2026 announcement. This September 19 report examines the separation between preparing a package and releasing it: automation submits a version using `npm stage publish`, then a package maintainer reviews and approves publication with two-factor authentication.

npm rejects a direct `npm publish` attempt made with that token. However, the token retains other package write permissions, including moving dist-tags and deprecating versions. It should not be treated as a read-only credential.

## A review step needs a defined purpose

From a team's perspective, the design can leave package preparation to automation while keeping the release decision with a responsible maintainer. But that review needs substance. Clicking approve without examining the result provides different evidence from checking the actual package against an intended change.

In a hypothetical review process, a team could inspect the package name, version number, included files and relationship to approved changes. These are suggested checks, not findings from an inspection of a specific package. Their purpose is to make the reviewer's job understandable before a release is waiting.

Ownership matters as well. The team should know who reviews a staged version and what happens if that person is unavailable. A new boundary in the release process changes the daily workflow, rather than merely replacing one command in an automation file.

It is also useful to distinguish an approval from a guarantee. A human decision can provide a deliberate checkpoint, but its quality depends on the evidence presented and the attention given to it. A documented purpose makes that decision easier to assess later.

## Replacing a token is only part of migration

Before changing the workflow, a team can identify where its publishing credential is used and which release operations depend on it. A limited trial can then establish whether the intended version reaches the review stage and whether the final release follows the expected decision.

The remaining write permissions deserve explicit attention. Blocking direct creation of a new version does not remove the effect of every write operation: tags and deprecation status also affect how package users encounter releases. Understanding that boundary is more precise than treating the change as a blanket safety guarantee.

The feature is opt-in and does not automatically alter existing tokens or their direct-publishing capabilities. Reading the announcement therefore cannot establish that a particular project's automation has migrated. The relevant evidence is its actual configuration and observed behaviour. This report does not claim to have migrated or tested a live publishing workflow.

## Sources

- [GitHub — stage-only tokens, September 18](https://github.blog/changelog/2026-09-18-stage-only-npm-tokens-for-safer-automation/)
- [npm Docs — staged publishing](https://docs.npmjs.com/staged-publishing/)

**Sources:** GitHub — September 18 stage-only tokens announcement, npm Docs — staged publishing

---

Published by [Kurd Developers](https://kurddevelopers.com/) on 2026-09-19. Cite as: “npm adds stage-only tokens to separate package preparation from release approval”, Kurd Developers, https://kurddevelopers.com/en/news/npm-stage-only-token-review-before-publish-september-2026
