Skip to content

Claude PR review bot: review threads are never auto-resolved #760

@jbrejner

Description

@jbrejner

Observation

When the Claude PR review bot posts inline review comments, those threads are never automatically resolved — even after the issue has been fixed and the bot has acknowledged it. Threads can only be resolved via a GraphQL mutation, which is not in the bot's current allowedTools.

This leads to noise: the PR shows many open threads that are effectively closed, and the bot repeatedly re-raises the same issues on each new review run because it sees the thread as unresolved.

Options

Option A — Add thread resolution to the bot's allowed tools.

Add Bash(gh api graphql:*) to allowedTools in .github/workflows/claude-pr-review.yml and update the prompt to instruct the bot to resolve a thread after it confirms an issue is fixed. The mutation is:

```bash
gh api graphql -f query='mutation { resolveReviewThread(input: {threadId: "..."}) { thread { isResolved } } }'
```

  • Pro: clean, threads actually close
  • Con: risk of the bot resolving threads it incorrectly thinks are fixed

Option B — Accept the limitation, use "reply to dismiss" pattern.

The bot replies when something is fixed/dismissed, leaving threads visually open but with a clear resolution in the conversation.

  • Pro: no workflow changes needed
  • Con: threads remain open, bot may re-raise same issues on next review run

Option C — Hybrid: bot resolves only threads it opened itself, and only when it can confirm the fix is present in the current code.

Reduces risk of over-resolution while keeping the workflow clean.

References

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions