Lint GitHub Actions workflow files using
actionlint.
A Visual Studio Code extension that provides inline diagnostics for GitHub
Actions workflow files. It runs actionlint against your workflow files and
surfaces errors directly in the editor as you work.
Requirements
actionlint must be installed and available on your PATH (or
configured via actionlint.executable).
shellcheck(optional) — enables deeper lint checks for shell scripts
in run: steps.
pyflakes(optional) — enables lint checks for Python scripts in
run: steps.
Optional shellcheck and pyflakes integration for deeper run: step
analysis, with errors resolved to exact positions within script bodies.
Initialize Config command to scaffold an .actionlint.yml in the workspace.
Status bar indicator showing lint state.
Output channel logging with configurable verbosity.
Configuration
All settings live under the actionlint.* namespace.
Setting
Type
Default
Description
actionlint.enable
boolean
true
Enable or disable actionlint linting.
actionlint.executable
string
"actionlint"
Path to the actionlint binary.
actionlint.runTrigger
"onSave" | "onType"
"onType"
When to run actionlint: on file save or on typing (with debounce).
actionlint.debounceDelay
number
300
Debounce delay in ms for onType trigger mode (50–5000).
actionlint.ignoreErrors
string[]
[]
Regex patterns to ignore matching errors (maps to -ignore flags).
actionlint.shellcheckExecutable
string
""
Path to shellcheck binary. Empty = auto-detect.
actionlint.pyflakesExecutable
string
""
Path to pyflakes binary. Empty = auto-detect.
actionlint.additionalArgs
string[]
[]
Additional arguments to pass to actionlint.
actionlint.logLevel
"off" | "info" | "debug"
"off"
Output channel logging verbosity.
actionlint.ruleSeverities
object
{}
Override diagnostic severity for specific rule kinds. Keys are rule kind strings (e.g. syntax-check, credentials), values are error, warning, information, or hint.
Note: Settings marked as restricted (executable,
shellcheckExecutable, pyflakesExecutable, additionalArgs) are ignored
in untrusted workspaces.