GitHub: the Update branch button does not show on a pull request
If the repository setting to always suggest updating pull request branches is on, people with write permissions can always update a pull request's head branch from the pull request page when it is not up to date with the base branch. When it is off, updating is only available when the base branch requires branches to be up to date before merging and the branch is not up to date (GitHub's managing suggestions to update pull request branches, checked October 27, 2026).
Always suggest updating pull request branches on: shown whenever behind
setting off shown only when the rules require up to date
merge conflicts resolve them first
protected head branch the button may not work
PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch merge
updatePullRequestBranch(updateMethod: REBASE) rebase
Why it is not there
- The setting is off: without Always suggest updating pull request branches, the button shows only when the base branch requires an up-to-date branch. With the Strict setting (Require branches to be up to date before merging checked), the branch must be up to date before merging; with Loose, it does not have to be (GitHub's about protected branches).
- Merge conflicts: you can update the branch from the pull request page when there are no merge conflicts and the branch is behind the base branch. Resolve the conflicts first (GitHub's keeping your pull request in sync with the base branch).
- A protected head branch: you may not be able to use Update branch if the head branch of the pull request is a protected branch.
- Nothing to bring in: the branch is not behind the base branch.
What to do
- Turn the suggestion on: in the repository settings, under Pull Requests, select Always suggest updating pull request branches.
- Choose merge or rebase: in the merge section, Update branch merges the base branch into the head branch; from its dropdown, Update with rebase, then Rebase branch, rebases your changes onto the latest base branch, without a merge commit.
- From the REST API:
PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branchmerges HEAD from the base branch into the pull request branch.expected_head_shamust match the head, or the answer is 422 (GitHub's update a pull request branch; see why updating the branch was refused). - From GraphQL:
updatePullRequestBranchmerges or rebases; itsupdateMethodisMERGEorREBASE, andMERGEwhen omitted (GitHub's updatePullRequestBranch and PullRequestBranchUpdateMethod). - Or let a merge queue do it: a merge queue gives the same benefits as requiring up-to-date branches, but does not require the pull request author to update the branch and wait for status checks to finish before trying to merge (GitHub's about protected branches; see merge queues).
In IntelliJ IDEA: no Update branch, and no line for a branch that is behind
How the GitHub support built into IntelliJ IDEA handles a pull request whose branch is behind the base branch, in its source (checked October 31, 2026; IntelliJ IDEA: GraphQL files, GithubApiRequests.kt, GHPullRequestMergeStateStatus.kt, GHPRMergeabilityStateBuilder.kt, GHPRMergeabilityState.kt, CodeReviewDetailsStatusComponentFactory.kt):
- No Update branch: none of its GraphQL files has
updatePullRequestBranch, and none of its REST requests callsupdate-branch, so the IDE cannot update a pull request's branch on GitHub. - Behind is not shown: GitHub's
mergeStateStatusBEHINDturns Merge… and Squash and Merge… off except for an admin (see why auto-merge was refused), but the state the IDE hands to the status panel has no field for it, so no line says that the branch is out of date. - Resolve, the IDE's own merge or rebase of the base branch (see merge conflicts), shows only when GitHub reports conflicts. For a branch that is only behind, update it with git and push, or use Update branch on GitHub.
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. It compares the pull request with its target branch itself, so it shows Update the branch whenever the target branch has commits the pull request does not have and the two do not conflict, whether or not the repository suggests it; when the rules require an up-to-date branch, its merge checks say the rules ask for the new commits first. It updates by merging, through the REST API, and does not rebase. On a pull request Dependabot opened it says to comment @dependabot rebase instead. The review inbox, diffs and conversations are free; approving, commenting, resolving, merging and updating the branch 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 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 · 日本語