Skip to main content

Configuration reference

This reference guide lists all of the code review configuration options that CodeRabbit makes available.

For an overview of how configuration works with CodeRabbit, see Configure CodeRabbit.

How to use this reference

Each entry in this reference corresponds to a single CodeRabbit configuration setting, including an informational table and a description of what the setting does. The tables have two views, which you can select with a tab:

Global Settings

Data retention

LocationGeneral > Data Retention
Defaulttrue

If true, then CodeRabbit is allowed to retain enough data about your code review history in order to enable the following features:

  • Cacheing: allows CodeRabbit to store data about your repository between code reviews, improving the speed of subsequent reviews.
  • Knowledge base: allows CodeRabbit to maintain its own database about your repository and your team's code review preferences, which can improve the quality and specificity of code reviews generated by CodeRabbit.

If your organization operates under strict data-retention policies, then you can disable data retention. Doing so immediately deletes any cache or knowledge-base data that CodeRabbit has collected for your organization, and prevents CodeRabbit from retaining further cache or knowledge-base data.

If you re-enable data retention, then CodeRabbit re-enables these features, and resumes collecting cache and knowledge-base data.

Early Access

LocationGeneral > Early Access
Defaultfalse

If enabled, then CodeRabbit lets you use early-access features in your code reviews.

Enable Free Tier

LocationGeneral > Enable Free Tier
Defaulttrue

If enabled, then CodeRabbit allows free tier features for users not on a paid plan.

For more information about payment tiers and features, see Pricing.

Language

LocationGeneral > Language
Defaulten-US

Defines the written language that CodeRabbit presents its review comments in. Defaults to American English.

Tone Instructions

LocationGeneral > Tone Instructions
Default

A natural-language description of the tone of voice that CodeRabbit should apply to its review instructions, if you want a tone different from its default.

A few possible examples:

  • Use an encouraging, supportive tone that celebrates good practices while gently suggesting improvements.
  • Adopt a concise, matter-of-fact style that gets straight to the point without unnecessary pleasantries.
  • Deliver all review comments in the style of a televised nature documentary, perhaps with David Attenborough hosting.

Review

Basic Review Settings

Abort On Close

LocationReview > Settings > Abort On Close
Defaulttrue

Abort the in-progress review if the pull request is closed or merged.

Assess Linked Issues

LocationReview > Settings > Assess Linked Issues
Defaulttrue

If enabled, then the reviews that CodeRabbit generates include assessments of how well a proposed code change issues that the pull request refers to. CodeRabbit considers issues referred to by number in the following locations:

  • The title of the pull request.
  • The description of the pull request.
  • (GitHub only) The Development field of the pull request.

Besides this setting, issue assessment requires at least one of the following:

  • You use the built-in issue managemet system of GitHub or GitLab.
  • You have integrated CodeRabbit with an external issue manager.

For more information, see Integrate issue tracking and Let CodeRabbit read your issue trakcer.

Auto Apply Labels

LocationReview > Settings > Auto Apply Labels
Defaultfalse

Automatically apply the suggested labels to the PR/MR.

Auto Assign Reviewers

LocationReview > Settings > Auto Assign Reviewers
Defaultfalse

Automatically assign suggested reviewers to the pull request

Auto Title Instructions

LocationReview > Settings > Auto Title Instructions
Default

Custom instructions for auto-generating the PR/MR title.

Auto Title Placeholder

LocationReview > Settings > Auto Title Placeholder
Default@coderabbitai

Add this keyword in the PR/MR title to auto-generate the title.

Changed Files Summary

LocationReview > Settings > Changed Files Summary
Defaulttrue

Generate a summary of the changed files in the walkthrough.

Collapse Walkthrough

LocationReview > Settings > Collapse Walkthrough
Defaultfalse

Generate walkthrough in a markdown collapsible section.

Commit Status

LocationReview > Settings > Commit Status
Defaulttrue

Set the commit status to 'pending' when the review is in progress and 'success' when it is complete.

Disable Cache

LocationReview > Settings > Disable Cache
Defaultfalse

Activate this setting to disallow CodeRabbit from caching your repository's code and dependencies. This forces CodeRabbit to download the code and dependencies fresh from the repository for every code review that it performs.

When caching is allowed, then CodeRabbit stores a cache of code and metadata from your repostory for up to seven days after its most recent code review. This cache lets CodeRabbit save time and effort in between subsquent reviews of the same repository.

We recommend leaving this setting off, which allows caching, and can speed up code reviews. For more information, see Trust the defaults.

note

The Data Retention setting overrides this one. If you disable all data retention, then your repositories won't keep a cache.

Fail Commit Status

LocationReview > Settings > Fail Commit Status
Defaultfalse

Set the commit status to 'failure' when the PR cannot be reviewed by CodeRabbit for any reason.

High Level Summary

LocationReview > Settings > High Level Summary
Defaulttrue

Generate a high level summary of the changes in the PR/MR description.

High Level Summary In Walkthrough

LocationReview > Settings > High Level Summary In Walkthrough
Defaultfalse

Include the high level summary in the walkthrough comment.

High Level Summary Placeholder

LocationReview > Settings > High Level Summary Placeholder
Default@coderabbitai summary

Placeholder in the PR/MR description that gets replaced with the high level summary.

Labeling Instructions

LocationReview > Settings > Labeling Instructions
DefaultEmpty array

Provide guidelines for suggesting labels for the PR/MR. When specific labels or instructions are provided, only those labels are considered, though previous examples are still used to inform the suggestions. If no such labels are provided, suggestions are based solely on previous PR/MRs.

Path Filters

LocationReview > Settings > Path Filters
DefaultEmpty array

Path filters, if defined, restrict the portions of your repository that CodeRabbit uses for context when preparing code reviews.

You can define a list of path specifications, relative to the root of your repository, to use as path filters.

Paths can be exclude paths, which start with a leading ! character, or include paths. If the list of paths contains at least one include path, then CodeRabbit includes only files that match the provided paths.

For example, the following list of path filters instructs CodeRabbit to limit its reviews only to files found in the src top-level directory, but exclude any .bin or .csv files:

src/**
!**/*.{bin,csv}
note

Under the hood, CodeRabbit uses your provided list of path filters as an argument to git sparse-checkout when preparing its own copy of your repository for code review context.

We strongly recommend defining path filters for any repositories that contain a significant amount of generated files or data that has no contextual bearing on code reviews. CodeRabbit can work faster if it can ignore files that aren't relevant to pull requests. For more information, see Speed up reviews by adding path filters.

Path Instructions

LocationReview > Settings > Path Instructions
DefaultEmpty array

Path instructions are additional sets of instructions, expressed in natural lanaguge, that you provide to CodeRabbit for reveiwing certain files in your repository.

You associate each set of instuctions with a file path relative to the root of your repository. Your path specification can use extended glob patterns.

The following example defines a set of path instructions for all TypeScript and JavaScript files in a reposistory's src directory:

An example path instruction

For further examples of path instructions specific to various programming langauges, see the awesome-coderabbit public repository.

Poem

LocationReview > Settings > Poem
Defaulttrue

Generate a poem in the walkthrough comment.

Profile

LocationReview > Settings > Profile
Defaultchill

An overall selector for the level of detail that CodeRabbit should apply to its reviews. Valid values are the following:

  • Chill: CodeRabbit provides its usual level of commentary.
  • Assertive: CodeRabbit provides significantly deeper or more verbose commentary, as much as possible.

The Chill profile is the default setting, and is appropriate for most coding contexts. The Assertive profile mode can get quite nitpicky in some circumstances. We recommend leaving this setting in Chill, unless a wordier level of code critique would benefit your team's work.

LocationReview > Settings > Related Issues
Defaulttrue

Include possibly related issues in the walkthrough.

LocationReview > Settings > Related PRs
Defaulttrue

Include possibly related pull requests in the walkthrough.

Request Changes Workflow

LocationReview > Settings > Request Changes Workflow
Defaultfalse

If enabled, then CodeRabbit marks a pull request as approved once all comments that CodeRabbit made have been resolved.

Enable this setting if you want to have CodeRabbit's approval count towards a minimum number of approvals that your have configured your Git platform to require before a pull request can be merged.

Review Status

LocationReview > Settings > Review Status
Defaulttrue

Post review details on each review. Additionally, post a review status when a review is skipped in certain cases.

Sequence Diagrams

LocationReview > Settings > Sequence Diagrams
Defaulttrue

Generate sequence diagrams in the walkthrough.

Suggested Labels

LocationReview > Settings > Suggested Labels
Defaulttrue

Suggest labels based on the changes in the pull request in the walkthrough.

Suggested Reviewers

LocationReview > Settings > Suggested Reviewers
Defaulttrue

Suggest reviewers based on the changes in the pull request in the walkthrough.

Automatic Review

Enable Automatic Review

LocationReview > Auto Review > Automatic Review
Defaulttrue

If enabled, then CodeRabbit reviews new and updated pull requests automatically. For more information, see Automatically review pull requests.

If disabled, then CodeRabbit performs only reviews that you request manually. For more information on manual review commands, see Manually request code reviews.

Disabling this setting also effectively disables all of the other settings listed in this section.

Automatic Incremental Review

LocationReview > Auto Review > Automatic Incremental Review
Defaulttrue

If enabled, then CodeRabbit automatically performs incremental reviews of pull requests that it has already reviewed, and you must manually request full reviews.

If disabled, then CodeRabbit always performs full reviews, and you must manually request incremental reviews.

For more information on manual review commands, see Manually request code reviews.

We recommend leaving this option enabled.

Base Branches

LocationReview > Auto Review > Base Branches
DefaultEmpty array

A list of branches that CodeRabbit performs automatic code reviews on, other than the reposiorty's main branch (usually main or master.)

For example, if you add staging as a base branch, then CodeRabbit automatically reviews pull requests on both your repository's default branch and its staging branch.

Drafts

LocationReview > Auto Review > Drafts
Defaultfalse

If defined, then CodeRabbit automatically reviews pull requests marked as a draft in your Git platform.

Ignore Title Keywords

LocationReview > Auto Review > Ignore Title Keywords
DefaultEmpty array

Ignore reviewing if the title of the pull request contains any of these keywords (case-insensitive).

Labels

LocationReview > Auto Review > Labels
DefaultEmpty array

If defined with at least one label, then CodeRabbit automatically reviews only pull requests that have at least one of the labels in this list.

In this case, you can manually request reviews of pull requests lacking a qualifying label. For more information on manual review commands, see Manually request code reviews.

Finishing Touches

Docstrings

LocationReview > Finishing Touches > Docstrings
Defaulttrue

If enabled, then CodeRabbit can generate inline documentation for functions added in a pull request. For more information, see Docstrings.

Unit Tests

LocationReview > Finishing Touches > Unit Tests
Defaulttrue

If enabled, then CodeRabbit can generate unit tests for code added in a pull request. For more information, see Unit Test Generation.

Chat

Auto Reply

LocationChat > Auto Reply
Defaulttrue

Enable the bot to reply automatically without requiring the user to tag it.

Integrations

Jira

LocationChat > Jira
Defaultauto

Enable the Jira integration for opening issues, etc. 'auto' disables the integration for public repositories.

Linear

LocationChat > Linear
Defaultauto

Enable the Linear integration for opening issues, etc. 'auto' disables the integration for public repositories.

Knowledge Base

Basic settings

Opt Out

LocationKnowledge Base > Opt Out
Defaultfalse

Disable all knowledge base features that require data retention. If you opt out after opting in, all of your existing knowledge base data will be removed from the system.

Pull Requests

LocationKnowledge Base > Pull Requests
Defaultauto

Specify the scope of pull requests to use for the knowledge base. 'local' uses the repository's pull requests, 'global' uses the organization's pull requests, and 'auto' uses repository's pull requests for public repositories and organization's pull requests for private repositories.

LocationKnowledge Base > Web Search
Defaulttrue

Enable the web search integration.

Issues

LocationKnowledge Base > Issues
Defaultauto

Specify the scope of git platform (GitHub/GitLab) issues to use for the knowledge base. 'local' uses the repository's issues, 'global' uses the organization's issues, and 'auto' uses repository's issues for public repositories and organization's issues for private repositories.

Jira

Enable Jira

LocationKnowledge Base > Jira
Defaultauto

Enable the Jira knowledge base integration. 'auto' disables the integration for public repositories.

Project Keys

LocationKnowledge Base > Project Keys
DefaultEmpty array

Specify the Jira project keys to use for the knowledge base.

Learnings

LocationKnowledge Base > Learnings
Defaultauto

Specify the scope of learnings to use for the knowledge base. 'local' uses the repository's learnings, 'global' uses the organization's learnings, and 'auto' uses repository's learnings for public repositories and organization's learnings for private repositories.

Linear

Enable Linear

LocationKnowledge Base > Linear
Defaultauto

Enable the Linear knowledge base integration. 'auto' disables the integration for public repositories.

Team Keys

LocationKnowledge Base > Team Keys
DefaultEmpty array

Specify the Linear team keys (identifiers) to use for the knowledge base. E.g. 'ENG'

Code Generation

Code Generation Language

LocationCode Generation > Language
Defaulten-US

Set the language for docstrings by using the corresponding ISO language code.

Docstring Path Instructions

LocationCode Generation > Path Instructions
DefaultEmpty array

Provide additional guidelines for docstring generation based on file paths.

Unit Test Path Instructions

LocationCode Generation > Unit Test Generation
DefaultEmpty array

Provide additional guidelines for unit test generation based on file paths.

Tools

CodeRabbit integrates with various third-party tools for enhanced code analysis.

actionlint

actionlint is a static checker for GitHub Actions workflow files.

Enable actionlint

LocationReview > Tools > Enable actionlint
Defaulttrue

is a static checker for GitHub Actions workflow files.

ast-grep

Enable ast-grep | ast-grep is a code analysis tool that helps you to find patterns in your codebase using abstract syntax trees patterns. | v0.38.1

Essential Rules

LocationReview > Tools > ast-grep > Essential Rules
Defaulttrue

Use ast-grep essentials package.

Packages

LocationReview > Tools > ast-grep > Packages
DefaultEmpty array

Predefined packages to be used.

Rule Dirs

LocationReview > Tools > ast-grep > Rule Dirs
DefaultEmpty array

List of rules directories.

Util Dirs

LocationReview > Tools > ast-grep > Util Dirs
DefaultEmpty array

List of utils directories.

Biome

Biome is a fast formatter, linter, and analyzer for web projects.

Enable Biome

LocationReview > Tools > Enable Biome
Defaulttrue

Biome is a fast formatter, linter, and analyzer for web projects.

Brakeman

Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.0.2

Enable Brakeman

LocationReview > Tools > Enable Brakeman
Defaulttrue

Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications.

Buf

Buf offers linting for Protobuf files.

Enable Buf

LocationReview > Tools > Enable Buf
Defaulttrue

Buf offers linting for Protobuf files.

checkmake

checkmake is a linter for Makefiles.

Enable checkmake

LocationReview > Tools > Enable checkmake
Defaulttrue

checkmake is a linter for Makefiles.

Checkov

Checkov is a static code analysis tool for infrastructure-as-code files.

Enable Checkov

LocationReview > Tools > Enable Checkov
Defaulttrue

Checkov is a static code analysis tool for infrastructure-as-code files.

CircleCI

CircleCI tool is a static checker for CircleCI config files.

Enable CircleCI

LocationReview > Tools > Enable CircleCI
Defaulttrue

CircleCI tool is a static checker for CircleCI config files.

Clippy

Clippy is a collection of lints to catch common mistakes and improve your Rust code.

Enable Clippy

LocationReview > Tools > Enable Clippy
Defaulttrue

Clippy is a collection of lints to catch common mistakes and improve your Rust code.

Cppcheck

Cppcheck is a static code analysis tool for the C and C++ programming languages.

Enable Cppcheck

LocationReview > Tools > Enable Cppcheck
Defaulttrue

Cppcheck is a static code analysis tool for the C and C++ programming languages.

detekt

Detekt is a static code analysis tool for Kotlin files.

Config File

LocationReview > Tools > detekt > Config File
DefaultNo default

Optional path to the detekt configuration file relative to the repository.

Enable detekt

LocationReview > Tools > detekt > Enable
Defaulttrue

detekt is a static code analysis tool for Kotlin files.

dotenv-linter

dotenv-linter is a tool for checking and fixing .env files for problems and best practices

Enable dotenv-linter

LocationReview > Tools > Enable dotenv-linter
Defaulttrue

dotenv-linter is a tool for checking and fixing .env files for problems and best practices

ESLint

ESLint is a static code analysis tool for JavaScript files.

Enable ESLint

LocationReview > Tools > Enable ESLint
Defaulttrue

ESLint is a static code analysis tool for JavaScript files.

GitHub Checks

GitHub Checks integration configuration.

Enable GitHub Checks

LocationReview > Tools > GitHub Checks > Enable
Defaulttrue

Enable integration, defaults to true

Timeout Ms

LocationReview > Tools > GitHub Checks > Timeout Ms
Default90000

Time in milliseconds to wait for all GitHub Checks to conclude.

Gitleaks

Gitleaks is a secret scanner.

Enable Gitleaks

LocationReview > Tools > Enable Gitleaks
Defaulttrue

Gitleaks is a secret scanner.

golangci-lint

golangci-lint is a fast linters runner for Go.

Config File

LocationReview > Tools > golangci-lint > Config File
DefaultNo default

Optional path to the golangci-lint configuration file relative to the repository. Useful when the configuration file is named differently than the default '.golangci.yml', '.golangci.yaml', '.golangci.toml', '.golangci.json'.

Enable golangci-lint

LocationReview > Tools > golangci-lint > Enable
Defaulttrue

golangci-lint is a fast linters runner for Go.

Hadolint

Hadolint is a Dockerfile linter.

Enable Hadolint

LocationReview > Tools > Enable Hadolint
Defaulttrue

Hadolint is a Dockerfile linter.

HTMLHint

HTMLHint is a static code analysis tool for HTML files.

Config File

LocationReview > Tools > HTMLHint > Config File
DefaultNo default

Optional path to the HTMLHint configuration file relative to the repository. This is useful when the configuration file is named differently than the default '.htmlhintrc'.

Enable HTMLHint

LocationReview > Tools > HTMLHint > Enable
Defaulttrue

HTMLHint is a static code analysis tool for HTML files.

LanguageTool

LanguageTool is a style and grammar checker for 30+ languages.

Disabled Categories

LocationReview > Tools > LanguageTool > Disabled Categories
DefaultEmpty array

IDs of categories to be disabled. Note: TYPOS, TYPOGRAPHY, and CASING are always disabled.

Disabled Rules

LocationReview > Tools > LanguageTool > Disabled Rules
DefaultEmpty array

IDs of rules to be disabled. Note: EN_UNPAIRED_BRACKETS, and EN_UNPAIRED_QUOTES are always disabled.

Enable LanguageTool

LocationReview > Tools > LanguageTool > Enable
Defaulttrue

Enable LanguageTool

Enabled Categories

LocationReview > Tools > LanguageTool > Enabled Categories
DefaultEmpty array

IDs of categories to be enabled.

Enabled Only

LocationReview > Tools > LanguageTool > Enabled Only
Defaultfalse

Only the rules and categories whose IDs are specified with 'enabledRules' or 'enabledCategories' are enabled.

Enabled Rules

LocationReview > Tools > LanguageTool > Enabled Rules
DefaultEmpty array

IDs of rules to be enabled. The rule won't run unless 'level' is set to a level that activates the rule.

Level

LocationReview > Tools > LanguageTool > Level
Defaultdefault

If set to 'picky', additional rules will be activated, i.e. rules that you might only find useful when checking formal text.

Luacheck

Configuration for Lua code linting to ensure code quality

Enable Luacheck

LocationReview > Tools > Enable Luacheck
Defaulttrue

Luacheck helps maintain consistent and error-free Lua code

markdownlint

markdownlint-cli2 is a static analysis tool to enforce standards and consistency for Markdown files.

Enable markdownlint

LocationReview > Tools > Enable markdownlint
Defaulttrue

markdownlint-cli2 is a static analysis tool to enforce standards and consistency for Markdown files.

OXC

OXC is a JavaScript/TypeScript linter written in Rust.

Enable OXC

LocationReview > Tools > Enable OXC
Defaulttrue

OXC is a JavaScript/TypeScript linter written in Rust.

PHPStan

PHPStan is a tool to analyze PHP code.

Enable PHPStan

LocationReview > Tools > PHPStan > Enable
Defaulttrue

PHPStan requires config file in your repository root. Please ensure that this file contains the paths: parameter.

Level

LocationReview > Tools > PHPStan > Level
Defaultdefault

Specify the rule level to run. This setting is ignored if your configuration file already has a level: parameter.

PMD

PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java.

Config File

LocationReview > Tools > PMD > Config File
DefaultNo default

Optional path to the PMD configuration file relative to the repository.

Enable PMD

LocationReview > Tools > PMD > Enable
Defaulttrue

PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java.

Prisma Schema Linting

Configuration for Prisma Schema linting to ensure schema file quality

Enable Prisma Schema Linting

LocationReview > Tools > Enable Prisma Schema Linting
Defaulttrue

Prisma Schema linting helps maintain consistent and error-free schema files

Pylint

Pylint is a Python static code analysis tool.

Enable Pylint

LocationReview > Tools > Enable Pylint
Defaulttrue

Pylint is a Python static code analysis tool.

Regal

Regal is a linter and language server for Rego.

Enable Regal

LocationReview > Tools > Enable Regal
Defaulttrue

Regal is a linter and language server for Rego.

RuboCop

RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter.

Enable RuboCop

LocationReview > Tools > Enable RuboCop
Defaulttrue

RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter.

Ruff

Ruff is a Python linter and code formatter.

Enable Ruff

LocationReview > Tools > Enable Ruff
Defaulttrue

Ruff is a Python linter and code formatter.

Semgrep

Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues.

Config File

LocationReview > Tools > Semgrep > Config File
DefaultNo default

Optional path to the Semgrep configuration file relative to the repository.

Enable Semgrep

LocationReview > Tools > Semgrep > Enable
Defaulttrue

Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues.

ShellCheck

ShellCheck is a static analysis tool that finds bugs in your shell scripts.

Enable ShellCheck

LocationReview > Tools > Enable ShellCheck
Defaulttrue

ShellCheck is a static analysis tool that finds bugs in your shell.

Shopify Theme Check

Configuration for Shopify Theme Check to ensure theme quality and best practices

Enable Shopify Theme Check

LocationReview > Tools > Enable Shopify Theme Check
Defaulttrue

A linter for Shopify themes that helps you follow Shopify theme & Liquid best practices

SQLFluff

SQLFluff is an open source, dialect-flexible and configurable SQL linter.

Enable SQLFluff

LocationReview > Tools > Enable SQLFluff
Defaulttrue

SQLFluff is an open source, dialect-flexible and configurable SQL linter.

SwiftLint

SwiftLint integration configuration object.

Config File

LocationReview > Tools > SwiftLint > Config File
DefaultNo default

Optional path to the SwiftLint configuration file relative to the repository. This is useful when the configuration file is named differently than the default '.swiftlint.yml' or '.swiftlint.yaml'.

Enable SwiftLint

LocationReview > Tools > SwiftLint > Enable
Defaulttrue

SwiftLint is a Swift linter.

YAMLlint

YAMLlint is a linter for YAML files.

Enable YAMLlint

LocationReview > Tools > Enable YAMLlint
Defaulttrue

YAMLlint is a linter for YAML files.