From 8e7926d8608e3c7ccc3196cada98728509f6cb79 Mon Sep 17 00:00:00 2001 From: Damien Daspit Date: Thu, 1 Oct 2026 12:48:30 -0400 Subject: [PATCH] Let @claude follow up on PRs that Claude opened The job only ran when the issue or PR author was an owner, member or collaborator. The bot's association is NONE, so a member's @claude comment on a PR Claude opened was skipped, as on #390. PRs authored by claude[bot] now pass that check. The commenter must still be a member. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/claude.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index 83f55a54..7a4cfd18 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -17,12 +17,15 @@ jobs: claude: # Skips outsiders before the install; the action still checks write access. The issue or PR # body reaches the prompt whoever wrote it, and an outsider's fork PR would run its code. + # Claude's own PRs are let through: the bot's association is NONE, but it wrote the body + # and pushed the branch to this repo. if: | contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association || github.event.review.author_association || github.event.issue.author_association) && - contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), - github.event.issue.author_association || github.event.pull_request.author_association) && + (contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), + github.event.issue.author_association || github.event.pull_request.author_association) || + (github.event.issue.user.login || github.event.pull_request.user.login) == 'claude[bot]') && ((github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) || (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) || (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||