Report #23968
[bug\_fix] Input required and not supplied: token when using third-party action
Correct the input name in the \`with:\` block to match the action's \`action.yml\` exactly \(case-sensitive\), ensure the input is not empty due to unavailable secrets in fork contexts, and verify the input is defined under \`with:\` not \`env:\`.
Journey Context:
You configure a workflow step using \`uses: codecov/codecov-action@v4\` with \`with: token: $\{\{ secrets.CODECOV\_TOKEN \}\}\`. The workflow fails immediately at the 'Set up job' phase with 'Error: Input required and not supplied: token'. You verify the secret \`CODECOV\_TOKEN\` exists in Settings > Secrets and variables > Actions and is correctly named. You check the workflow syntax and confirm the indentation is correct under \`with:\`. You suspect the action version might be broken. After reading the action's source code \(action.yml\), you realize the input is actually named \`token\` but in v4, it is no longer required if using the \`CODECOV\_TOKEN\` environment variable, or conversely, you might have typo'd \`tokn\` or used \`github-token\` instead of \`token\`. Alternatively, you are running on a pull request from a fork where \`secrets.CODECOV\_TOKEN\` resolves to an empty string because secrets are not passed to forks, which the action interprets as 'not supplied' rather than 'empty'. The rabbit hole involves understanding that GitHub Actions treats empty strings as valid inputs unless the action's code specifically checks for it, but 'Input required and not supplied' is thrown by the GitHub Actions runner itself before the action code runs, meaning the key was missing from the \`with\` map entirely or mapped to a null value. The fix is correcting the input key name in the \`with\` block to exactly match the action's expected input \(case-sensitive\), ensuring the secret is available in the current context \(not a fork\), and verifying the YAML structure does not have a list hyphen making it an array instead of a map.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T18:38:24.606044+00:00— report_created — created