> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coderabbit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Request changes workflow

> Use request changes workflow to keep review decisions synchronized with resolved feedback, completed reviews, and Pre-Merge Checks.

export const ProPlanBadge = ({tip = "This feature is available as part of the Pro, Pro+ and Enterprise plans. Please refer to our pricing page for more information about our plans and features.", title = "Pro Plan", cta = "Read more", href = "https://coderabbit.ai/pricing", disabled = false}) => {
  return <Tooltip tip={tip} cta={cta} href={href}>
        <Badge icon="shield-check" disabled={disabled || undefined}>
            {title}
        </Badge>
    </Tooltip>;
};

export const AllPlatformsBadge = ({tip = "This feature is available on all supported platforms: GitHub, GitLab, Azure DevOps, and Bitbucket.", title = "All Platforms", cta, href, disabled = false}) => {
  return <Tooltip tip={tip} cta={cta} href={href}>
        <Badge icon="globe" disabled={disabled || undefined}>
            {title}
        </Badge>
    </Tooltip>;
};

<AllPlatformsBadge /> | <ProPlanBadge />

Request Changes Workflow keeps CodeRabbit's review decision synchronized with its actionable feedback. When enabled, CodeRabbit requests changes when a review posts actionable inline comments and approves the pull request after the approval requirements are met.

<Frame caption="A GitHub's pull request blocked by CodeRabbit's request-changes review">
  <img src="https://mintcdn.com/coderabbit/N5RZvrAPwAPwn-SE/assets/images/changes-requested.png?fit=max&auto=format&n=N5RZvrAPwAPwn-SE&q=85&s=130eae8ae2948a12a11e65ff2768e94a" alt="GitHub pull request merge box showing a changes requested review from coderabbitai[bot] and merging blocked" width="1876" height="812" data-path="assets/images/changes-requested.png" />
</Frame>

## Enabling the workflow

The setting is disabled by default. Enable it for a repository or organization using either configuration method:

<Tabs borderBottom>
  <Tab title="Using configuration file">
    Add `reviews.request_changes_workflow` to `.coderabbit.yaml` in your repository or central configuration repository:

    ```yaml .coderabbit.yaml theme={null}
    reviews:
      request_changes_workflow: true
    ```
  </Tab>

  <Tab title="Using Web Interface">
    Open the [repository](/guides/repository-settings) or [organization](/guides/organization-settings) settings in the CodeRabbit web interface, find `Reviews → Behaviour → Request changes workflow`, enable it, and save your changes.
  </Tab>
</Tabs>

## How it works

<Steps>
  <Step title="CodeRabbit reviews a commit">
    If the review posts actionable inline comments, CodeRabbit submits a request-changes review.
  </Step>

  <Step title="You address the feedback">
    Update the pull request and let CodeRabbit review the new commit.
  </Step>

  <Step title="CodeRabbit resolves addressed threads">
    During the next review, CodeRabbit checks its open threads and resolves those that the changes addressed.
  </Step>

  <Step title="CodeRabbit verifies approval requirements">
    * The latest commit must have completed a review.
    * All required review threads must be resolved.
    * No Pre-Merge Checks can be failing.
  </Step>

  <Step title="CodeRabbit approves the reviewed commit">
    Immediately before approval, CodeRabbit verifies that the pull request HEAD has not changed.
  </Step>
</Steps>

On GitLab, discussion handling depends on what triggers the approval check. When resolving a discussion triggers the check, CodeRabbit waits until GitLab reports that all blocking discussions are resolved. When a clean CodeRabbit review triggers the check, CodeRabbit checks only discussions that it created.

## When approval remains pending

CodeRabbit does not approve automatically when any approval requirement is unmet. Approval remains pending when:

* The latest review is missing, in progress, failed, or rate-limited.
* The current pull request HEAD is not among the commits CodeRabbit reviewed.
* A required review thread is unresolved.
* A Pre-Merge Check is failing.
* The pull request HEAD changes while CodeRabbit verifies the approval requirements.

If every changed file is excluded by path filters, CodeRabbit skips the review content but still evaluates the remaining approval requirements and can approve the pull request.

### Rate-limited reviews

During a rate-limited run, CodeRabbit may still resolve threads that the new changes addressed. The approval stays pending because the latest commit did not complete a review. Comment `@coderabbitai rate limit` to check your remaining capacity, then run `@coderabbitai review` after capacity is restored.

### Explicit approval commands

Top-level `@coderabbitai resolve` and `@coderabbitai approve` comments are explicit overrides when this workflow is enabled. Both commands resolve CodeRabbit-authored review threads and can submit approval without requiring the latest commit to have a completed review or requiring Pre-Merge Checks to pass. CodeRabbit still verifies that the pull request HEAD has not changed immediately before approval. Run `@coderabbitai review` first if every approved commit must complete a review.

## What's next

<CardGroup cols={1}>
  <Card title="Pre-Merge Checks" href="/pr-reviews/pre-merge-checks" icon="shield-check" horizontal>
    Configure the quality gates that CodeRabbit verifies before approval
  </Card>

  <Card title="Review commands" href="/reference/review-commands" icon="terminal" horizontal>
    Trigger reviews manually and inspect your remaining review capacity
  </Card>
</CardGroup>
