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.
- actionlint must be installed and available on your
PATH(or configured viaactionlint.executable). - shellcheck (optional) — enables deeper lint checks for shell scripts
in
run:steps. - pyflakes (optional) — enables lint checks for Python scripts in
run:steps.
Install from the VS Code Marketplace, Open VSX, or via the CLI:
code --install-extension jimeh.actionlintThe extension activates automatically when a workspace contains a
.github/workflows/ directory or when you open a GitHub Actions workflow file.
- Lint on type with configurable debounce (default) or on save.
- Regex-based error ignore patterns (
actionlint.ignoreErrors). - Per-rule diagnostic severity overrides (
actionlint.ruleSeverities). - Configurable actionlint executable path.
- 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.ymlin the workspace. - Status bar indicator showing lint state.
- Output channel logging with configurable verbosity.
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.
