Enhance /pr-comments to filter unresolved conversations using GraphQL

Resolved 💬 3 comments Opened Feb 1, 2026 by avshyz Closed Mar 2, 2026

Problem

/pr-comments currently uses the REST API which doesn't expose the "resolved" state of review threads. When users click "Resolve conversation" on GitHub, there's no way to filter those out.

Solution

Use GitHub's GraphQL API which has isResolved on reviewThreads:

{
  repository(owner: "...", name: "...") {
    pullRequest(number: N) {
      reviewThreads(first: 100) {
        nodes {
          isResolved
          comments(first: 10) {
            nodes { body, path, line, author { login }, diffHunk }
          }
        }
      }
    }
  }
}

Proposed UX

/pr-comments              # all comments (current behavior)
/pr-comments unresolved   # only isResolved == false
/pr-comments resolved     # only isResolved == true

Notes

  • REST API (/repos/{owner}/{repo}/pulls/{number}/comments) lacks resolution state
  • GraphQL reviewThreads.isResolved maps to the "Resolve conversation" button in GitHub UI

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗