GitHub: why the conversation was not resolved
A conversation on the lines of a pull request is a review thread. It is resolved with the GraphQL mutation resolveReviewThread ("Marks a review thread as resolved") and opened again with unresolveReviewThread; both take the thread's id, which GitHub gives in the pull request's reviewThreads, with isResolved, resolvedBy, viewerCanResolve and viewerCanUnresolve. GitHub's documentation does not list the refusals; the ones below are quoted from public reports, with GitHub's documented rules behind them (checked October 25, 2026).
mutation {
resolveReviewThread(input: {threadId: "…"}) {
thread { isResolved }
}
}
What GitHub says, and why
Resource not accessible by integration(typeFORBIDDEN,pathresolveReviewThread), from a workflow'sGITHUB_TOKENor a GitHub App's token: public reports found thatcontents: readwithpull-requests: writewas refused, and thatcontents: writelet the same tokens resolve threads.- A fine-grained personal access token with Pull requests read and write resolved and unresolved a thread through GraphQL in a public report, while another tool sending the same token was refused with
Resource not accessible by personal access token. Could not resolve to a node with the global id of '…'(NOT_FOUND): GitHub does not find a thread with that id. A public report met it for a thread that was no longer there.- Who may: GitHub's documentation says you can resolve a conversation in a pull request if you opened the pull request or have write access to the repository. For each thread,
viewerCanResolveandviewerCanUnresolvesay whether you may. - Not in the diff: GitHub's schema puts a review thread on a diff line or on a file, and its documentation resolves conversations on the Files changed tab; a comment in the pull request's conversation that is not on the diff is not a review thread.
What to do
- A workflow or GitHub App: give its token
contents: writeas well aspull-requests: write(for an App, Contents read and write). - A fine-grained token: Pull requests with write access, for the repository (see which permission to add).
- Not found: read the pull request's
reviewThreadsagain and use the id it gives now. - Not yours to resolve: reply instead, and leave resolving to the pull request's author or someone with write access.
- A reply refused rather than resolving: see why GitHub refused the line comment.
In IntelliJ IDEA: Resolve only when GitHub allows it, and a refusal leaves the thread as it was
How the GitHub support built into IntelliJ IDEA resolves a review thread in the pull request's timeline, in its source (checked October 31, 2026; IntelliJ IDEA: GHPRTimelineThreadViewModel.kt, GHPRReviewServiceImpl.kt, resolveReviewThread.graphql, unresolveReviewThread.graphql, CollaborationToolsBundle.properties):
- When you can use it: Resolve or Unresolve on a thread works only while GitHub returns
viewerCanResolveorviewerCanUnresolveas true for your account on that thread, so it follows what GitHub allows you there. - It sends GitHub's GraphQL
resolveReviewThreadorunresolveReviewThreadwith the id of the thread. - When GitHub refuses, nothing appears on screen: the source writes a warning to the IDE's log and the thread stays as it was shown. When it goes through, the thread GitHub returns is shown, folded if it is now resolved.
GitHub pull requests in IntelliJ IDEA
Pull Request Inbox for GitHub, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, offers Resolve and Unresolve on the conversations in the diff. It reads the threads through GitHub's GraphQL API with your token, so they appear once a token is set. Resolved conversations show who resolved them, and can be hidden. When GitHub refuses, it shows GitHub's words; for a token without the permission, it points to Settings. 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 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 "At least 1 approving review is required", approvals that do not count · GitHub pull request plugins for IntelliJ IDEA, compared · 日本語