Skip to content
Latchkey

GitHub Actions softprops/action-gh-release "Resource not accessible by integration"

Creating a GitHub release requires the workflow token to have contents: write. With the default read-only token, softprops/action-gh-release gets a 403 when it tries to create the release or upload assets.

What this error means

An action-gh-release step fails with "Resource not accessible by integration" while creating the release or uploading assets.

github-actions
Error: Resource not accessible by integration
  HttpError: Resource not accessible by integration (createRelease)

Common causes

Default token is read-only

Repositories with the default read-only GITHUB_TOKEN do not allow release creation without an explicit contents: write grant.

Triggered from a fork

Pull requests from forks get a read-only token regardless of permissions, so release creation is blocked.

How to fix it

Grant contents: write

  1. Add permissions: contents: write to the job (or workflow).
  2. Run release jobs on push/tag events, not fork PRs.
  3. Confirm the tag/ref the release targets exists.
.github/workflows/release.yml
permissions:
  contents: write
steps:
  - uses: softprops/action-gh-release@v2
    with:
      files: dist/*

How to prevent it

  • Set least-privilege permissions explicitly per job.
  • Gate release jobs to trusted triggers, not fork PRs.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →