Skip to content

CodeRabbit auto-review never fires: inherited label gate deadlocks against auto_apply_labels #1424

Description

@groupthinking

Summary

CodeRabbit auto-review is skipped on every pull request in this repository. The CodeRabbit commit status reads:

Review skipped: excluded by label configuration

The cause is a required-labels gate inherited from the CodeRabbit dashboard / org UI. It is not present in .coderabbit.yaml, so it is invisible in the repo and has never been reviewed in a PR.

The deadlock

The inherited gate requires at least one of ~26 labels before a review will start:

architecture-gap, bug, ci-cd, ci/cd, copilot-rabbit, documentation, duplicate,
enhancement, frontend, github_actions, good first issue, help wanted,
high-priority, invalid, javascript, ml-model, needs-triage, pipeline-critical,
placeholder-code, priority:high, python, python:uv, question, styling, tests, v0

Four of these — architecture-gap, ci-cd, pipeline-critical, placeholder-code — are labels CodeRabbit itself applies, as part of a review, via reviews.auto_apply_labels: true and reviews.labeling_instructions in .coderabbit.yaml.

A pull request opens unlabelled. The gate therefore skips it, and because the review never runs, nothing applies a label that would un-skip it. Labelling after the fact does not retro-trigger the review.

Evidence

Both currently-open non-draft PRs, on their current heads:

PR Head CodeRabbit status
#1381 8628b5e Review skipped: excluded by label configuration
#1410 3f72b75 Review skipped: excluded by label configuration

#1410 carries documentation and ci-cd, both of which are in the required list — and it is still skipped, because the labels were added after open. This is recorded on the PR itself:

Auto-review skipped at open time for want of a qualifying label; adding documentation and ci-cd afterwards did not retro-trigger it, so requesting explicitly.

Every CodeRabbit review this repo has received was requested by hand with @coderabbitai full review.

Why it matters

Any automated PR-remediation loop that expects CodeRabbit to review on open silently gets nothing. The failure is quiet — the commit status is success, not a failure, so a green CodeRabbit status currently means "did not review" just as often as it means "reviewed and found nothing".

Secondary finding

.coderabbit.yaml's header claims to be the single source of truth for settings that previously lived only in the dashboard. This gate was not in it. With inheritance: true, any setting the file leaves unset can be overridden from the dashboard without review — so "unset" is not a safe way to express "I want the default".

Acceptance criteria

  • reviews.auto_review.labels is set explicitly in .coderabbit.yaml so the inherited gate no longer applies
  • Draft PRs remain excluded (drafts: false unchanged)
  • No other CodeRabbit setting changes
  • The header comment records that unset values are dashboard-overridable

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions