[BUG] PR monitoring routine silently no-ops on repos that report CI via commit statuses
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Summary
The web-session PR monitoring routine (the one that subscribes to a PR on pull_request.opened and is supposed to triage CI failures) never wakes and cannot poll CI state on repos whose CI publishes results as GitHub commit statuses rather than as check runs. The session sits idle through a clearly-failed build and the user gets no triage comment.
Concretely, the Claude Code GitHub App is missing the Commit statuses: Read-only permission, and subscribe_pr_activity does not appear to forward GitHub status webhook events. Both the event-driven and the polling paths are blind on these repos.
Diagnosis
Verified via MCP tools from inside the session:
mcp__github__pull_request_read{method: "get_check_runs", ...}→{"total_count": 0, "check_runs": []}— confirms the repo's CI does not publish check runs.mcp__github__pull_request_read{method: "get_status", ...}→403 Resource not accessible by integration— confirms the integration token lacksstatuses:read.- Verified the org-level install permissions at for the Claude Code GitHub App. Currently granted:
- Read: members, metadata
- Read & write: actions, checks, code, discussions, issues, pull requests, repository hooks, workflows
- Commit statuses: not requested at all (so admins cannot grant it — the app would have to request it first)
What Should Happen?
- Add
statuses: readto the Claude Code GitHub App manifest. Org admins will then see a "permission update requested" banner and can approve it per-install. - Have the
subscribe_pr_activitybridge subscribe to and forward GitHubstatusevents (not onlycheck_run/check_suite), wrapped as<github-webhook-activity>the same way. - Once both are in place,
mcp__github__pull_request_read{method: "get_status"}should also stop returning 403, restoring the polling fallback.
Error Messages/Logs
Steps to Reproduce
- Session started by
pull_request.openedwebhook; routine calledmcp__github__subscribe_pr_activitysuccessfully - CI ran, failed, posted statuses on head SHA
- No
<github-webhook-activity>event was delivered to the session - Routine ended its turn after subscribing and never woke again
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.152
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗