A GitHub Actions version checker. Scans your GitHub actions workflow files and reports outdated versions.

brew install llimllib/tap/avergo install
go install aver/cmd/aver@latestOr build from source:
makeRun aver in any directory within a Git repository:
$ aver
Outdated actions:
File Action Current Latest
-------------------------- ---------------- ------- ------
.github/workflows/lint.yml actions/checkout v5 v6.0.2
.github/workflows/lint.yml actions/setup-go v5 v6.2.0
SHA-pinned actions behind default branch:
File Action Current SHA Latest SHA Branch Behind
-------------------------- ---------------- ----------- ---------- ------ ------
.github/workflows/lint.yml actions/checkout a1b2c3d e5f6g7h main 12In terminals that support OSC 8 hyperlinks, action names link to their GitHub repository, version numbers link to their release tags, and SHA values link to their commits.
The tool will:
.git or
.github).github/workflows/*.yml and
.github/workflows/*.yaml| code | meaning |
|---|---|
| 0 | all actions are up to date |
| 1 | some actions are out of date |
| 2 | operational error: github outage, invalid command |
aver help Print help message
aver version Print version
Aver respects the precision of your version specifier:
| You specify | Aver reports outdated if |
|---|---|
v6 |
A newer major version exists (e.g., v7) |
v6.1 |
A newer minor or major version exists (e.g., v6.2 or
v7) |
v6.1.0 |
Any newer version exists (e.g., v6.1.1,
v6.2.0, or v7) |
For example:
actions/checkout@v6 is up to date even if
v6.0.2 exists (you asked for v6, you have v6)actions/checkout@v6.0 would be outdated if
v6.1 existsactions/checkout@v6.0.0 would be outdated if
v6.0.1 existsSHA-pinned actions (e.g., @a1b2c3d) report how many
commits behind the default branch they are, along with the latest SHA on
that branch, unless --ignore-sha is passed.
Aver works well with AI coding agents like Claude Code and Pi to prevent them from adding outdated GitHub Actions.
Add this to your project’s CLAUDE.md or
AGENTS.md:
## GitHub Actions
When creating or modifying `.github/workflows/` files:
1. Run `aver` to check for outdated actions before committing
2. Always use the latest major version for any new actions
3. If aver reports outdated actions, update them to the versions shownFor Claude Code, install the plugin from this repository’s marketplace:
/plugin marketplace add llimllib/aver
/plugin install github-actions-version-check@aver
The plugin includes: - A skill that automatically activates when
working with GitHub Actions workflow files - A hook that checks for
GITHUB_TOKEN before running aver commands
For Pi or Claude Code, you can also install the skill manually:
# For Pi
cp -r skill/github-actions-version-check ~/.pi/agent/skills/
# For Claude Code
cp -r skill/github-actions-version-check ~/.claude/skills/The agent will automatically load the skill when working with GitHub Actions workflow files.
The tool uses the GitHub API to fetch tags. Unauthenticated requests are limited to 60 per hour.
To increase the rate limit, set a GitHub token:
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxmake # Build the binary
make test # Run tests
make lint # Run golangci-lint
make clean # Remove binary
make release # Make a release
make site # Build the documentation siteMIT