Skip to content

fix: enable CodeRabbit approvals via request_changes_workflow#12476

Merged
zkochan merged 1 commit into
mainfrom
enable-coderabbit-approvals
Jun 17, 2026
Merged

fix: enable CodeRabbit approvals via request_changes_workflow#12476
zkochan merged 1 commit into
mainfrom
enable-coderabbit-approvals

Conversation

@zkochan

@zkochan zkochan commented Jun 17, 2026

Copy link
Copy Markdown
Member

What

Declares reviews.request_changes_workflow: true in .coderabbit.yaml and explicitly disables pre_merge_checks.

Why

CodeRabbit stopped approving PRs. Querying its effective config via the @coderabbitai configuration command revealed the actual cause:

reviews:
  request_changes_workflow: false
  ...
  pre_merge_checks:
    docstrings: { mode: warning, threshold: 80 }
    title: { mode: warning, requirements: '' }
    description: { mode: warning }
    issue_assessment: { mode: warning }
  • request_changes_workflow: false is dispositive — CodeRabbit submits an approving review only when this is true; otherwise it just comments and resolves threads. The dashboard toggle for this was believed to be on, but the effective config proves it isn't being applied (likely scope/inheritance — note inheritance: false). Declaring it in the repo config makes approvals deterministic and independent of dashboard state.
  • pre_merge_checks are enabled by default / via the dashboard, not by our config — note title.requirements is now empty, proving the block we previously removed from .coderabbit.yaml was read and dropped, yet the checks persist. They add a status block without review value here, so they're explicitly set to "off" (quoted so YAML doesn't coerce it to boolean false). Title enforcement remains covered by the commit-msg hook and the squash-title convention.

This supersedes the earlier theory that removing the pre_merge_checks block (#12474) would restore approvals — the real blocker was request_changes_workflow.


Written by an agent (Claude Code, claude-opus-4-8).

Summary by CodeRabbit

  • Chores
    • Updated code review configuration to modify PR validation behavior and automated check processing.

CodeRabbit's effective config (from the `@coderabbitai configuration`
command) showed request_changes_workflow: false, which is why it only
ever commented and never approved — CodeRabbit submits approving reviews
only when this is true. The dashboard toggle wasn't taking effect, so
declare it in-repo.

Also explicitly disable pre_merge_checks: they're enabled by default and
in the dashboard (removing the block from the config did not turn them
off), and they add a status block without review value here. Title
enforcement stays covered by the commit-msg hook and squash-title
convention.
@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

Warning

Ignoring CodeRabbit configuration file changes. For security, only the configuration from the base branch is applied for open source repositories.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: bee46119-c1e0-4eca-858a-a96d7dd1313f

📥 Commits

Reviewing files that changed from the base of the PR and between 7a31307 and 9530e80.

📒 Files selected for processing (1)
  • .coderabbit.yaml

📝 Walkthrough

Walkthrough

.coderabbit.yaml is updated to set reviews.request_changes_workflow to true and to explicitly configure reviews.pre_merge_checks with all sub-modes (docstrings, title, description, issue_assessment) set to "off", replacing previously unconfigured behavior.

Changes

CodeRabbit Configuration Update

Layer / File(s) Summary
Review workflow and pre-merge checks settings
.coderabbit.yaml
request_changes_workflow is set to true; pre_merge_checks is enabled with all sub-modes (docstrings, title, description, issue_assessment) explicitly set to mode: "off".

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • pnpm/pnpm#12460: Modifies .coderabbit.yaml's reviews.pre_merge_checks configuration, specifically adding a title pre-merge check — directly related to the same config block being changed here.
  • pnpm/pnpm#12474: Also modifies .coderabbit.yaml around reviews.pre_merge_checks and auto-approval behavior, removing pre-merge checks configuration to restore auto-approvals.

Suggested labels

product: pnpm

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch enable-coderabbit-approvals

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@zkochan zkochan merged commit c18cbd4 into main Jun 17, 2026
9 of 10 checks passed
@zkochan zkochan deleted the enable-coderabbit-approvals branch June 17, 2026 12:51
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Enable CodeRabbit approvals by turning on request_changes_workflow
🐞 Bug fix ⚙️ Configuration changes 🕐 Less than 10 minutes

Grey Divider

Description

• Force CodeRabbit to submit approving reviews by enabling request_changes_workflow in-repo.
• Explicitly disable pre_merge_checks to avoid non-value status blocks and keep review flow clean.
• Document why repo config is used over dashboard state to make behavior deterministic.
Diagram

graph TD
PR["GitHub PR"] --> CR["CodeRabbit"] --> OUT["GitHub review output"]
CFG[".coderabbit.yaml"] --> CR
OUT --> APP["Approving review"]
OUT --> STAT["Pre-merge status block (disabled)"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Rely on CodeRabbit dashboard toggles
  • ➕ No repo config change needed
  • ➕ Centralized management across repositories
  • ➖ Effective config may not apply due to scope/inheritance quirks
  • ➖ Behavior becomes non-deterministic for contributors and reviewers
2. Enable/fix inheritance and manage defaults upstream
  • ➕ Potentially reduces per-repo configuration duplication
  • ➕ Consistent policy if inheritance is correctly applied
  • ➖ Depends on correct org/repo inheritance behavior and permissions
  • ➖ Harder to validate and troubleshoot from within the repo
3. Keep pre_merge_checks on but tune to minimal signal
  • ➕ Retains automated visibility for title/description/docstring standards
  • ➕ May help in repos lacking other enforcement
  • ➖ Still adds status noise and can interfere with the approval flow
  • ➖ Overlaps with existing commit-msg hook and squash-title conventions here

Recommendation: Keep the PR’s approach: declaring request_changes_workflow: true in-repo makes approvals deterministic and resilient to dashboard/inheritance surprises. Explicitly setting pre_merge_checks modes to "off" is also appropriate given the repo’s existing title enforcement and the desire to avoid non-actionable status blocks.

Files changed (1) +18 / -7

Other (1) +18 / -7
.coderabbit.yamlForce approval workflow and disable pre-merge checks +18/-7

Force approval workflow and disable pre-merge checks

• Enables reviews.request_changes_workflow so CodeRabbit will emit approving reviews once threads are resolved. Adds a pre_merge_checks block with each check mode set to "off" to explicitly suppress dashboard/default-enabled checks and prevent status-block noise.

.coderabbit.yaml

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. No PR title enforcement 🐞 Bug ⚙ Maintainability
Description
Disabling reviews.pre_merge_checks.title removes CodeRabbit’s PR-title check, but the replacement
referenced in comments is a local commit-msg hook that validates commit messages (not PR titles)
and won’t run for GitHub-created squash merge commits. This makes Conventional-Commit-style
PR/squash titles best-effort rather than reliably enforced by the repo’s automation.
Code

.coderabbit.yaml[R29-30]

+    title:
+      mode: "off"
Evidence
The PR explicitly turns the CodeRabbit title pre-merge check off. The repo’s referenced alternative
enforcement is a husky commit-msg hook (local git hook) running commitlint on the commit message
file, and AGENTS.md documents that these hooks only run when installed locally—so they do not
provide a reliable repo-side gate for PR titles or squash merges created in GitHub.

.coderabbit.yaml[22-34]
.husky/commit-msg[1-3]
AGENTS.md[176-186]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`.coderabbit.yaml` disables CodeRabbit’s PR title pre-merge check (`pre_merge_checks.title.mode: "off"`). The file comments state title enforcement is already covered by a `commit-msg` hook, but that hook is local-only and checks commit message text, not PR titles, and it won’t run for GitHub UI–created squash merge commits.

### Issue Context
The repo documents and implements local commit-message enforcement via husky/commitlint, but that mechanism is not a server-side gate.

### Fix Focus Areas
- `.coderabbit.yaml[22-34]
- `.husky/commit-msg[1-3]
- `AGENTS.md[176-186]

### Suggested fix options
Pick one:
1) Re-enable CodeRabbit’s title check (e.g., set `pre_merge_checks.title.mode` back to `warning`/the desired non-blocking mode).
2) Add a GitHub Actions workflow that validates PR titles (and/or the would-be squash commit title) against Conventional Commits, and make it a required status check if you want it enforced.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

Comment thread .coderabbit.yaml
Comment on lines +29 to +30
title:
mode: "off"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

1. No pr title enforcement 🐞 Bug ⚙ Maintainability

Disabling reviews.pre_merge_checks.title removes CodeRabbit’s PR-title check, but the replacement
referenced in comments is a local commit-msg hook that validates commit messages (not PR titles)
and won’t run for GitHub-created squash merge commits. This makes Conventional-Commit-style
PR/squash titles best-effort rather than reliably enforced by the repo’s automation.
Agent Prompt
### Issue description
`.coderabbit.yaml` disables CodeRabbit’s PR title pre-merge check (`pre_merge_checks.title.mode: "off"`). The file comments state title enforcement is already covered by a `commit-msg` hook, but that hook is local-only and checks commit message text, not PR titles, and it won’t run for GitHub UI–created squash merge commits.

### Issue Context
The repo documents and implements local commit-message enforcement via husky/commitlint, but that mechanism is not a server-side gate.

### Fix Focus Areas
- `.coderabbit.yaml[22-34]
- `.husky/commit-msg[1-3]
- `AGENTS.md[176-186]

### Suggested fix options
Pick one:
1) Re-enable CodeRabbit’s title check (e.g., set `pre_merge_checks.title.mode` back to `warning`/the desired non-blocking mode).
2) Add a GitHub Actions workflow that validates PR titles (and/or the would-be squash commit title) against Conventional Commits, and make it a required status check if you want it enforced.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant