Lesstep
GitHub Actions · OIDC · Checked November 4, 2026

GitHub Actions: "Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable"

A step asks GitHub for an OIDC token through two variables, ACTIONS_ID_TOKEN_REQUEST_URL and ACTIONS_ID_TOKEN_REQUEST_TOKEN. GitHub sets them only in a job that may have a token, and this job may not. The action stopped before it reached Azure, AWS, Google Cloud or any other service, so the fix is in the workflow file, not in the cloud's trust settings.

What it looks like

Most JavaScript actions ask through core.getIDToken() in @actions/core, which fails with:

Error: Error message: Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable

Some actions say it their own way:

1. id-token: write is not in the job's permissions

jobs:
  deploy:
    runs-on: ubuntu-latest
    permissions:
      id-token: write
      contents: read

To see what the job got, open its "Set up job" step: the "GITHUB_TOKEN Permissions" group lists IdToken: write when the job may ask for a token.

2. A pull request from a fork

For a pull_request run from a fork, the permissions key can add and remove read access but typically cannot grant write access (GitHub's workflow syntax), so id-token: write in the file does not take effect. The exception is a private repository whose admin turned on "Send write tokens to workflows from pull requests". The usual report is a job that passes on branches and fails on every outside pull request, as in Nextstrain's shared CI (nextstrain/.github #178). Ways out:

3. A reusable workflow

A called workflow can only lower the permissions it receives, never raise them (GitHub's documentation on reusing workflows). id-token: write in the called file is not enough when the caller's job does not have it. For a reusable workflow from outside your organization or enterprise, the documentation says to set it in the caller explicitly:

jobs:
  deploy:
    permissions:
      id-token: write
      contents: read
    uses: octo-org/shared-workflows/.github/workflows/deploy.yml@v1

Telling it apart

See failed jobs from IntelliJ IDEA

Pipeline Inbox for GitHub Actions Workflows, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, lists the runs of all your repositories in an IDE tool window, with their jobs and steps, and your current branch's runs are in the status bar. Reading is free; re-running failed jobs, cancelling, running workflows and reviewing deployments are Pro (US$1.50 a month, with a 30-day trial).

Get it on JetBrains Marketplace

GitHub and GitHub Actions are trademarks of GitHub, Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o. Other product names are trademarks of their owners. This page is not affiliated with, sponsored or endorsed by GitHub, Inc. or JetBrains.

More: GitHub Actions OIDC to Azure · GitHub Actions OIDC to AWS · "Resource not accessible by integration" · GitHub Actions plugins for IntelliJ IDEA compared · 日本語