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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions