How to Close Stale Issues Automatically in GitHub Actions
A backlog full of abandoned issues hides the live ones; a scheduled stale sweep warns then closes the dead weight.
Run actions/stale on a cron schedule with day thresholds for marking and closing, plus exempt labels for items you never want auto-closed.
Steps
- Add a
scheduletrigger (e.g. daily). - Configure days-before-stale and days-before-close.
- Set warning messages for issues and PRs.
- Exempt important items with
exempt-issue-labels.
Workflow
.github/workflows/stale.yml
name: Stale
on:
schedule:
- cron: '0 1 * * *'
permissions:
issues: write
pull-requests: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
days-before-stale: 60
days-before-close: 14
stale-issue-message: 'No activity in 60 days; closing in 14 if nothing changes.'
exempt-issue-labels: 'pinned,security'Frequently asked questions
How do I close Stale Issues Automatically in GitHub Actions?
Run actions/stale on a cron schedule with day thresholds for marking and closing, plus exempt labels for items you never want auto-closed.
Related guides
How to Build and Cache a Dev Container in GitHub ActionsBuild a dev container in GitHub Actions with the devcontainers CLI and cache its layers so repeated CI runs r…
How to Comment on a Pull Request From a Workflow in GitHub ActionsPost a comment on a pull request from a GitHub Actions workflow using actions/github-script and the GITHUB_TO…
How to Build a Rust Binary for Multiple Targets in GitHub ActionsCross-build a Rust binary for several platform targets in GitHub Actions with a matrix, using cross or rustup…