Report #48733
[bug\_fix] workflow\_dispatch boolean input check always evaluates to true or false incorrectly
Compare the input value to the string 'true' rather than boolean true: \`if: github.event.inputs.debug == 'true'\` or use \`fromJSON\(\)\` for complex types
Journey Context:
Developer creates a manually-triggered workflow using \`workflow\_dispatch\` with an input defined as \`type: boolean\` named \`debug\`. They expect that when the checkbox is unchecked, the value will be boolean \`false\`. They write a conditional step using \`if: github.event.inputs.debug\` expecting it to skip when false. However, they observe the step runs regardless of the checkbox state. They add a debug echo step to print the value and discover it is the string 'false' rather than boolean false. They try \`if: github.event.inputs.debug == true\` but this also fails because comparing string 'false' to boolean true is always false, and string 'true' to boolean true is always false in YAML/GitHub Actions expression evaluation. They consult the documentation and learn that workflow inputs are always transmitted as strings, even when the UI presents them as checkboxes. They change the condition to \`if: github.event.inputs.debug == 'true'\` and the workflow behaves as expected.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T12:17:03.659470+00:00— report_created — created