What Are Stale Pull Request?
An open pull request (or merge request in GitLab) that has had no meaningful activity, such as new commits, reviews, or comments, for longer than a team's agreed threshold.
2-minute setup • No credit card required
What it means
A pull request becomes stale when it stops moving. There is no universal threshold: some teams treat a PR as stale after 2–3 working days without activity, open-source projects often use 30 to 60 days, and the popular actions/stale GitHub Action defaults to marking issues and PRs stale after 60 days and closing them 7 days later. GitLab users usually say stale merge request; the meaning is the same. Stale PRs come in a few flavours. Some are waiting for review and nobody has picked them up. Some are waiting on the author, who received feedback and moved on to other work. Some are blocked on a dependency, a decision, or a failing check. And some are abandoned experiments that should simply be closed. The term is easy to confuse with stale approvals. GitHub's branch protection setting 'Dismiss stale pull request approvals when new commits are pushed' is about something else: when enabled, an approval given before new commits were pushed is automatically dismissed, because the code the reviewer approved is no longer the code being merged. GitLab has an equivalent approval setting that removes approvals when commits are added to the source branch. A PR with a stale approval may be very active; a stale PR is one that is not moving at all.
Why Stale Pull Request matter
Stale pull requests are one of the clearest signs of hidden delivery delay. Work that is finished in the author's head is not delivering value, and the longer a PR sits the more it costs: the branch drifts from main and merge conflicts grow, reviewers lose context, the author has to context-switch back to it, and the change risks being rebuilt by someone else. A pile of stale PRs also distorts planning, since work looks 'nearly done' for weeks. With AI coding agents now opening pull requests on their own, stale PRs have a new source: agent-created PRs that are waiting on a human to review them and can accumulate quickly if nobody owns that queue.
How to measure
Define staleness as time since last meaningful activity (new commit, review, or review comment), not time since the PR was opened, so long-running but active PRs are not flagged. Choose a threshold that fits your cadence, for example 48 working hours for product teams. Track: the number of open PRs past the threshold, the age distribution of open PRs (median and P90), and who each stale PR is waiting on (reviewer or author). Review the list in standup or a weekly triage. Automated alerts help: Gitmore, for example, can check hourly for stale PRs and for agent-opened PRs waiting on a human, and post them to Slack or email.
Real-world example
A team notices that releases keep slipping although sprint boards look nearly complete. They list open PRs with no activity in the last three working days and find 14. Six are waiting on a first review, four are waiting on the author to address comments, two were opened by a coding agent and nobody was assigned, and two are abandoned spikes. They close the two spikes, assign reviewers to the eight PRs waiting on review, and add a daily Slack alert for PRs idle more than 48 hours. Within a few weeks the number of stale PRs at any time drops to two or three, and median cycle time falls because work no longer waits silently for review.
Common questions
What does stale pull request mean?
It means an open pull request that has had no meaningful activity (commits, reviews, or comments) for longer than the team's threshold. It is neither merged nor closed, and it is not moving forward.
How long before a pull request is considered stale?
It depends on the team. Product teams shipping daily often use 2–3 working days. Open-source projects commonly use 30–60 days; the actions/stale GitHub Action defaults to 60 days before marking a PR stale and 7 more days before closing it.
What is the difference between a stale pull request and a stale approval?
A stale pull request has no recent activity. A stale approval is an approval given before newer commits were pushed. GitHub's 'Dismiss stale pull request approvals when new commits are pushed' branch protection setting removes those approvals so a reviewer must re-approve the updated code. A PR can have a stale approval while being very active.
Is a stale merge request the same as a stale pull request?
Yes. GitLab calls pull requests merge requests, so a stale merge request is the same thing: an open MR with no recent activity.
Should stale pull requests be closed automatically?
For large open-source projects, auto-closing after a long period with a warning comment keeps the queue manageable. For internal teams it is usually better to alert first and close only abandoned work, because many stale PRs contain finished work that just needs a reviewer.
Track Stale Pull Request Automatically
Gitmore turns your git activity into automated reports with real metrics — delivered to Slack and email.
Get Started FreeNo credit card • No sales call • Reports in 2 minutes