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.
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:
Location | General > Data Retention |
Default | true |
This setting can be defined only in the web UI settings for your
organization.
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.
Location | General > Early Access |
Default | false |
Field | early_access |
Datatype | boolean |
Default | false |
If enabled, then CodeRabbit lets you use early-access features in your
code reviews.
Location | General > Enable Free Tier |
Default | true |
Field | enable_free_tier |
Datatype | boolean |
Default | true |
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.
Location | General > Language |
Default | en-US |
Field | language |
Datatype | string |
Default | "en-US" |
Defines the written language that CodeRabbit presents its review comments in. Defaults
to American English.
Location | General > Tone Instructions |
Default | |
Field | tone_instructions |
Datatype | string |
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.
Location | Review > Settings > Abort On Close |
Default | true |
Field | reviews.abort_on_close |
Datatype | boolean |
Default | true |
Abort the in-progress review if the pull request is closed or merged.
Location | Review > Settings > Assess Linked Issues |
Default | true |
Field | reviews.assess_linked_issues |
Datatype | boolean |
Default | true |
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.
Location | Review > Settings > Auto Apply Labels |
Default | false |
Field | reviews.auto_apply_labels |
Datatype | boolean |
Default | false |
Automatically apply the suggested labels to the PR/MR.
Location | Review > Settings > Auto Assign Reviewers |
Default | false |
Field | reviews.auto_assign_reviewers |
Datatype | boolean |
Default | false |
Automatically assign suggested reviewers to the pull request
Location | Review > Settings > Auto Title Instructions |
Default | |
Field | reviews.auto_title_instructions |
Datatype | string |
Default | |
Custom instructions for auto-generating the PR/MR title.
Location | Review > Settings > Auto Title Placeholder |
Default | @coderabbitai |
Field | reviews.auto_title_placeholder |
Datatype | string |
Default | "@coderabbitai" |
Add this keyword in the PR/MR title to auto-generate the title.
Location | Review > Settings > Changed Files Summary |
Default | true |
Field | reviews.changed_files_summary |
Datatype | boolean |
Default | true |
Generate a summary of the changed files in the walkthrough.
Location | Review > Settings > Collapse Walkthrough |
Default | false |
Field | reviews.collapse_walkthrough |
Datatype | boolean |
Default | false |
Generate walkthrough in a markdown collapsible section.
Location | Review > Settings > Commit Status |
Default | true |
Field | reviews.commit_status |
Datatype | boolean |
Default | true |
Set the commit status to 'pending' when the review is in progress and 'success' when it is complete.
Location | Review > Settings > Disable Cache |
Default | false |
Field | reviews.disable_cache |
Datatype | boolean |
Default | false |
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.
The Data Retention setting overrides this one. If you disable
all data retention, then your repositories won't keep a cache.
Location | Review > Settings > Fail Commit Status |
Default | false |
Field | reviews.fail_commit_status |
Datatype | boolean |
Default | false |
Set the commit status to 'failure' when the PR cannot be reviewed by CodeRabbit for any reason.
Location | Review > Settings > High Level Summary |
Default | true |
Field | reviews.high_level_summary |
Datatype | boolean |
Default | true |
Generate a high level summary of the changes in the PR/MR description.
Location | Review > Settings > High Level Summary In Walkthrough |
Default | false |
Field | reviews.high_level_summary_in_walkthrough |
Datatype | boolean |
Default | false |
Include the high level summary in the walkthrough comment.
Location | Review > Settings > High Level Summary Placeholder |
Default | @coderabbitai summary |
Field | reviews.high_level_summary_placeholder |
Datatype | string |
Default | "@coderabbitai summary" |
Placeholder in the PR/MR description that gets replaced with the high level summary.
Location | Review > Settings > Labeling Instructions |
Default | Empty array |
Field | reviews.labeling_instructions |
Datatype | array |
Default | [] |
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.
Location | Review > Settings > Path Filters |
Default | Empty array |
Field | reviews.path_filters |
Datatype | array |
Default | [] |
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:
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.
Location | Review > Settings > Path Instructions |
Default | Empty array |
Field | reviews.path_instructions |
Datatype | array |
Default | [] |
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:
- Example path settings: Web UI
- Example path settings: coderabbit.yaml
path_instructions:
- path: src/**/*.{ts,tsx,js}
instructions:
- Review the React.js/TypeScript/JavaScript code for best practices
- Check for common security vulnerabilities such as:
- SQL Injection
- Insecure dependencies
- Sensitive data exposure
For further examples of path instructions specific to various programming langauges,
see the awesome-coderabbit
public repository.
Location | Review > Settings > Poem |
Default | true |
Field | reviews.poem |
Datatype | boolean |
Default | true |
Generate a poem in the walkthrough comment.
Location | Review > Settings > Profile |
Default | chill |
Field | reviews.profile |
Datatype | string |
Default | "chill" |
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.
Location | Review > Settings > Related Issues |
Default | true |
Field | reviews.related_issues |
Datatype | boolean |
Default | true |
Include possibly related issues in the walkthrough.
Location | Review > Settings > Related PRs |
Default | true |
Field | reviews.related_prs |
Datatype | boolean |
Default | true |
Include possibly related pull requests in the walkthrough.
Location | Review > Settings > Request Changes Workflow |
Default | false |
Field | reviews.request_changes_workflow |
Datatype | boolean |
Default | false |
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.
Location | Review > Settings > Review Status |
Default | true |
Field | reviews.review_status |
Datatype | boolean |
Default | true |
Post review details on each review. Additionally, post a review status when a review is skipped in certain cases.
Location | Review > Settings > Sequence Diagrams |
Default | true |
Field | reviews.sequence_diagrams |
Datatype | boolean |
Default | true |
Generate sequence diagrams in the walkthrough.
Location | Review > Settings > Suggested Labels |
Default | true |
Field | reviews.suggested_labels |
Datatype | boolean |
Default | true |
Suggest labels based on the changes in the pull request in the walkthrough.
Location | Review > Settings > Suggested Reviewers |
Default | true |
Field | reviews.suggested_reviewers |
Datatype | boolean |
Default | true |
Suggest reviewers based on the changes in the pull request in the walkthrough.
Location | Review > Auto Review > Automatic Review |
Default | true |
Field | reviews.auto_review.enabled |
Datatype | boolean |
Default | true |
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.
Location | Review > Auto Review > Automatic Incremental Review |
Default | true |
Field | reviews.auto_review.auto_incremental_review |
Datatype | boolean |
Default | true |
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.
Location | Review > Auto Review > Base Branches |
Default | Empty array |
Field | reviews.auto_review.base_branches |
Datatype | array |
Default | [] |
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.
Location | Review > Auto Review > Drafts |
Default | false |
Field | reviews.auto_review.drafts |
Datatype | boolean |
Default | false |
If defined, then CodeRabbit automatically reviews pull requests marked as a draft
in your Git platform.
Location | Review > Auto Review > Ignore Title Keywords |
Default | Empty array |
Field | reviews.auto_review.ignore_title_keywords |
Datatype | array |
Default | [] |
Ignore reviewing if the title of the pull request contains any of these keywords (case-insensitive).
Location | Review > Auto Review > Labels |
Default | Empty array |
Field | reviews.auto_review.labels |
Datatype | array |
Default | [] |
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.
Location | Review > Finishing Touches > Docstrings |
Default | true |
Field | reviews.finishing_touches.docstrings.enabled |
Datatype | boolean |
Default | true |
If enabled, then CodeRabbit can generate inline documentation for functions
added in a pull request. For more information, see Docstrings.
Location | Review > Finishing Touches > Unit Tests |
Default | true |
Field | reviews.finishing_touches.unit_tests.enabled |
Datatype | boolean |
Default | true |
If enabled, then CodeRabbit can generate unit tests for code
added in a pull request. For more information, see Unit Test Generation.
Location | Chat > Auto Reply |
Default | true |
Field | chat.auto_reply |
Datatype | boolean |
Default | true |
Enable the bot to reply automatically without requiring the user to tag it.
Location | Chat > Jira |
Default | auto |
Field | chat.integrations.jira.usage |
Datatype | string |
Default | "auto" |
Enable the Jira integration for opening issues, etc. 'auto' disables the integration for public repositories.
Location | Chat > Linear |
Default | auto |
Field | chat.integrations.linear.usage |
Datatype | string |
Default | "auto" |
Enable the Linear integration for opening issues, etc. 'auto' disables the integration for public repositories.
Location | Knowledge Base > Opt Out |
Default | false |
Field | knowledge_base.opt_out |
Datatype | boolean |
Default | false |
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.
Location | Knowledge Base > Pull Requests |
Default | auto |
Field | knowledge_base.pull_requests.scope |
Datatype | string |
Default | "auto" |
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.
Location | Knowledge Base > Web Search |
Default | true |
Field | knowledge_base.web_search.enabled |
Datatype | boolean |
Default | true |
Enable the web search integration.
Location | Knowledge Base > Issues |
Default | auto |
Field | knowledge_base.issues.scope |
Datatype | string |
Default | "auto" |
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.
Location | Knowledge Base > Jira |
Default | auto |
Field | knowledge_base.jira.usage |
Datatype | string |
Default | "auto" |
Enable the Jira knowledge base integration. 'auto' disables the integration for public repositories.
Location | Knowledge Base > Project Keys |
Default | Empty array |
Field | knowledge_base.jira.project_keys |
Datatype | array |
Default | [] |
Specify the Jira project keys to use for the knowledge base.
Location | Knowledge Base > Learnings |
Default | auto |
Field | knowledge_base.learnings.scope |
Datatype | string |
Default | "auto" |
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.
Location | Knowledge Base > Linear |
Default | auto |
Field | knowledge_base.linear.usage |
Datatype | string |
Default | "auto" |
Enable the Linear knowledge base integration. 'auto' disables the integration for public repositories.
Location | Knowledge Base > Team Keys |
Default | Empty array |
Field | knowledge_base.linear.team_keys |
Datatype | array |
Default | [] |
Specify the Linear team keys (identifiers) to use for the knowledge base. E.g. 'ENG'
Location | Code Generation > Language |
Default | en-US |
Field | code_generation.docstrings.language |
Datatype | string |
Default | "en-US" |
Set the language for docstrings by using the corresponding ISO language code.
Location | Code Generation > Path Instructions |
Default | Empty array |
Field | code_generation.docstrings.path_instructions |
Datatype | array |
Default | [] |
Provide additional guidelines for docstring generation based on file paths.
Location | Code Generation > Unit Test Generation |
Default | Empty array |
Field | code_generation.unit_tests.path_instructions |
Datatype | array |
Default | [] |
Provide additional guidelines for unit test generation based on file paths.
CodeRabbit integrates with various third-party tools for enhanced code analysis.
actionlint is a static checker for GitHub Actions workflow files.
Location | Review > Tools > Enable actionlint |
Default | true |
Field | reviews.tools.actionlint.enabled |
Datatype | boolean |
Default | true |
is a static checker for GitHub Actions workflow files.
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
Location | Review > Tools > ast-grep > Essential Rules |
Default | true |
Field | reviews.tools.ast-grep.essential_rules |
Datatype | boolean |
Default | true |
Use ast-grep essentials package.
Location | Review > Tools > ast-grep > Packages |
Default | Empty array |
Field | reviews.tools.ast-grep.packages |
Datatype | array |
Default | [] |
Predefined packages to be used.
Location | Review > Tools > ast-grep > Rule Dirs |
Default | Empty array |
Field | reviews.tools.ast-grep.rule_dirs |
Datatype | array |
Default | [] |
List of rules directories.
Location | Review > Tools > ast-grep > Util Dirs |
Default | Empty array |
Field | reviews.tools.ast-grep.util_dirs |
Datatype | array |
Default | [] |
List of utils directories.
Biome is a fast formatter, linter, and analyzer for web projects.
Location | Review > Tools > Enable Biome |
Default | true |
Field | reviews.tools.biome.enabled |
Datatype | boolean |
Default | true |
Biome is a fast formatter, linter, and analyzer for web projects.
Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.0.2
Location | Review > Tools > Enable Brakeman |
Default | true |
Field | reviews.tools.brakeman.enabled |
Datatype | boolean |
Default | true |
Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications.
Buf offers linting for Protobuf files.
Location | Review > Tools > Enable Buf |
Default | true |
Field | reviews.tools.buf.enabled |
Datatype | boolean |
Default | true |
Buf offers linting for Protobuf files.
checkmake is a linter for Makefiles.
Location | Review > Tools > Enable checkmake |
Default | true |
Field | reviews.tools.checkmake.enabled |
Datatype | boolean |
Default | true |
checkmake is a linter for Makefiles.
Checkov is a static code analysis tool for infrastructure-as-code files.
Location | Review > Tools > Enable Checkov |
Default | true |
Field | reviews.tools.checkov.enabled |
Datatype | boolean |
Default | true |
Checkov is a static code analysis tool for infrastructure-as-code files.
CircleCI tool is a static checker for CircleCI config files.
Location | Review > Tools > Enable CircleCI |
Default | true |
Field | reviews.tools.circleci.enabled |
Datatype | boolean |
Default | true |
CircleCI tool is a static checker for CircleCI config files.
Clippy is a collection of lints to catch common mistakes and improve your Rust code.
Location | Review > Tools > Enable Clippy |
Default | true |
Field | reviews.tools.clippy.enabled |
Datatype | boolean |
Default | true |
Clippy is a collection of lints to catch common mistakes and improve your Rust code.
Cppcheck is a static code analysis tool for the C and C++ programming languages.
Location | Review > Tools > Enable Cppcheck |
Default | true |
Field | reviews.tools.cppcheck.enabled |
Datatype | boolean |
Default | true |
Cppcheck is a static code analysis tool for the C and C++ programming languages.
Detekt is a static code analysis tool for Kotlin files.
Location | Review > Tools > detekt > Config File |
Default | No default |
Field | reviews.tools.detekt.config_file |
Datatype | string |
Default | No default |
Optional path to the detekt configuration file relative to the repository.
Location | Review > Tools > detekt > Enable |
Default | true |
Field | reviews.tools.detekt.enabled |
Datatype | boolean |
Default | true |
detekt is a static code analysis tool for Kotlin files.
dotenv-linter is a tool for checking and fixing .env files for problems and best practices
Location | Review > Tools > Enable dotenv-linter |
Default | true |
Field | reviews.tools.dotenvLint.enabled |
Datatype | boolean |
Default | true |
dotenv-linter is a tool for checking and fixing .env files for problems and best practices
ESLint is a static code analysis tool for JavaScript files.
Location | Review > Tools > Enable ESLint |
Default | true |
Field | reviews.tools.eslint.enabled |
Datatype | boolean |
Default | true |
ESLint is a static code analysis tool for JavaScript files.
GitHub Checks integration configuration.
Location | Review > Tools > GitHub Checks > Enable |
Default | true |
Field | reviews.tools.github-checks.enabled |
Datatype | boolean |
Default | true |
Enable integration, defaults to true
Location | Review > Tools > GitHub Checks > Timeout Ms |
Default | 90000 |
Field | reviews.tools.github-checks.timeout_ms |
Datatype | number |
Default | 90000 |
Time in milliseconds to wait for all GitHub Checks to conclude.
Gitleaks is a secret scanner.
Location | Review > Tools > Enable Gitleaks |
Default | true |
Field | reviews.tools.gitleaks.enabled |
Datatype | boolean |
Default | true |
Gitleaks is a secret scanner.
golangci-lint is a fast linters runner for Go.
Location | Review > Tools > golangci-lint > Config File |
Default | No default |
Field | reviews.tools.golangci-lint.config_file |
Datatype | string |
Default | No 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'.
Location | Review > Tools > golangci-lint > Enable |
Default | true |
Field | reviews.tools.golangci-lint.enabled |
Datatype | boolean |
Default | true |
golangci-lint is a fast linters runner for Go.
Hadolint is a Dockerfile linter.
Location | Review > Tools > Enable Hadolint |
Default | true |
Field | reviews.tools.hadolint.enabled |
Datatype | boolean |
Default | true |
Hadolint is a Dockerfile linter.
HTMLHint is a static code analysis tool for HTML files.
Location | Review > Tools > HTMLHint > Config File |
Default | No default |
Field | reviews.tools.htmlhint.config_file |
Datatype | string |
Default | No 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'.
Location | Review > Tools > HTMLHint > Enable |
Default | true |
Field | reviews.tools.htmlhint.enabled |
Datatype | boolean |
Default | true |
HTMLHint is a static code analysis tool for HTML files.
LanguageTool is a style and grammar checker for 30+ languages.
Location | Review > Tools > LanguageTool > Disabled Categories |
Default | Empty array |
Field | reviews.tools.languagetool.disabled_categories |
Datatype | array |
Default | [] |
IDs of categories to be disabled. Note: TYPOS, TYPOGRAPHY, and CASING are always disabled.
Location | Review > Tools > LanguageTool > Disabled Rules |
Default | Empty array |
Field | reviews.tools.languagetool.disabled_rules |
Datatype | array |
Default | [] |
IDs of rules to be disabled. Note: EN_UNPAIRED_BRACKETS, and EN_UNPAIRED_QUOTES are always disabled.
Location | Review > Tools > LanguageTool > Enable |
Default | true |
Field | reviews.tools.languagetool.enabled |
Datatype | boolean |
Default | true |
Enable LanguageTool