Guide

CodeRabbit: how to use AI code review

Learn what CodeRabbit does, set up AI code review, understand pricing and privacy, and decide when it helps your team or adds more work.

Nate Reuck11 min read

Sources
Code changes pass through a blue review lens with a rabbit motif while a human reviewer considers approval.
Original AI-generated conceptual illustration for AIOpsSRE; not a CodeRabbit interface screenshot.
On this page

A pull request can pass its tests and still leave a reviewer with an uncomfortable amount to investigate. Does the retry loop stop? Can this migration run while older application instances remain online? Did the generated code preserve the caller’s deadline? CodeRabbit adds an automated reviewer to that conversation.

CodeRabbit is an AI code review platform that examines proposed changes, gathers repository context, and returns explanations and suggested fixes. Its pull request integration puts that feedback beside the changed lines. Its editor and command-line tools can review local work earlier. For SRE and platform teams, the attraction is practical: find a useful problem before another person spends an afternoon reconstructing the change. CodeRabbit review overview

The right reason to adopt CodeRabbit is that it reduces the work needed to inspect evidence and accept or reject a change. A larger pile of comments is not, by itself, an improvement. This guide explains the product, shows a starter workflow, and gives you a way to decide whether it earns a place in your team.

What CodeRabbit does during a review

A pull request, or PR, proposes a change before it joins a shared branch. CodeRabbit can produce a summary, explain the changed files, flag potential defects, and suggest patches. You can ask follow-up questions in the review discussion. Subsequent commits can receive incremental reviews that focus on new changes. How PR reviews work

Underneath that interaction, CodeRabbit describes isolated cloud execution, repository exploration, AI models, static analyzers, and retained team guidance. Static analysis examines code without running the full application; AI adds an interpretation of context and intent. The combination can connect a suspicious line to surrounding functions, although neither layer establishes that a service will behave correctly under production load. Documented architecture

Think of three complementary checks. Your linter enforces repeatable code rules. Your tests execute behaviors you have specified. An AI reviewer proposes additional questions and defects to investigate. Keeping all three makes more sense than asking a conversational review to replace a deterministic check.

A code change receives AI review alongside tests and static checks; a human compares findings and evidence before deciding to merge.
AI feedback and executable checks contribute different evidence to the same merge decision. Diagram: AIOpsSRE.

The product now extends beyond reviewing: its documentation also covers planning and a cloud Coding Agent. Availability and billing differ across features. This article focuses on reviewing code, because installing a review tool and authorizing it to implement changes are separate workflow decisions. CodeRabbit Coding Agent

Why use CodeRabbit on your team?

Earlier feedback. An author can address a plausible defect before requesting a colleague’s time. That is particularly useful when teammates work in different time zones. The benefit is fewer avoidable review rounds, provided the finding is specific enough to verify quickly.

A second look at generated code. Fluent code can conceal a wrong assumption. A separate review pass creates another opportunity to question error handling, data access, or a missing test. It does not guarantee independent reasoning: two AI systems can share the same mistaken assumption.

More consistent attention to repository conventions. Path-specific instructions can tell the reviewer that migrations need compatibility checks or that an API client must preserve deadlines. Those instructions give a busy reviewer a useful starting point. Important invariants should still become tests or enforced checks wherever feasible.

Faster orientation. A summary can help someone navigate an unfamiliar change. Use it as a map, then inspect the actual diff. A summary that omits a consequential file should not decide the review’s scope.

What a customer case actually shows

In CodeRabbit’s published freee case study, the accounting-software company started with about 30 users and a roughly month-long evaluation before expanding to 570 seats. The vendor reports a 48.5% overall suggestion acceptance rate and 32.8 weeks of reviewer time saved over six months.

The useful implementation detail is the division of work: authors address initial suggestions before human reviewers examine architecture and intent. These are vendor-published customer results, not an independently reproduced AIOpsSRE benchmark. The case supports trying that workflow; it does not forecast your savings.

Independent research offers a more mixed picture. A July 2026 arXiv preprint by Hong Yi Lin and colleagues analyzed 31,073 review-and-feedback pairs across 239 GitHub repositories. It classified 36.4% as accepted, 7.3% as discussion, and 56.3% as rejected. This is a study of developer responses, not a universal bug-detection score. Its population and definitions also differ from freee’s case, so the percentages should not be compared as a product trend.

How to use CodeRabbit with GitHub

Begin with one repository that has an active maintainer and working tests. You need permission to install the integration or an organization administrator who can approve it. Keep existing branch protection and required human review in place during the trial.

  1. Connect your account. Sign in through CodeRabbit’s official quickstart, select GitHub, and complete the installation flow.
  2. Select the repository. Grant access to the pilot repository rather than immediately enrolling everything. Review the permissions shown by the installation screen.
  3. Open a small, non-draft PR. Target the default branch initially. Include the intended behavior, the changed behavior, and the tests you ran.
  4. Read the result. Check the reviewed files and commit, then inspect individual findings. Ask for the failing input or execution path when a comment is vague.
  5. Fix, test, and request human review. Apply a suggestion only after understanding it. Push the correction and confirm that the new revision receives the required checks.

CodeRabbit also documents GitLab, Azure DevOps, and Bitbucket integrations. Follow the provider-specific installation path; permissions and feature support are not necessarily identical. Supported platform setup

These PR comments are useful controls:

CommentPurpose
@coderabbitai reviewReview incremental changes.
@coderabbitai full reviewRequest a fresh review of the complete PR.
@coderabbitai pausePause automatic reviews while making several changes.
@coderabbitai resumeResume automatic reviews.

Both review commands consume an allowance when a review runs. Avoid requesting a full review after every tiny edit. For an unclear finding, try: @coderabbitai Show the input and execution path that make this fail, and identify any assumptions about the caller. Command reference

Give CodeRabbit useful review instructions

Add a .coderabbit.yaml file at the repository root through your normal review process. This illustrative configuration favors balanced feedback and exposes review details:

language: en-US
reviews:
  profile: chill
  review_details: true
  request_changes_workflow: false
  auto_review:
    enabled: true
    drafts: false
  path_instructions:
    - path: "src/clients/**"
      instructions: |
        Check timeout propagation, bounded retries, and retry safety.
        Explain a concrete failure path for each proposed defect.
        Ask whether write retries require an idempotency key.
    - path: "migrations/**"
      instructions: |
        Check compatibility with the previous application version.
        Identify destructive changes and possible long-held locks.
        State when table size or traffic information is missing.

Change the paths to match your repository. chill is the balanced profile; quiet reduces feedback, while assertive increases it. Leaving request_changes_workflow disabled avoids enabling that feature’s automatic approval behavior. These are review settings, not replacements for your Git provider’s protections. Configuration reference

Path instructions guide analysis; path filters remove files from scope. Do not confuse the two. An excluded migration may disappear from CodeRabbit’s walkthrough even though it remains in GitHub’s diff. Keep dependency and infrastructure checks in CI when files are excluded from AI review. Path instructions and filters

Start with a few specific instructions. “Review carefully” adds little; “identify whether a retried write can execute twice” gives the reviewer a concrete question. After several PRs, refine instructions around actual missed context or repetitive noise.

Review changes before opening a PR

The CLI is convenient when you want feedback before publishing a branch. Follow the official installation instructions for your operating system. On a Mac with Homebrew, the documented command is brew install coderabbit. Authenticate in the appropriate region, then run from your Git repository:

cr auth login
# For an EU-hosted account, use: cr auth login --region eu
cr auth status
cr review --uncommitted
# Include new files that have not yet been staged:
cr review --uncommitted --include-untracked

cr is the short command name. The local workflow still uses CodeRabbit’s service; a terminal interface does not mean offline analysis. Review only code that your organization permits the service to process.

Current CLI documentation also provides cr config validate for YAML validation and cr doctor for startup problems. Review scope matters: unstaged new files need the additional flag above. In automated use, inspect the exit code and completion details, including unreviewed files. A failed or partial run is not a clean review. CLI reference and completion semantics

The IDE extension offers an editor-based alternative. Choose one early-feedback surface for the pilot, then retain PR review for collaboration. Repeatedly running every surface can increase waiting and duplicate feedback without increasing useful coverage.

A retry example worth investigating

Consider this hypothetical example: a developer adds three retries to a client call. The caller promises a two-second deadline, but each attempt can independently wait two seconds.

# Illustrative flawed retry loop, not production code.
for attempt in range(3):
    try:
        return client.fetch(timeout=2.0)
    except TimeoutError:
        if attempt == 2:
            raise

Under the simplifying assumption that every attempt times out exactly at its configured limit, the loop can spend six seconds waiting. It has converted a per-attempt timeout into a much longer total wait. Real clients may define timeouts differently, so inspect the library and measure the behavior.

A useful review finding would identify the caller’s two-second expectation, show the three-attempt path, and ask for a total deadline. A vague suggestion to “add exponential backoff” misses the first problem: extra waiting could make the deadline violation worse.

A reviewer should turn that finding into three checks:

  • Total time: derive each remaining timeout from the caller’s deadline, and stop when no budget remains.
  • Retry eligibility: retry only failures the operation can safely repeat. A timed-out write may already have executed.
  • Failure test: simulate repeated timeouts and verify the attempt count, elapsed budget, and returned error.

This example describes what worthwhile feedback would look like; it is not a claim that CodeRabbit produced this finding. For writes, see our guide to reconciling an unknown write before adding automatic retries.

Inspect the failing case and the verification result before accepting an AI-proposed fix. If you cannot reproduce the concern, ask for the missing assumptions. The investigation may reveal a genuine bug, a misleading comment, or a false positive. Each outcome is more useful than accepting the patch because the explanation sounds confident.

CodeRabbit pricing and the actual bill

As checked September 29, 2026, CodeRabbit’s pricing page lists these annual-billing rates in USD. Annual rates are monthly equivalents, not month-to-month commitments.

PlanPer developer/month, billed annuallyMain reason to consider it
Essentials$24PR and CLI review.
Team$48Additional workflow controls and higher limits.
Advanced$72Architectural analysis and continuous security monitoring.
EnterpriseCustomEnterprise controls and deployment options.

Essentials and Team replace the older names Pro and Pro Plus. Their month-to-month rates are $30 and $60 respectively. A 14-day trial is advertised, and qualifying public repositories have free reviews. Hourly allowances, optional usage-based reviews, and separately billed products mean “unlimited” should not be read as unlimited burst capacity or an unlimited all-feature subscription. Confirm the current scope before buying. Current pricing and allowances

For a hypothetical five-developer pilot, Essentials at the annual rate has a $120 monthly-equivalent seat cost. Add any enabled usage charges and time spent investigating feedback. Keep estimated labor savings separate from cash savings: freeing engineering time does not automatically reduce payroll.

When CodeRabbit is the wrong choice

SituationBetter first move
Your problem is formatting or a known lint rule.Automate that deterministic rule in CI.
The repository cannot be processed by an external service.Use approved tools or evaluate a permitted enterprise deployment.
Most feedback repeats checks you already trust.Narrow its role or skip the additional reviewer.
The change depends on production capacity or undocumented business behavior.Bring the relevant measurements and domain expert into review.
A critical hotfix is waiting on a rate-limited reviewer.Follow the existing emergency-change procedure with accountable human review.
You want a bot’s approval to replace testing and ownership.Improve the acceptance process before adding more generated feedback.

If checking and correcting its feedback takes more effort than the defects it helps resolve, narrow the review scope or stop using it for that repository. A quiet, effective tool is preferable to an impressive-looking review that consumes attention.

Check what happens to your code

CodeRabbit’s FAQ says source code is not retained after a review except when review caching is enabled. Its more detailed caching documentation says caching is on by default, can retain a prepared repository and dependencies for up to seven days, and can be disabled with reviews.disable_cache: true. It describes encryption for cached data except OSS projects, and says cache data is not used for training. FAQ and caching documentation

That setting is not a universal deletion switch for every kind of product data. Ask separately about review comments, learned guidance, logs, subprocessors, and contractual retention when those affect your requirements. Read the actual installation permissions and current agreement; do not treat a no-training statement as a no-processing statement.

Run a pilot you can judge

Use one active repository and a bounded evaluation window, such as two weeks or 20 representative PRs. This is a practical starting point, not a statistically validated sample size. Include ordinary changes as well as known difficult cases; selecting only obvious defects produces an easy demonstration and a weak buying decision.

For each PR, record:

  • Reviewed commit and whether the intended files were covered.
  • Useful findings, rejected findings, and the reason for rejection.
  • Human minutes spent investigating AI feedback and reviewing the change.
  • Time waiting for AI review, including failed or rate-limited attempts.
  • The test or evidence supporting each accepted correction.

Compare similar changes with your existing review workflow. Do not count every accepted suggestion as a prevented incident. A renamed variable and a reproducible data-loss bug have different value; keep severity and uncertainty visible.

You can download the CodeRabbit pilot checklist and use it in your PR template or team notes. For the broader distinction between visible agent activity and accepted work, read supervising coding agents with Herdr. For checks at the release boundary, continue with AI-assisted release engineering.

Start with a small PR whose failure behavior you understand. Ask CodeRabbit to review it, investigate its strongest finding, and record whether that investigation made the human review easier. That gives you something more useful than a demo: a concrete reason to keep, tune, or remove the tool.

Source context

This article does not include external reference links. Read it as the author’s perspective and evaluate the guidance against your environment.

Report an error or outdated detail

A useful next step

Continue the work