Lesstep
GitHub · Pull requests · Reviews · Checked October 30, 2026

GitHub: "At least 1 approving review is required by reviewers with write access"

A branch protection rule or a ruleset can require approving reviews. Then a pull request into that branch can only be merged once it is approved by the required number of reviewers with write permissions (GitHub: About protected branches, checked October 30, 2026). Until then the merge API answers 405 with the sentence above, as the tests of Renovate record (renovatebot/renovate), and in GraphQL the pull request's reviewDecision is REVIEW_REQUIRED, "A review is required before the pull request can be merged" (GitHub: GraphQL pull requests).

PUT  /repos/OWNER/REPO/pulls/NUMBER/merge         → 405 "At least 1 approving review is required by reviewers with write access."
POST /graphql   pullRequest(number: N) { reviewDecision }   → REVIEW_REQUIRED

Why the approvals are not enough

Why IntelliJ IDEA can show it while the approvals are there

The GitHub pull requests built into IntelliJ IDEA show the line "At least {0} approving review is required by reviewers with write access" in a pull request's status. In the source (checked October 30, 2026), {0} is the Required number of approvals of the target branch's branch protection rule, read from GraphQL refUpdateRule.requiredApprovingReviewCount, and the line shows whenever GitHub calls the merge blocked, you can push to the target branch, and IntelliJ IDEA does not put the block down to required checks. With two or more required it reads, for example, "At least 2 approving review is required by reviewers with write access" (YouTrack IJPL-79800). It does not look at the approvals the pull request already has, so it stays when the approvals are there and another rule holds the merge, such as unresolved conversations (see a merge waiting for resolved conversations) (GHPRMergeabilityStateBuilder.kt, CodeReviewDetailsStatusComponentFactory.kt, CollaborationToolsBundle.properties). refUpdateRule is the branch protection rules that are viewable by non-admins; the rules of rulesets are a separate list, rules (GitHub: GraphQL Git).

Under it, IntelliJ IDEA lists the reviewers: "Waiting for review from {0}" for someone asked who has not reviewed yet, "Re-requested review from {0}" for someone asked again after a review, "{0} approved review", "{0} is waiting for updates" (changes requested) and "{0} left comments". The author's own reviews are left out. When no one has been asked and no one but the author has reviewed, the list is empty and the line reads "Missing reviewer"; the approvals the rules want have to come from someone, so ask a reviewer with write access (GHReviewersUtils.kt, GHPRReviewerStateUIUtil.kt).

Who can merge anyway

What to do

GitHub pull requests in IntelliJ IDEA

Pull Request Inbox for GitHub, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, lists everyone asked to review and where each one's review stands (approved, changes requested, asked to review, on an earlier commit). Its merge checks count the approvals, name who requested changes, and while GitHub says a review is still required (reviewDecision is REVIEW_REQUIRED), say how many approving reviews the rules of the target branch ask for (its rulesets and its branch protection) and that they are not met yet: more approvals, one after the last push, or one from a code owner; read with GraphQL, so not without a token. When GitHub calls the merge blocked, they also show the other rules it may be waiting on, such as unresolved conversations, unsigned commits and approval of the most recent push. The review inbox, diffs and conversations are free; approving, commenting and merging are Pro (US$1.50 a month, with a 30-day trial).

GitHub is a trademark of GitHub, Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with or endorsed by GitHub, Inc. or JetBrains.

More: GitHub merge refused (405, 409) · GitHub review refused (422) · GitHub search 422 "Validation Failed" · "Resource not accessible by personal access token" · 401 "Bad credentials" · "Resource protected by organization SAML enforcement" · "API rate limit exceeded" · GitHub diff 406 "too_large", 3,000 files · GitHub line comment 422 "must be part of the diff" · GitHub branch update refused (422) · GitHub pull request not created (422, 403) · GitHub auto-merge refused · GitHub draft, ready for review or close refused · GitHub conversation not resolved · GitHub checks not shown (check runs 403) · GitHub file contents not read · GitHub compare refused (404, 422) · GitHub comment or reply refused (403 locked, archived) · GitHub merge method not allowed (405) · GitHub branch not found (404, 301) · GitHub Enterprise Server not reached · GitHub review request not shown · GitHub pull request list incomplete · GitHub 404 Not Found, renamed repositories (301, 307) · GitHub line comment outdated or not on the diff · GitHub pull requests not updating, notifications late · GitHub suggested change cannot be applied · GitHub required check stuck at "Expected" · GitHub code owner review required · GitHub merge blocked by unresolved conversations · GitHub merge blocked by unsigned commits · GitHub branch that merges through a merge queue · GitHub merge waiting for an approval of the most recent push · GitHub merge waiting for code scanning results · GitHub merge waiting for code quality results · GitHub merge blocked by a code coverage threshold · GitHub merge blocked by license compliance results · GitHub branch locked or its updates restricted · GitHub branch not deleted after merging · GitHub merge waiting for a team's approval (Required reviewers) · GitHub merge blocked by secret scanning alerts · GitHub stacked pull request not merging · GitHub push blocked by push rules · GitHub merge blocked by commit metadata rules · GitHub force push blocked · GitHub issue not closed by a merged pull request · GitHub pull request not checked out locally · GitHub pull request has merge conflicts · GitHub changes requested and dismissing a review · GitHub co-author not credited for a commit · GitHub dependency review check failed · GitHub Dependabot not rebasing its pull request · GitHub fork not syncing with upstream · GitHub pull request base branch not changing · GitHub pull request not reverting · GitHub pull request template not showing · GitHub pull request labels or assignees not added · GitHub pull request not closing or reopening · GitHub push blocked by push protection · GitHub pull request comment hidden · GitHub pull request blocked until deployments succeed · GitHub team review request replaced by members · GitHub pull request file no longer marked Viewed · GitHub pull request marked merged without being merged · GitHub Copilot review does not count as an approval · GitHub checks not running on a pull request a workflow created · GitHub Update branch button not shown on a pull request · GitHub checks failing on a Dependabot pull request · GitHub checks failing on a pull request from a fork · GitHub checks skipped by [skip ci] in a commit message · GitHub checks gone after the retention period · GitHub code review limits in a public repository · GitHub pull requests turned off or limited in a repository · GitHub checks run on every pull request in a stack · GitHub pull request showing commits already squash merged · GitHub pull request not showing a file diff · GitHub push to a pull request branch from a fork refused · GitHub check cancelled on a pull request · GitHub Rebase and merge not available · GitHub merge commit message not what you expected · GitHub pull request shows every line changed · GitHub API request timed out · GitHub pull request image or document diff not shown · GitHub review request refused (422) · GitHub pull request from Copilot: checks not running, approval not counted · GitHub push refused: GH006 and GH013 on a protected branch · GitHub pull request plugins for IntelliJ IDEA, compared · 日本語