> ## 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.

# Central configuration

> Manage CodeRabbit settings across all repositories from a single central location, eliminating per-repository configuration updates.

Maintain CodeRabbit configuration for your entire organization in one dedicated repository. Create a `coderabbit` repository in your organization and add your `.coderabbit.yaml` file - CodeRabbit automatically applies these settings to any repository that doesn't have its own configuration.

<CardGroup cols={2}>
  <Card title="Organization-wide consistency" icon="building-2">
    Single source of truth for code review standards across all repositories
  </Card>

  <Card title="Simplified management" icon="settings">
    Update settings once instead of modifying each repository individually
  </Card>
</CardGroup>

<Card title="Configuration hierarchy" icon="layers">
  Global overrides take precedence over everything, followed by repository
  configs, central configs, and organization defaults - giving admins
  enforcement power while keeping teams flexible
</Card>

## How configuration resolution works

CodeRabbit checks for configuration in this priority order:

<table style={{ width: "100%", tableLayout: "fixed" }}>
  <thead>
    <tr>
      <th style={{ width: "20%", textAlign: "left" }}>Priority</th>
      <th style={{ width: "25%", textAlign: "left" }}>Source</th>
      <th style={{ width: "55%", textAlign: "left" }}>Location</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>0 (Highest)</td>
      <td><a href="/guides/configuration-overview#global-overrides">Global overrides</a></td>
      <td>CodeRabbit UI - Organization Settings - Global Overrides</td>
    </tr>

    <tr>
      <td>1</td>
      <td><a href="/getting-started/yaml-configuration">Repository file</a></td>
      <td><code>.coderabbit.yaml</code> in the repository</td>
    </tr>

    <tr>
      <td>2</td>
      <td><a href="/configuration/central-configuration">Central repository</a></td>
      <td><code>.coderabbit.yaml</code> in <code>coderabbit</code> repository</td>
    </tr>

    <tr>
      <td>3</td>
      <td><a href="/guides/repository-settings">Repository settings</a></td>
      <td>CodeRabbit UI - Repository Settings</td>
    </tr>

    <tr>
      <td>4</td>
      <td><a href="/guides/organization-settings">Organization settings</a></td>
      <td>CodeRabbit UI - Organization Settings</td>
    </tr>

    <tr>
      <td>5 (Lowest)</td>
      <td><a href="/reference/configuration">Default settings</a></td>
      <td>CodeRabbit schema defaults</td>
    </tr>
  </tbody>
</table>

Global overrides are applied as the final layer, after all other sources (including the inheritance chain) have been resolved. This makes them the authoritative source of truth - any value set in global overrides wins over every other configuration layer.

The configuration source appears in the CodeRabbit comment on the pull request:

* **Repository file**: `Path: .coderabbit.yaml`
* **Central repository**: `Repository: coderabbit/.coderabbit.yaml`
* **UI settings**: `CodeRabbit UI`

For enforcing organization-wide policies that repositories cannot override, see [Global overrides](/guides/configuration-overview#global-overrides).

## Setup

<Warning>
  **Critical requirement**: You must install CodeRabbit on the central
  `coderabbit` repository. CodeRabbit needs access to read the configuration
  file.
</Warning>

<Steps>
  <Step title="Create the central repository">
    Create a repository named `coderabbit` in your organization. The location depends on your platform:

    * **GitHub**: `organization/coderabbit`
    * **GitLab**: `group/coderabbit` (or `group/subgroup/coderabbit` for nested
      groups)
    * **Azure DevOps**: `project/coderabbit`
    * **Bitbucket Cloud**: `workspace/coderabbit`
  </Step>

  <Step title="Add your configuration">
    Create a `.coderabbit.yaml` file in the repository root with your
    organization's settings:

    ```yaml theme={null}
    # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
    reviews:
      in_progress_fortune: false
      profile: chill
      request_changes_workflow: true
      high_level_summary: true
      poem: false
      review_status: true
      auto_review:
        enabled: true
        drafts: true
    chat:
      art: false
    ```
  </Step>

  <Step title="Install CodeRabbit">
    Install CodeRabbit on the central `coderabbit` repository through your
    platform's installation process.
  </Step>

  <Step title="Verify configuration">
    Check a repository that doesn't have its own `.coderabbit.yaml` file. The
    configuration source should show `Repository: coderabbit/.coderabbit.yaml`
    in the CodeRabbit UI.
  </Step>
</Steps>

## GitLab hierarchical configuration

GitLab supports team-specific configurations through its nested group structure. CodeRabbit automatically finds the closest `coderabbit` repository in your group hierarchy, allowing different teams to have their own settings while maintaining organization-wide defaults.

**Configuration inheritance example**:

| Project path                      | Configuration used                  |
| --------------------------------- | ----------------------------------- |
| `company/team-a/subteam/project1` | `company/team-a/subteam/coderabbit` |
| `company/team-a/project2`         | `company/team-a/coderabbit`         |
| `company/team-b/project3`         | `company/coderabbit`                |

This enables team-specific configurations with automatic fallback to parent group settings.

<Note>
  For configuration inheritance to work across the group hierarchy, CodeRabbit must be installed on the top-level group (for example, `company` in the table above). This grants CodeRabbit the access it needs to discover and read `coderabbit` repositories at every level of the hierarchy.
</Note>

## Platform limitations

* **Azure DevOps**: Each project requires its own `coderabbit` repository - no cross-project configuration sharing
* **Bitbucket Server**: Central configuration not yet implemented - use individual repository settings

## Repository overrides

Individual repositories can override central configuration by adding their own `.coderabbit.yaml` file.

```yaml theme={null}
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
# Repository-specific config
reviews:
  profile: assertive
  high_level_summary: true
  poem: true
  review_status: true
  auto_review:
    enabled: true
    drafts: false
chat:
  art: true
```

When a repository has its own configuration file, CodeRabbit uses that instead of the central configuration. Repository settings take precedence over central settings.

## Related topics

* [Configuration overview](/guides/configuration-overview) - Understanding CodeRabbit configuration options
* [Repository settings](/guides/repository-settings) - Configuring individual repositories
* [Organization settings](/guides/organization-settings) - Managing organization-level settings
* [Configuration reference](/reference/configuration#reference) - Complete configuration reference
