actionlint for VS Code

February 14, 2026 · View on GitHub

Logo

actionlint for VS Code

Lint GitHub Actions workflow files using actionlint.

GitHub Release VSCode OpenVSX GitHub Issues GitHub Pull Requests License

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.

Getting Started

Install from the VS Code Marketplace, Open VSX, or via the CLI:

code --install-extension jimeh.actionlint

The extension activates automatically when a workspace contains a .github/workflows/ directory or when you open a GitHub Actions workflow file.

Features

  • 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.yml in the workspace.
  • Status bar indicator showing lint state.
  • Output channel logging with configurable verbosity.

Configuration

All settings live under the actionlint.* namespace.

SettingTypeDefaultDescription
actionlint.enablebooleantrueEnable or disable actionlint linting.
actionlint.executablestring"actionlint"Path to the actionlint binary.
actionlint.runTrigger"onSave" | "onType""onType"When to run actionlint: on file save or on typing (with debounce).
actionlint.debounceDelaynumber300Debounce delay in ms for onType trigger mode (50–5000).
actionlint.ignoreErrorsstring[][]Regex patterns to ignore matching errors (maps to -ignore flags).
actionlint.shellcheckExecutablestring""Path to shellcheck binary. Empty = auto-detect.
actionlint.pyflakesExecutablestring""Path to pyflakes binary. Empty = auto-detect.
actionlint.additionalArgsstring[][]Additional arguments to pass to actionlint.
actionlint.logLevel"off" | "info" | "debug""off"Output channel logging verbosity.
actionlint.ruleSeveritiesobject{}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.

License

MIT