changes requested must be addressed before merging" error
Fixes the 'changes requested must be addressed before merging' block. Use it when a PR is stuck because a reviewer requested changes. Key trigger: the merge box cites requested changes and the blocking review is still the latest from that reviewer.
TL;DR
Address the feedback, push the fixes, and get the reviewer to re-review - only a new approving review (or a dismissal by someone with permission) clears the block. Replying in comments alone doesn't clear it, and pushing code doesn't auto-clear it either.
The error
"changes requested must be addressed before merging" errorSteps to fix
- Read the requesting reviewer's comments and make the code changes they asked for.
- Expected: every piece of feedback has a corresponding change or a written reason it doesn't apply.
- Push the fixes to the PR branch.
- Expected: the PR timeline shows the new commits.
- Re-request the reviewer's review (or ask them to take another look) so they can approve the new head.
- Expected: the reviewer is notified; nothing auto-notifies them that you pushed.
- Wait for their approving review.
- Expected: the block clears when the approval lands; a dismissal by someone with permission clears it too.
Use this when
- The merge box says changes were requested and must be addressed.
- A reviewer left a "request changes" review and the PR is otherwise ready.
- You pushed fixes but the block is still there (the re-review hasn't happened).
Not for this skill when
- The blocker is missing reviews rather than requested changes (get a first review instead).
- The blocker is a failing check (fix the check).
- The team norm is that anyone's approval unblocks (check branch protection - "request changes" is still a veto there by default).
Variant phrasings
- changes requested must be addressed before merging
- PR blocked changes requested github
- how to clear request changes review
- requested changes blocking merge
Why it happens
A "request changes" review is a persistent veto in branch protection: it stays blocking until that reviewer (or someone with dismiss permission) resolves it. Pushing code doesn't auto-clear it because GitHub can't tell whether the push addressed the feedback - only the reviewer can judge that, so the veto waits for their verdict.
Edge cases
- The reviewer is unavailable: someone with dismiss-review permission can dismiss the stale request.
- Stale-dismissal settings may auto-dismiss the request on push - then you just need any fresh approval.
- Multiple reviewers requested changes: each requester must resolve; one approval doesn't override another's veto.
- If you disagree with the feedback, say so in the thread and ask for dismissal rather than pushing changes you don't believe in.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_fjbBTaasyJGj0KQ2Iv9E6Q
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.