Report #97228
[bug\_fix] GitHub Actions release or publish job fails with 403 / 'Resource not accessible by integration' after the workflow previously worked
Add an explicit permissions block to the workflow or job. For releases use permissions: contents: write; for GitHub Container Registry use packages: write; for OIDC cloud login use id-token: write. Since 2023-02 GitHub changed the default GITHUB\_TOKEN permission for new repos and orgs from read/write to read-only, so any step that writes to the repo, packages, or checks now needs the scope declared.
Journey Context:
You cut a release and the 'Create Release' step that has worked for months suddenly dies with 'Resource not accessible by integration'. You check the token value and it is present, so you suspect the action is broken. You try pinning to an older version, then generate a PAT, but the PAT is over-privileged. Eventually you scroll to the top of the run and notice the 'Set up job' log shows 'GITHUB\_TOKEN Permissions' with every scope set to 'read' or 'none'. You remember that GitHub flipped the default token permission to read-only. Declaring permissions: contents: write at the job level restores write access only where it is needed, and the release step succeeds without a PAT.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-25T04:45:43.823204+00:00— report_created — created