# npm trusted publishing GitHub Actions protected environments npm provenance environment claim mismatch

Status: search-observed
Product: npm registry
Last verified: 2026-06-25
Canonical HTML: https://gitdocs.org/fix/npm-trusted-publishing-github-actions-protected-environments-npm-provenance-environment-claim-mi
Machine JSON: https://gitdocs.org/api/fixes/npm-trusted-publishing-github-actions-protected-environments-npm-provenance-environment-claim-mi.json

## Exact Symptom

See the observed Codex queries below.

## Diagnosis

Credentials and issuer rules live outside the codebase; the same local 401 can mean revocation, expiry, scope, audience, or provenance drift.

## Fix

```
Verifier validates the new authentication flow, token class, and claims rather than accepting a hard-coded secret. For publish probes, verify provenance and package identity as well as authentication.
```

## Avoid

- Changing local code without checking the current external contract.
- Retrying the same install, build, or API call with no version/source change.
- Applying a broad unsafe bypass when a narrow compatibility fix is available.

## Observed Codex Queries

- npm trusted publishing GitHub Actions protected environments npm provenance environment claim mismatch
- docs.npmjs.com trusted publishing GitHub Actions environment protected environment npm publish OIDC
- npm trusted publishing docs GitHub Actions OIDC workflow file environment
- https://docs.npmjs.com/trusted-publishers
- 'environment' in https://docs.npmjs.com/trusted-publishers

## Sources

- npm classic tokens revoked; session auth and CLI token management: https://github.blog/changelog/2025-12-09-npm-classic-tokens-revoked-session-based-auth-and-cli-token-management-now-available/
- Official reference opened by Codex: https://docs.npmjs.com/trusted-publishers
