GitHub: why a suggested change cannot be applied
A reviewer can put a suggestion block in a comment on lines of a pull request, with the lines as they would have them (GitHub's documentation on commenting on a pull request). GitHub's documentation on incorporating feedback says you can apply it if you have write access to the repository, or, for a pull request from a fork whose author allowed edits from maintainers, write access to the upstream repository. Applying one suggestion, or a batch of them, creates a single commit on the pull request's compare branch: each person whose suggestion is in it is a co-author, and the person who applies it is a co-author and the committer (checked October 26, 2026).
```suggestion if (count == 0) return 0 ```
GitHub's messages, and what they mean
GitHub's pull request page carries these messages for a suggestion it will not apply (read from the HTML of a public pull request page on October 26, 2026):
- "Outdated suggestions cannot be applied." A later commit changed the commented lines, so the suggestion was written against code that is no longer there (see why a line comment is outdated). Ask for a new suggestion on today's lines, or make the change yourself.
- "Suggestions cannot be applied from pending reviews." The suggestion is in a review its author has not submitted yet. Once the review is submitted, it can be applied.
- "Applying suggestions on deleted lines is not supported." The comment is on a removed line: the left side of the diff (
sideLEFTin the API). - "Suggestions cannot be applied while viewing a subset of changes." The Files changed tab shows only some of the commits. Show all changes, then apply.
- "Only one suggestion per line can be applied in a batch." Two suggestions in the batch touch the same line. Leave one out of the batch.
- "Suggestions cannot be applied while the pull request is closed." and "Suggestions cannot be applied while the pull request is queued to merge." Reopen it, or wait until it leaves the merge queue.
- "This suggestion is invalid because no changes were made to the code." and "You must change the existing code in this line in order to create a valid suggestion." The block holds the same lines as the code: there is nothing to commit.
- "This suggestion has been applied or marked resolved." It is in a commit already, or its conversation was resolved.
- "Suggestion cannot be applied right now. Please check back later." Try again later.
- No Commit suggestion button at all: you do not have write access to the repository; for a pull request from a fork, its author has not allowed edits from maintainers (see allowing changes to a branch created from a fork).
No API applies a suggestion
- Searched: GitHub's REST API description (api.github.com, OpenAPI 1.1.4) and its public GraphQL schema have no operation that applies a suggestion in a pull request (searched October 26, 2026). Through the API a suggestion is text: the comment's
bodyholds the suggestion block as written. - Not this: the REST endpoints under
/repos/OWNER/REPO/issues/NUMBER/suggestionsand the GraphQL mutationapplyPendingIssueSuggestionsare about agent-proposed changes to an issue's type, labels, fields, assignees or closed state. GitHub's description says they support issues, not pull requests. - Taking it without the button: make the change in a commit on the pull request's head branch (checked out locally, or with
PUT /repos/OWNER/REPO/contents/PATHand the branch name), credit the reviewer with aCo-authored-bytrailer, as Commit suggestion would have made them a co-author, and resolve the conversation.
In IntelliJ IDEA: the suggestion is applied in your local repository, not by GitHub
How the GitHub support built into IntelliJ IDEA applies a suggestion in the pull request's timeline, in its source (checked October 31, 2026; IntelliJ IDEA: GHPRReviewSuggestedChangeComponentFactory.kt, GHPRReviewCommentBodyViewModel.kt, GHSuggestedChangeApplier.kt, intellij.vcs.github.xml, GithubBundle.properties):
- The buttons: a comment with a suggestion block shows a Suggested change panel with Apply Locally, and Commit… as its other option (on by default).
- When they are off: unless the pull request's branch is the one checked out in your local repository ("Unable to apply the suggested change from a pull request in a different branch"), on a resolved thread ("This suggestion has been resolved"), and when GitHub returns the thread without its line numbers, as for an outdated one ("Outdated suggestions cannot be applied", the same words as GitHub's).
- It does not ask GitHub to apply it. Apply Locally patches the file in your working tree. Commit… asks for a commit message (an empty one is refused), writes the patched file into the index and makes a local commit of that file with your message as typed, adding no co-authors. Nothing is pushed: the change reaches the pull request when you push it.
- Afterwards, only when the patch applied (and, for Commit…, the commit was made), it resolves the thread on GitHub, and only if GitHub returns
viewerCanResolveas true for you. A commit that fails is written to the IDE's log as an error.
GitHub pull requests in IntelliJ IDEA
Pull Request Inbox for GitHub, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, shows comments on lines on the Comments tab with their file and line, and says when a thread was made at an earlier commit whose lines have changed since. A suggested change is labelled as one: which lines it replaces, or that it deletes them when the block is empty, and that it is taken with Commit suggestion on GitHub; on a deleted line, that GitHub does not apply it there. The plugin does not apply suggestions, as GitHub's API has no way to: Open in Browser opens the pull request on GitHub, where Commit suggestion is, and Checkout checks out its branch to make the change yourself. Conversations can be resolved from the diff. 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 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 "At least 1 approving review is required", approvals that do not count · GitHub pull request plugins for IntelliJ IDEA, compared · 日本語