This reference is automatically generated from the CodeRabbit configuration
schema. Last updated: 2025-11-22
CodeRabbit’s behavior can be customized using a .coderabbit.yaml file in your repository root. This reference covers all available configuration options with clear property names and examples.
Configuration Sections
General settings
Reference
Set the language for reviews by using the corresponding ISO language code.One of the following: de, de-DE, de-AT, de-CH, en, en-US, en-AU, en-GB, en-CA, en-NZ, en-ZA, es, es-AR, fr, fr-CA, fr-CH, fr-BE, nl, nl-BE, pt-AO, pt, pt-BR, pt-MZ, pt-PT, ar, ast-ES, ast, be-BY, be, br-FR, br, ca-ES, ca, ca-ES-valencia, ca-ES-balear, da-DK, da, de-DE-x-simple-language, el-GR, el, eo, fa, ga-IE, ga, gl-ES, gl, it, ja-JP, ja, km-KH, km, ko-KR, ko, pl-PL, pl, ro-RO, ro, ru-RU, ru, sk-SK, sk, sl-SI, sl, sv, ta-IN, ta, tl-PH, tl, tr, uk-UA, uk, zh-CN, zh, crh-UA, crh, cs-CZ, cs, nb, no, nl-NL, de-DE-x-simple-language-DE, es-ES, it-IT, fa-IR, sv-SE, de-LU, fr-FR, bg-BG, bg, he-IL, he, hi-IN, hi, vi-VN, vi, th-TH, th, bn-BD, bnDefaults to "en-US".
Set the tone of reviews and chat. Example: ‘You must use talk like Mr. T. I pity the fool who doesn’t!’Defaults to "".
Enable early-access features.Defaults to false.
Enable free tier features for users not on a paid plan.Defaults to true.
Reviews
Settings related to reviews.
Reference
Set the profile for reviews. Assertive profile yields more feedback, that may be considered nitpicky.One of the following: chill, assertiveDefaults to "chill".
Approve the review once CodeRabbit’s comments are resolved and no pre-merge checks are in an error state. Note: In GitLab, all discussions must be resolved.Defaults to false.
Generate a high level summary of the changes in the PR/MR description or walkthrough.Defaults to true.
high_level_summary_instructions
By default, CodeRabbit generates release notes in the description. This setting lets you customize the summary and format—for example:
‘Create concise release notes as a bullet-point list, followed by a Markdown table showing lines added and removed by each contributing author.’
Note: Use high_level_summary_in_walkthrough if you prefer the high-level summary to appear in the walkthrough instead of the description.Defaults to "".
high_level_summary_placeholder
Placeholder in the PR/MR description that gets replaced with the high level summary.Defaults to "@coderabbitai summary".
high_level_summary_in_walkthrough
Include the high level summary in the walkthrough comment.Defaults to false.
Add this keyword in the PR/MR title to auto-generate the title.Defaults to "@coderabbitai".
Auto Title Instructions | Custom instructions for auto-generating the PR/MR title.Defaults to "".
Post review details on each review. Additionally, post a review status when a review is skipped in certain cases.Defaults to true.
Set the commit status to ‘pending’ when the review is in progress and ‘success’ when it is complete.Defaults to true.
Set the commit status to ‘failure’ when the PR cannot be reviewed by CodeRabbit for any reason.Defaults to false.
Generate walkthrough in a markdown collapsible section.Defaults to false.
Generate a summary of the changed files in the walkthrough.Defaults to true.
Generate sequence diagrams in the walkthrough.Defaults to true.
estimate_code_review_effort
Estimate the code review effort in the walkthrough.Defaults to true.
Generate an assessment of how well the changes address the linked issues in the walkthrough.Defaults to true.
Include possibly related issues in the walkthrough.Defaults to true.
Related PRs | Include possibly related pull requests in the walkthrough.Defaults to true.
Suggest labels based on the changes in the pull request in the walkthrough.Defaults to true.
Labeling Instructions | 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.Defaults to [].
Label to suggest for the PR/MR. Example: frontend
Instructions for the label. Example: Apply when the PR/MR contains changes to the react components.
Automatically apply the suggested labels to the PR/MR.Defaults to false.
Suggest reviewers based on the changes in the pull request in the walkthrough.Defaults to true.
Automatically assign suggested reviewers to the pull requestDefaults to false.
Post an in-progress fortune message while the review is in progress.Defaults to true.
Generate a poem in the walkthrough comment.Defaults to true.
enable_prompt_for_ai_agents
Enable Prompt for AI Agents | Include the ’🤖 Prompt for AI Agents’ section in inline review comments. This section contains codegen instructions that AI agents can use to implement suggested changes.Defaults to true.
Specify file patterns to include or exclude in a review using glob patterns (e.g., !dist/, src/). These patterns also apply to ‘git sparse-checkout’, including specified patterns and ignoring excluded ones (starting with ’!’) when cloning the repository.Defaults to [].
Path Instructions | Provide specific additional guidelines for code review based on file paths.Defaults to [].
File path glob pattern. Example: **/*.js
Provides specific additional guidelines for code review based on file paths.
Abort the in-progress review if the pull request is closed or merged.Defaults to true.
Disable caching of code and dependencies. This will force CodeRabbit to download the code and dependencies fresh from the repository each time.Defaults to false.
Configuration for auto reviewDefaults to {}.
Automatic Review | Automatic code reviewDefaults to true.
Automatic Incremental Review | Automatic incremental code review on each pushDefaults to true.
Ignore reviewing if the title of the pull request contains any of these keywords (case-insensitive).Defaults to [].
List of labels to control which PRs/MRs to review. Labels starting with ’!’ are negative matches. Examples: [‘bug’, ‘feature’] - reviews PRs with ‘bug’ OR ‘feature’ label. [‘!wip’] - reviews all PRs except those with ‘wip’ label. [‘bug’, ‘!wip’] - reviews PRs with ‘bug’ label but not if they have ‘wip’ label.Defaults to [].
Review draft PRs/MRs.Defaults to false.
Base branches (other than the default branch) to review. Accepts regex patterns. Use ’.*’ to match all branches.Defaults to [].
Ignore reviewing pull requests by these usernames. These should match the Git platform usernames exactly, not the email addresses.Defaults to [].
Configuration for finishing touchesDefaults to {}.
Docstrings | Options for generating Docstrings for your PRs/MRs.Defaults to {}.
Docstrings | Allow CodeRabbit to generate docstrings for PRs/MRs.Defaults to true.
Unit Tests | Options for generating unit tests for your PRs/MRs.Defaults to {}.
Unit Tests | Allow CodeRabbit to generate unit tests for PRs/MRs.Defaults to true.
Configuration for pre merge checksDefaults to {}.
Docstring Coverage | Checks if the code has sufficient docstrings.Defaults to {}.
Mode | Determines how strictly the docstring coverage check is enforced. Warning will only generate a warning and does not require the user to resolve the check. Error requires the user to resolve issues before merging the pull request. If set to error and the request changes workflow is enabled, the pull request will be blocked until the issues are resolved.One of the following: off, warning, errorDefaults to "warning".
Percentage threshold for docstring coverage check.Defaults to 80. Title Check | Checks if the pull request title is appropriate and follows best practices.Defaults to {}.
Mode | Determines how strictly the title check is enforced. Warning will only generate a warning and does not require the user to resolve the check. Error requires the user to resolve issues before merging the pull request. If set to error and the request changes workflow is enabled, the pull request will be blocked until the issues are resolved.One of the following: off, warning, errorDefaults to "warning".
Requirements | Requirements for the pull request title. Example: ‘Title should be concise and descriptive, ideally under 50 characters.’Defaults to "".
Description Check | Checks if the pull request description is appropriate and follows best practices.Defaults to {}.
Mode | Determines how strictly the description check is enforced. Warning will only generate a warning and does not require the user to resolve the check. Error requires the user to resolve issues before merging the pull request. If set to error and the request changes workflow is enabled, the pull request will be blocked until the issues are resolved.One of the following: off, warning, errorDefaults to "warning".
Linked Issue Assessment | Checks if the pull request addresses the linked issues. Generate an assessment of how well the changes address the linked issues.Defaults to {}.
Mode | Determines how strictly the issue assessment check is enforced. Warning will only generate a warning and does not require the user to resolve the check. Error requires the user to resolve issues before merging the pull request. If set to error and the request changes workflow is enabled, the pull request will be blocked until the issues are resolved.One of the following: off, warning, errorDefaults to "warning".
Custom Pre-merge Checks | Add unique checks to enforce your team’s standards before merging a pull request. Each check must have a unique name (up to 50 characters) and clear instructions (up to 10000 characters). Use these to automatically verify coding, security, documentation, or business rules and maintain code quality.Defaults to [].
Mode | Determines how strictly the custom check is enforced. Warning will only generate a warning and does not require the user to resolve the check. Error requires the user to resolve issues before merging the pull request. If set to error and the request changes workflow is enabled, the pull request will be blocked until the issues are resolved.One of the following: off, warning, errorDefaults to "warning".
Name | Name of the custom check. Maximum length is 50 characters.Defaults to "".Min length: 1, Max length: 50
Instructions | Please ensure that the instructions specify conditions that deterministically result in a clear pass or fail outcome. The maximum length for this field is 10,000 characters.Defaults to "".Min length: 1, Max length: 10000
Tools that provide additional context to code reviews.Defaults to {}.
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.40.0Defaults to {}.
List of rules directories.Defaults to [].
List of utils directories.Defaults to [].
Use ast-grep essentials package.Defaults to true.
Predefined packages to be used.Defaults to [].
ShellCheck is a static analysis tool that finds bugs in your shell scripts.Defaults to {}.
Enable ShellCheck | ShellCheck is a static analysis tool that finds bugs in your shell. | Enable ShellCheck integration. | v0.11.0Defaults to true.
Ruff is a Python linter and code formatter.Defaults to {}.
Enable Ruff | Ruff is a Python linter and code formatter. | Enable Ruff integration. | v0.14.5Defaults to true.
markdownlint-cli2 is a static analysis tool to enforce standards and consistency for Markdown files.Defaults to {}.
Enable markdownlint | markdownlint-cli2 is a static analysis tool to enforce standards and consistency for Markdown files. | Enable markdownlint integration. | v0.18.1Defaults to true.
GitHub Checks integration configuration.Defaults to {}.
Enable GitHub Checks
| Enable integration, defaults to true
| Enable GitHub Checks integration.Defaults to true.
Time in milliseconds to wait for all GitHub Checks to conclude. Default 90 seconds, max 15 minutes (900000ms).Defaults to 90000. LanguageTool is a style and grammar checker for 30+ languages.Defaults to {}.
Enable LanguageTool | Enable LanguageTool integration.Defaults to true.
IDs of rules to be enabled. The rule won’t run unless ‘level’ is set to a level that activates the rule.Defaults to [].
IDs of rules to be disabled. Note: EN_UNPAIRED_BRACKETS, and EN_UNPAIRED_QUOTES are always disabled.Defaults to [].
IDs of categories to be enabled.Defaults to [].
IDs of categories to be disabled. Note: TYPOS, TYPOGRAPHY, and CASING are always disabled.Defaults to [].
Only the rules and categories whose IDs are specified with ‘enabledRules’ or ‘enabledCategories’ are enabled.Defaults to false.
If set to ‘picky’, additional rules will be activated, i.e. rules that you might only find useful when checking formal text.One of the following: default, pickyDefaults to "default".
Biome is a fast formatter, linter, and analyzer for web projects.Defaults to {}.
Enable Biome | Biome is a fast formatter, linter, and analyzer for web projects. | Enable Biome integration. | v2.1.2Defaults to true.
Hadolint is a Dockerfile linter.Defaults to {}.
Enable Hadolint | Hadolint is a Dockerfile linter. | Enable Hadolint integration. | v2.14.0Defaults to true.
SwiftLint integration configuration object.Defaults to {}.
Enable SwiftLint | SwiftLint is a Swift linter. | Enable SwiftLint integration. | v0.57.0Defaults to true.
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’.
PHPStan is a tool to analyze PHP code.Defaults to {}.
Enable PHPStan | PHPStan requires config file in your repository root. Please ensure that this file contains the paths: parameter. | v2.1.32Defaults to true. Level | Specify the rule level to run. This setting is ignored if your configuration file already has a level: parameter.One of the following: default, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, maxDefaults to "default". PHPMD is a tool to find potential problems in PHP code.Defaults to {}.
Enable PHPMD | PHPMD is a tool to find potential problems in PHP code. | v2.15.0Defaults to true.
PHP CodeSniffer is a PHP linter and coding standard checker.Defaults to {}.
Enable PHP CodeSniffer | PHP CodeSniffer is a PHP linter and coding standard checker. | v3.7.2Defaults to true.
golangci-lint is a fast linters runner for Go.Defaults to {}.
Enable golangci-lint | golangci-lint is a fast linters runner for Go. | Enable golangci-lint integration. | v2.5.0Defaults to true.
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’.
YAMLlint is a linter for YAML files.Defaults to {}.
Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.37.1Defaults to true.
Gitleaks is a secret scanner.Defaults to {}.
Enable Gitleaks | Gitleaks is a secret scanner. | Enable Gitleaks integration. | v8.29.0Defaults to true.
Checkov is a static code analysis tool for infrastructure-as-code files.Defaults to {}.
Enable Checkov | Checkov is a static code analysis tool for infrastructure-as-code files. | v3.2.334Defaults to true.
Detekt is a static code analysis tool for Kotlin files.Defaults to {}.
Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.8Defaults to true.
Optional path to the detekt configuration file relative to the repository.
ESLint is a static code analysis tool for JavaScript files.Defaults to {}.
Enable ESLint | ESLint is a static code analysis tool for JavaScript files.Defaults to true.
Flake8 is a Python linter that wraps PyFlakes, pycodestyle and Ned Batchelder’s McCabe script.Defaults to {}.
Enable Flake8 | Flake8 is a Python linter that wraps PyFlakes, pycodestyle and Ned Batchelder’s McCabe script. | v7.3.0Defaults to true.
RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter.Defaults to {}.
Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.81.7Defaults to true.
Buf offers linting for Protobuf files.Defaults to {}.
Enable Buf | Buf offers linting for Protobuf files. | v1.60.0Defaults to true.
Regal is a linter and language server for Rego.Defaults to {}.
Enable Regal | Regal is a linter and language server for Rego. | v0.37.0Defaults to true.
actionlint is a static checker for GitHub Actions workflow files.Defaults to {}.
Enable actionlint | is a static checker for GitHub Actions workflow files. | v1.7.8Defaults to true.
PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java.Defaults to {}.
Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.18.0Defaults to true.
Optional path to the PMD configuration file relative to the repository.
Configuration for Clang to perform static analysis on C and C++ codeDefaults to {}.
Enable Clang for C/C++ static analysis and code quality checks | v14.0.6Defaults to true.
Cppcheck is a static code analysis tool for the C and C++ programming languages.Defaults to {}.
Enable Cppcheck | Cppcheck is a static code analysis tool for the C and C++ programming languages. | v2.18.0Defaults to true.
Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues.Defaults to {}.
Enable Semgrep | Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues. | Enable Semgrep integration. | v1.143.0Defaults to true.
Optional path to the Semgrep configuration file relative to the repository.
CircleCI tool is a static checker for CircleCI config files.Defaults to {}.
Enable CircleCI | CircleCI tool is a static checker for CircleCI config files. | v0.1.33494Defaults to true.
Clippy is a collection of lints to catch common mistakes and improve your Rust code.Defaults to {}.
Enable Clippy | Clippy is a collection of lints to catch common mistakes and improve your Rust code. | Enable Clippy integration.Defaults to true.
SQLFluff is an open source, dialect-flexible and configurable SQL linter.Defaults to {}.
Enable SQLFluff | SQLFluff is an open source, dialect-flexible and configurable SQL linter. | v3.5.0Defaults to true.
Configuration for Prisma Schema linting to ensure schema file qualityDefaults to {}.
Enable Prisma Schema linting | Prisma Schema linting helps maintain consistent and error-free schema files | v0.11.0Defaults to true.
Pylint is a Python static code analysis tool.Defaults to {}.
Enable Pylint | Pylint is a Python static code analysis tool. | v4.0.3Defaults to true.
Oxlint is a JavaScript/TypeScript linter for OXC written in Rust.Defaults to {}.
Enable Oxlint | Oxlint is a JavaScript/TypeScript linter for OXC written in Rust. | v1.28.0Defaults to true.
Configuration for Shopify Theme Check to ensure theme quality and best practicesDefaults to {}.
Enable Shopify Theme Check | A linter for Shopify themes that helps you follow Shopify theme & Liquid best practices | cli 3.84.2 | theme 3.58.2Defaults to true.
Configuration for Lua code linting to ensure code qualityDefaults to {}.
Enable Lua code linting | Luacheck helps maintain consistent and error-free Lua code | v1.2.0Defaults to true.
Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.1.1Defaults to {}.
Enable Brakeman | Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.1.1Defaults to true.
dotenv-linter is a tool for checking and fixing .env files for problems and best practicesDefaults to {}.
Enable dotenv-linter | dotenv-linter is a tool for checking and fixing .env files for problems and best practices | v4.0.0Defaults to true.
HTMLHint is a static code analysis tool for HTML files.Defaults to {}.
Enable HTMLHint | HTMLHint is a static code analysis tool for HTML files. | Enable HTMLHint integration. | v1.7.1Defaults to true.
checkmake is a linter for Makefiles.Defaults to {}.
Enable checkmake | checkmake is a linter for Makefiles. | v0.2.2Defaults to true.
Fortitude is a Fortran linter that checks for code quality and style issues.Defaults to {}.
Enable Fortitude | Fortitude is a Fortran linter that checks for code quality and style issues | v0.7.5Defaults to true.
OSV Scanner is a tool for vulnerability package scanning.Defaults to {}.
Enable OSV Scanner | OSV Scanner is a tool for vulnerability package scanning | v2.2.4Defaults to true.
Chat
Configuration for chat
Reference
Generate art in response to chat messages. CodeRabbit expresses emotions as either ASCII or Emoji art.Defaults to true.
Enable the bot to reply automatically without requiring the user to tag it.Defaults to true.
Configuration for integrationsDefaults to {}.
Configuration for jiraDefaults to {}.
Jira | Enable the Jira integration for opening issues, etc. ‘auto’ disables the integration for public repositories.One of the following: auto, enabled, disabledDefaults to "auto".
Configuration for linearDefaults to {}.
Linear | Enable the Linear integration for opening issues, etc. ‘auto’ disables the integration for public repositories.One of the following: auto, enabled, disabledDefaults to "auto".
Knowledge base
Configuration for knowledge base
Reference
Opt Out | 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.Defaults to false.
Configuration for web searchDefaults to {}.
Web Search | Enable the web search integration.Defaults to true.
CodeRabbit will analyse and learn from your organization’s code guidelines, which you can mention in the file patterns section. These guidelines will then be used to conduct thorough code reviews.Defaults to {}.
Enabled | Enable CodeRabbit to enforce your organization’s coding standards during reviews.Defaults to true.
File Patterns | Specify files for your coding guideline documents in this section. CodeRabbit will scan these files to understand your team’s standards and apply them during code reviews. Multiple files supported. File names are case-sensitive. Common files like: (**/.cursorrules, .github/copilot-instructions.md, .github/instructions/.instructions.md, **/CLAUDE.md, **/GEMINI.md, **/.cursor/rules/, **/.windsurfrules, **/.clinerules/, **/.rules/, **/AGENT.md, **/AGENTS.md) are included by default.Defaults to [].
Configuration for learningsDefaults to {}.
Learnings | 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.One of the following: local, global, autoDefaults to "auto".
Configuration for issuesDefaults to {}.
Issues | 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.One of the following: local, global, autoDefaults to "auto".
Configuration for jiraDefaults to {}.
Jira | Enable the Jira knowledge base integration. ‘auto’ disables the integration for public repositories.One of the following: auto, enabled, disabledDefaults to "auto".
Jira Project Keys | Specify the Jira project keys to use for the knowledge base.Defaults to [].
Configuration for linearDefaults to {}.
Linear | Enable the Linear knowledge base integration. ‘auto’ disables the integration for public repositories.One of the following: auto, enabled, disabledDefaults to "auto".
Linear Team Keys | Specify the Linear team keys (identifiers) to use for the knowledge base. E.g. ‘ENG’Defaults to [].
Configuration for pull requestsDefaults to {}.
Pull Requests | 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.One of the following: local, global, autoDefaults to "auto".
Configuration for mcpDefaults to {}.
MCP | Enable the MCP knowledge base integration. ‘auto’ disables the integration for public repositories.One of the following: auto, enabled, disabledDefaults to "auto".
MCP Disabled Servers | Specify MCP server labels to disable (case-insensitive). These servers will be excluded from reviews and knowledge base queries.Defaults to [].
Code generation
Configuration for code generation
Reference
Settings related to the generation of docstrings.Defaults to {"path_instructions":[]}.
Set the language for docstrings by using the corresponding ISO language code.One of the following: de, de-DE, de-AT, de-CH, en, en-US, en-AU, en-GB, en-CA, en-NZ, en-ZA, es, es-AR, fr, fr-CA, fr-CH, fr-BE, nl, nl-BE, pt-AO, pt, pt-BR, pt-MZ, pt-PT, ar, ast-ES, ast, be-BY, be, br-FR, br, ca-ES, ca, ca-ES-valencia, ca-ES-balear, da-DK, da, de-DE-x-simple-language, el-GR, el, eo, fa, ga-IE, ga, gl-ES, gl, it, ja-JP, ja, km-KH, km, ko-KR, ko, pl-PL, pl, ro-RO, ro, ru-RU, ru, sk-SK, sk, sl-SI, sl, sv, ta-IN, ta, tl-PH, tl, tr, uk-UA, uk, zh-CN, zh, crh-UA, crh, cs-CZ, cs, nb, no, nl-NL, de-DE-x-simple-language-DE, es-ES, it-IT, fa-IR, sv-SE, de-LU, fr-FR, bg-BG, bg, he-IL, he, hi-IN, hi, vi-VN, vi, th-TH, th, bn-BD, bnDefaults to "en-US".
Path Instructions | Provide additional guidelines for docstring generation based on file paths.Defaults to [].
File path glob pattern. Example: **/*.js
Provides additional guidelines for docstring generation based on file paths.
Settings related to the generation of unit tests.Defaults to {"path_instructions":[]}.
Unit Test Generation | Provide additional guidelines for unit test generation based on file paths.Defaults to [].
File path glob pattern. Example: **/*.js
Provides additional guidelines for unit test generation based on file paths.