GitHub Actions: Error: Input required and not supplied: token
An action needs an input (token, ssh-key, api-key…) and the with: value is empty or missing — often because the secret does not exist.
Input required and not suppliedError: Input required and not supplied: tokenInput required and not supplied: ssh-keyInput required and not supplied: github_tokenInput required and not supplied: path Meaning
The message names the missing input. The value usually comes from ${{ secrets.NAME }}; if the secret is not defined, spelled differently, scoped to another environment or not available on forks, GitHub substitutes an empty string and the action fails. Check names and scopes first.
Common causes
- Secret not created, or created in another repository/environment
- Secret name differs (case-sensitive) from the reference
- Run triggered by a fork or Dependabot (secrets withheld)
- Wrong input name for that action version
- Reusable workflow not receiving the secret (
secrets: inheritmissing)
⚡ Quick fix
- Check Settings → Secrets and variables for the exact name
- Compare the
with:key with the action's README for your version - For reusable workflows pass secrets explicitly or use
secrets: inherit
Detailed fix by platform
GitHub Actions
- Debug without printing the secret: `run: test -n "$X" && echo set
- echo MISSING
withenv: X: ${{ secrets.NAME }}`
Code examples
Pass the input from a secret
- uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }} # built in, always defined
deploy_key: ${{ secrets.DEPLOY_KEY }} # must exist in Settings → SecretsHow to diagnose
- Name — Exact secret and input names?
- Scope — Repo, environment or organization secret?
- Origin — Fork or Dependabot run?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- API rate limit exceeded GitHub Actions: HttpError: API rate limit exceeded for installation ID 123456 / secondary rate limit
- Cache not found / Unable to reserve cache GitHub Actions: Cache not found for input keys: npm-Linux-abc123 / Failed to save: Unable to reserve cache with key, another job may be creating this cache
- Context access might be invalid GitHub Actions: Context access might be invalid: AWS_ACCESS_KEY_ID (editor warning for secrets/vars)
Most viewed in CI/CD
- The process '/usr/bin/git' failed with exit code 128 GitHub Actions: Error: The process '/usr/bin/git' failed with exit code 128
- This job is stuck because you don't have any active runners GitLab CI: This job is stuck because you don't have any active runners online or available with any of these tags assigned to them
- Resource not accessible by integration GitHub Actions: Error: Resource not accessible by integration (403)
Other ways to find it
Where this error sits
Origin: Build & delivery. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 25 Oct 2026