GitHub: a locked branch or restricted updates stop the merge
Two settings keep most people from updating a branch. A branch ruleset can restrict updates ("Restrict updates"): only users with bypass permissions can push to branches whose name matches its pattern. A branch protection rule can lock the branch ("Lock branch"): the branch becomes read-only, no commits can be made to it, and it cannot be deleted (GitHub's available rules for rulesets and about protected branches). Merging a pull request updates its target branch too, so a pull request into such a branch is merged only by someone the rule lets through (checked October 26, 2026).
GET /repos/OWNER/REPO/rules/branches/BRANCH
[{ "type": "update", "parameters": { "update_allows_fetch_and_merge": false } }]
GET /repos/OWNER/REPO/branches/BRANCH/protection
{ "lock_branch": { "enabled": true }, "allow_fork_syncing": { "enabled": false }, ... }
The settings
- Restrict updates (rulesets): through the REST API it is the rule type
update, "Only allow users with bypass permission to update matching refs", with the required parameterupdate_allows_fetch_and_merge: whether the branch can pull changes from its upstream repository (GitHub's REST API endpoints for rules). Anyone with read access to a repository can view its active rulesets (GitHub's about rulesets). - Lock branch (branch protection): the branch is read-only. By default a forked repository does not support syncing from its upstream repository; "Allow fork syncing" pulls changes from the upstream repository while preventing other contributions to the fork's branch. Through the REST API they are
lock_branch("If this is true, users will not be able to push to the branch") andallow_fork_syncing(GitHub's REST API endpoints for protected branches). - Restrict who can push (branch protection): a narrower setting. Only the people, teams or apps given permission can push to the branch; people and apps with admin permissions to the repository can always push. It is available in public repositories owned by a GitHub Free organization and in all repositories owned by an organization using GitHub Team or GitHub Enterprise Cloud.
- Both at once: rulesets and branch protection rules work alongside each other, and all applicable rules are enforced; where the same rule is defined in different ways, the most restrictive version applies.
Who can still update the branch
- Bypass in a ruleset: a ruleset can let certain users bypass it: users with a certain role, such as repository administrator, specific teams, or GitHub Apps. A
bypass_modeofpull_requestmeans the actor can bypass the rules only on pull requests (branch rulesets only); withexempt, the rules are not run for that actor and no bypass audit entry is created. The repository ruleset endpoints returncurrent_user_can_bypassfor you:always,pull_requests_only,neverorexempt. - Admins and branch protection: by default, the restrictions of a branch protection rule do not apply to people with admin permissions to the repository or custom roles with the "bypass branch protections" permission. "Do not allow bypassing the above settings" applies them to those too.
What to do
- Find which setting it is: the repository's active rulesets show whether one restricts updates to the branch; a lock is in the branch's protection rule, in the repository's branch settings.
- Ask someone who may bypass the rules: a person, team or app the ruleset lets bypass it merges the pull request; one whose bypass mode is
pull_requestcan bypass on pull requests only. For a lock, an admin can merge unless "Do not allow bypassing the above settings" is on. - The branch should take changes again: whoever manages the rules turns off "Lock branch" or removes the update rule from the ruleset.
- Which rule refused it: "List repository rule suites" lists rule evaluations, each with a result of
pass,failorbypass, and can be limited to one ref (GitHub's REST API endpoints for rule suites).
In IntelliJ IDEA: "You are not authorized to merge request into this branch"
The GitHub pull requests built into IntelliJ IDEA show "You are not authorized to merge request into this branch" in a pull request's status. In the source (checked October 30, 2026), the line shows when the target branch has a branch protection rule and GraphQL says you cannot push to the branch (refUpdateRule.viewerCanPush is false), unless the pull request is a draft (GHPRMergeabilityStateBuilder.kt, CodeReviewDetailsStatusComponentFactory.kt, CollaborationToolsBundle.properties). That is the case when the branch is locked, and with Restrict who can push to matching branches when you are not among the people, teams or apps given permission; push access can only be given to those with write access, and people with admin permissions to the repository can always push (GitHub: About protected branches). refUpdateRule is the branch protection rules that are viewable by non-admins; the rules of rulesets, such as Restrict updates, are a separate list, rules, which this line does not read (GitHub: GraphQL Git).
GitHub pull requests in IntelliJ IDEA
Pull Request Inbox for GitHub, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, shows a pull request's reviews, checks and conversations next to the diff, and merges it with the methods the target branch allows. When GitHub calls the pull request blocked, its merge checks name what they can read: required checks that have not reported, a review still required, unresolved conversations and unsigned commits the rules hold against it, the rule on the most recent push, and the code scanning tools, code quality severity, code coverage thresholds and license compliance results the rulesets require. When the branch's rules restrict updates or lock it, the merge checks of a blocked pull request say so: only those who may bypass the rules can push to it, merging included. The review inbox, diffs and conversations are free; approving, commenting, resolving 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 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 "At least 1 approving review is required", approvals that do not count · GitHub pull request plugins for IntelliJ IDEA, compared · 日本語