Repository navigation
[BUG] MCP server: pull_request_read.get_review_comments omits thread node id, making resolve_review_thread unusable #56791
Description
Preflight Checklist
- I have searched existing issues and this hasn't been reported yet
- This is a single bug report (please file separate reports for different bugs)
- I am using the latest version of Claude Code
What's Wrong?
n Claude Code Sessions (CCR), the Anthropic-hosted GitHub MCP server at https://api.anthropic.com/v2/ccr-sessions//github/mcp exposes a pair of tools that don't compose:
mcp__github__pull_request_read with method get_review_comments returns review threads with no id field.
mcp__github__resolve_review_thread (and pull_request_review_write method resolve_thread) require a GraphQL thread node ID (PRRT_kwDO…) and explicitly say in their description to "Get thread IDs from pull_request_read with method get_review_comments."
Result: the /review skill can post replies after addressing comments but cannot programmatically resolve the threads. Every session in this environment leaves stale unresolved threads requiring manual UI clicks.
The actual response shape from get_review_comments for each thread:
{
"is_resolved": true,
"is_outdated": true,
"is_collapsed": true,
"comments": [ { "body": "...", "path": "...", "author": "...",
"created_at": "...", "updated_at": "...", "html_url": "..." } ],
"total_count": 1
}
No id, no databaseId, no node identifier at the thread or comment level. So the threadId required by the resolve tools cannot be obtained or derived in-session.
What Should Happen?
get_review_comments should include the GraphQL id (and ideally databaseId) on each review_threads[] entry, matching what resolve_review_thread and pull_request_review_write.resolve_thread document as their input source. Expected shape:
{
"id": "PRRT_kwDOQKV1Cs6-U6j9",
"databaseId": 12345678,
"is_resolved": false,
"is_outdated": false,
"is_collapsed": false,
"comments": [ ... ],
"total_count": 1
}
With that one field present, the existing resolve tools become usable, the /review skill's resolve-after-fix step works end-to-end, and there is no consumer-side change needed (the resolve tools already accept this exact node-ID format).
Steps to reproduce
In any Claude Code Session scoped to a repo with a PR that has review threads, call:
mcp__github__pull_request_read({
method: "get_review_comments",
owner: "videofactsai",
repo: "portfolio-paths",
pullNumber: 205,
perPage: 3
})
Inspect any element of the returned review_threads[] array.
Observe that the keys are exactly is_resolved | is_outdated | is_collapsed | comments | total_count — no thread id.
Try to call mcp__github__resolve_review_thread — there is no value available to pass as threadId.
Verified across perPage 3 / 5 / 100, page 1 / 2 / 3, and after an MCP server reconnect within the same session. Any PR with review threads reproduces.
Workaround
None in this environment. CCR sessions have no gh CLI, no GITHUB_TOKEN, and no direct GitHub API access — all confirmed in env. Other Claude environments fall back to gh api graphql to fetch the missing node IDs; that path is unavailable here. Manual resolution in the GitHub UI is the only option until fixed.
Environment
Claude Code: 2.1.131
Model: Claude Opus 4.7 (claude-opus-4-7[1m]); reproduces independent of model
Surface: Claude Code Session (CCR) on Anthropic infrastructure
MCP server URL pattern: https://api.anthropic.com/v2/ccr-sessions//github/mcp
MCP server ID: 735f0525-e70b-533b-8355-c868c8e04799
Repo scope: videofactsai/portfolio-paths (any repo reproduces)
Platform: Linux 6.18.5
Error Messages/Logs
Steps to Reproduce
In any Claude Code Session scoped to a repo with a PR that has review threads, call:
mcp__github__pull_request_read({
method: "get_review_comments",
owner: "videofactsai",
repo: "portfolio-paths",
pullNumber: 205,
perPage: 3
})
Inspect any element of the returned review_threads[] array.
Observe that the keys are exactly is_resolved | is_outdated | is_collapsed | comments | total_count — no thread id.
Try to call mcp__github__resolve_review_thread — there is no value available to pass as threadId.
Verified across perPage 3 / 5 / 100, page 1 / 2 / 3, and after an MCP server reconnect within the same session. Any PR with review threads reproduces.
Workaround
None in this environment. CCR sessions have no gh CLI, no GITHUB_TOKEN, and no direct GitHub API access — all confirmed in env. Other Claude environments fall back to gh api graphql to fetch the missing node IDs; that path is unavailable here. Manual resolution in the GitHub UI is the only option until fixed.
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
No response
Claude Code Version
Claude Code 2.1.131, model Claude Opus 4.7 (claude-opus-4-7[1m])
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
No response
Activity
curdriceaurora commentedon May 13, 2026
The fix was already merged upstream as github/github-mcp-server PR #1919 ("Feat/resolve review threads") on March 13, 2026, which resolved upstream issue #1768.
However, anthropics/github-mcp-server (Claude Code's bundled GitHub MCP fork) is currently ~644 commits behind upstream and has not pulled in this fix.
devantler commentedon May 21, 2026
Any chance for an update of the MCP server soon? This makes Claude Code webs Auto Fixing feature unusable when requiring comments to be resolved before merging via GitHub repository rulesets. Pretty big limitation, so a MCP version bump would be super helpful 🙏
Phylu commentedon May 26, 2026
Here is the upstream PR that should fix the issue: github/github-mcp-server#2245
github-actions commentedon Jun 26, 2026
Closing for now — inactive for too long. Please open a new issue if this is still relevant.
github-actions commentedon Aug 29, 2026
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.