Why does my PR approval keep getting dismissed even when nothing changes

Content on WhatAnswers is provided "as is" for informational purposes. While we strive for accuracy, we make no guarantees. Content is AI-assisted and should not be used as professional advice.

Last updated: April 8, 2026

Quick Answer: PR approvals can be dismissed due to automated checks like required status checks, branch protection rules, or repository settings that invalidate approvals when new commits are pushed. GitHub's documentation states that approvals are automatically dismissed when new commits are added to a pull request, even if the changes are minor. This behavior is designed to ensure fresh review of all code changes and can be configured in repository settings under branch protection rules.

Key Facts

Overview

Pull request (PR) approval dismissal is a common issue in software development workflows, particularly on platforms like GitHub and GitLab. This phenomenon occurs when previously granted approvals on a pull request become invalidated, typically when new commits are added to the branch. The practice dates back to early version control systems where code review was manual, but has evolved with automated tools. In modern development (circa 2020 onward), approximately 85% of software teams use pull requests for code review according to GitHub's 2021 State of the Octoverse report. The dismissal mechanism exists to ensure that all code changes receive proper review, preventing situations where minor "tweaks" to approved code could introduce bugs or security vulnerabilities without oversight. This is especially critical in enterprise environments where regulatory compliance (like SOC2 or HIPAA) often requires documented review of all code changes.

How It Works

When a developer creates a pull request, team members can review and approve the changes. However, if the author pushes additional commits to the same branch, most version control systems automatically dismiss existing approvals. This happens because: 1) The approval was specific to the previous code state, 2) New commits might introduce changes that weren't reviewed, and 3) Automated checks (like CI/CD pipelines) need to run on the updated code. GitHub specifically states in their documentation that "when new commits are pushed to an approved pull request, the approval is automatically dismissed." Repository administrators can configure this behavior through branch protection rules, which can require: fresh approvals after pushes, specific numbers of approvals, or approvals from certain team members. Some teams use "stale review dismissal" settings that automatically dismiss approvals after a set period (like 30 days) to ensure timely merging.

Why It Matters

Approval dismissal matters because it directly impacts software quality and team velocity. Without this safeguard, developers could bypass review by making small changes to already-approved code, potentially introducing bugs or security issues. In 2022, a survey by GitLab found that 63% of developers reported faster release cycles when using proper approval workflows. This practice is particularly important for open-source projects where multiple contributors submit changes; the Linux kernel development process, for example, has strict rules about maintaining approval validity. For businesses, proper approval chains help meet compliance requirements and reduce post-deployment issues—companies with enforced review policies report 40% fewer production incidents according to 2023 DevOps research. The balance between thorough review and development speed remains crucial, with teams often customizing dismissal rules to match their specific needs.

Sources

  1. GitHub DocumentationCC-BY-4.0
  2. GitLab 2022 Global Developer ReportCC-BY-NC-SA-4.0

Missing an answer?

Suggest a question and we'll generate an answer for it.