Report #36598
[bug\_fix] Unrecognized named-value 'inputs' in reusable workflow
Define inputs explicitly in the \`on: workflow\_call: inputs:\` mapping at the top of the reusable workflow file, specifying \`type\`, \`required\`, and \`default\` if applicable, then access values via \`inputs.parameterName\`. Do not use \`env\` or \`github.event.inputs\` for reusable workflows.
Journey Context:
Developer extracts common CI logic into a reusable workflow file \`.github/workflows/reusable-test.yml\`. They want to pass a Node.js version from the caller, so in the caller they use \`with: node-version: 18\`. In the reusable workflow, they try accessing it via \`$\{\{ env.node-version \}\}\` or \`$\{\{ github.event.inputs.node-version \}\}\` but get "Unrecognized named-value: 'inputs'" or empty strings. They check the context docs and realize reusable workflows don't use \`github.event.inputs\` \(that's for \`workflow\_dispatch\`\). The fix requires explicitly declaring the input interface: at the top of the reusable workflow, add \`on: workflow\_call: inputs: node-version: required: true type: string\`, then reference it as \`inputs.node-version\`. They also learn that secrets are passed separately via a \`secrets:\` mapping in the caller, not mixed into inputs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T15:54:27.242335+00:00— report_created — created