12% of public GitHub PRs now get an AI review bot
Blog · Dian · data pulled 23 October 2026
In September 2026, 2.76M of the 22.84M public pull requests opened on GitHub got a comment or a review from an AI review bot. That's 12.1%, up from 2.0% in January 2025. If you leave out PRs opened by bot accounts like Dependabot, the share is 14.3%, about 1 in 7.
The number of PRs is still climbing fast. The share isn't. It reached 11% in March 2026 and has stayed between 10.5% and 12.1% since. Most of the growth in bot reviews since spring comes from there being more PRs, not from more of them getting a bot.
And a large part of what the bots leave isn't a review. In a sample of about 50 PRs per bot, CodeRabbit left only a notice on 31 of 50, and Codex hit a usage limit on 14.
CodeRabbit, Codex and Copilot do most of the reviewing
Three products cover most of it. CodeRabbit was on 1.11M PRs in September, about 1 in 20 of all public PRs.
| Bot | PRs commented or reviewed, Sep 2026 | Share of public PRs | Formal reviews among those |
|---|---|---|---|
| CodeRabbit | 1,106,039 | 4.8% | 30% |
| Codex | 897,501 | 3.9% | 50% |
| Copilot review | 621,214 | 2.7% | 100% |
| Greptile | 149,300 | 0.7% | 72% |
| Cursor (Bugbot) | 115,910 | 0.5% | 56% |
| Claude | 108,948 | 0.5% | 50% |
| Sourcery | 93,013 | 0.4% | 97% |
| Qodo | 63,585 | 0.3% | 27% |
| cubic | 41,248 | 0.2% | 99% |
| Gemini Code Assist | 23,002 | 0.1% | 85% |
"Formal reviews" are PRs where the bot posted a GitHub review, not only a comment. A formal review isn't always a useful one. Copilot posts its quota errors as reviews too.
Copilot review was ahead of CodeRabbit every month from December 2025 to May 2026. CodeRabbit has been ahead since June.
Two of these numbers include more than review. The Codex app also posts for Codex cloud tasks and "@codex" requests. The Cursor app posts for Cursor's agents as well as Bugbot.
Source: GitHub search API, public PRs by month opened. Counted 23 Oct 2026.
Many bot comments aren't reviews
To see what the bots actually leave, I sampled about 50 PRs per bot from 21 September to 20 October 2026. Each PR got one label, for the best thing the bot left on it:
- Flagged an issue. An inline comment, or a result like "Actionable comments posted: 2". This means the bot raised something, not that it was right. In a spot check, 18 of 18 flagged PRs had real review findings.
- Clean pass. The bot reviewed and found nothing, for example "No actionable comments".
- Summary only. A walkthrough or guide with no review result.
- Free-text review. A long review my patterns couldn't sort. Mostly Claude.
- Notice. A rate limit, quota, usage limit, ended trial, skipped review or bot error.
| Bot | Flagged | Clean | Summary | Free-text | Notice | Other |
|---|---|---|---|---|---|---|
| cubic | 31 | 16 | 0 | 1 | 1 | 1 |
| Greptile | 26 | 12 | 0 | 0 | 10 | 2 |
| Cursor (Bugbot) | 23 | 4 | 0 | 5 | 14 | 3 |
| Copilot review | 21 | 11 | 0 | 1 | 16 | 1 |
| Qodo | 20 | 0 | 4 | 0 | 26 | 0 |
| Gemini Code Assist | 20 | 17 | 0 | 0 | 13 | 0 |
| Codex | 18 | 12 | 0 | 0 | 19 | 1 |
| Claude | 17 | 7 | 0 | 17 | 3 | 6 |
| CodeRabbit | 11 | 4 | 2 | 2 | 31 | 0 |
| Sourcery | 8 | 9 | 26 | 0 | 6 | 1 |
Each row is 50 PRs, except Cursor with 49.
The notices tell you more than the totals do:
- CodeRabbit (31). Skipped because a bot opened the PR (10), repo under 10 stars (10), auto review off for that branch (6), rate limit (4), plan (1).
- Codex (19). Usage limit (14), review failed (4), other (1).
- Copilot review (16). All 16 were "the user who requested the review has reached their quota limit".
- Qodo (26). All 26 were "reviews paused" after a trial or subscription ended.
- Cursor (14). Usage or spend limit (12), config (2).
- Gemini Code Assist (13). Daily quota (9), unsupported file types (4).
- Greptile (10). Trial credit limit (8), rate limit (2).
So the headline count says what a bot touched, not what it reviewed. A lot of that touching is a free tier running out. CodeRabbit's count is the most inflated, because it comments even when it decides to skip a PR.
The sample is small. Fifty PRs per bot gives about ±14 points at 95% confidence. GitHub search returns results by relevance, so the pick is spread over 10 random days but isn't truly random. The labels come from text patterns, not from reading every comment.
- flagged at least one issue
- reviewed, nothing flagged
- free-text review, not labelled
- summary only
- limit, quota, skipped or error notice
- other (agent chat, config message)
Source: GitHub API, about 50 PRs per bot. Counted 23 Oct 2026.
Switch on Hide notices to leave out the notices and other messages. The chart then keeps only the PRs where the bot responded with a review or a summary.
CodeRabbit flagged an issue on 11 of the 19 PRs it actually responded to, 58%. That puts it in the lower half, close to Codex (60%) and Gemini Code Assist (54%). Its low place with notices shown comes from skipped PRs, not from weak reviews. Sourcery stays at the bottom, because most of its responses are summaries with no review result.
Two limits matter more here. Only 19 to 48 PRs are left per bot, so the margin grows to about ±22 points for CodeRabbit, and most of the bots in the middle aren't clearly different from each other. A higher flag rate also isn't automatically better, because a bot can flag things that don't matter.
Gemini Code Assist fell because Google shut the free app down
Gemini Code Assist went from 201k PRs in July 2026 to 37k in August and 23k in September. Google ended the consumer version of its GitHub app:
- From 18 June 2026, new installs could no longer be completed.
- On 17 July 2026, the consumer version shut down and its code reviews stopped.
- The enterprise version kept running.
Source: Sunset of the Consumer version of Gemini Code Assist on GitHub. The page gives no reason.
PRs opened in July still got reviews until the 17th, which is why July is still high. The remaining reviews come from the same gemini-code-assist login, so the enterprise version probably uses the same app. That's my inference. Google doesn't say it.
"Not opened by a bot" doesn't mean a person wrote it
The 14.3% figure leaves out PRs opened by bot accounts. It can't leave out PRs that agents wrote under a person's own account, because Codex, Cursor agents and Claude Code all open PRs that way.
One marker can be counted. 4.15M of September's public PRs, 18.2%, have "Generated with Claude Code" in the description. In January 2026 it was 165k. In a sample of 90 of them, 89 were opened by user accounts, not bot accounts.
So the 14.3% is the share of PRs from user accounts that got a bot review. It isn't the share of human-written PRs, and that number can't be measured from public data.
What I make of it
AI review went from rare to normal in about 14 months, then levelled off at roughly 1 PR in 8. My guess is that the repos that wanted a review bot have one now, and new growth comes from those repos opening more PRs. At least 18% of those PRs carry the Claude Code footer, so a growing part of GitHub is agents opening PRs for other agents to review.
The quality sample is the part I'd watch. When a third of the PRs a bot touches get only a quota message, as with Copilot review, the PR count measures free tiers as much as reviews.
How I counted
All counts come from GitHub's issue search API (GET /search/issues), reading total_count. I pulled them on 23 October 2026 between 09:50 and 11:00 UTC.
- All public PRs in a month:
is:pr is:public created:2026-09-01..2026-09-30. The month is the month the PR was opened. - A bot touched the PR:
commenter:app/<slug>. This matches a comment or a review. Copilot review only posts reviews, and itscommenter:andreviewed-by:counts for September are within 30 of each other (621,214 and 621,241), which confirms it. - Formal reviews:
reviewed-by:app/<slug>. - Any of the 10 bots: one query that ORs all 11 app slugs, so a PR with two bots counts once.
- Bot-opened PRs left out: the same queries with
-author:app/<slug>for the 9 biggest bot authors (dependabot, renovate, pull, github-actions, copilot-swe-agent, devin-ai-integration, google-labs-jules, claude, cursor). Smaller bot authors are still counted, so this share is approximate. - Claude Code footer:
"Generated with Claude Code" in:body.
The bots and their GitHub Apps:
| Product | App slug |
|---|---|
| CodeRabbit | coderabbitai |
| Codex | chatgpt-codex-connector |
| Copilot review | copilot-pull-request-reviewer |
| Greptile | greptile-apps |
| Cursor (Bugbot) | cursor |
| Claude | claude |
| Sourcery | sourcery-ai |
| Qodo | qodo-code-review, qodo-free-for-open-source-projects |
| cubic | cubic-dev-ai |
| Gemini Code Assist | gemini-code-assist |
What I left out. Jules (116k PRs in September), Devin (71k) and the Copilot coding agent (20k) mostly comment on PRs their own agent opened, so they aren't review bots. Other review apps were under 20k PRs a month each, for example CodeAnt, Gitar, Kilo Code, Macroscope, Amazon Q and Graphite.
Are search totals reliable? GitHub calls them estimates. Every query came back with incomplete_results false. The 30 daily totals for September add up to 22,836,379, against a monthly total of 22,836,550, so they agree within 0.001%. Deleted PRs and PRs from accounts GitHub hides as spam aren't counted.
Why not GH Archive? GH Archive now misses most events. For 15 September 2026 at 14:00 UTC it has 7,640 PR-opened events, while search returns 38,506 PRs opened in that hour. I used it only to find bot logins.
October 2026 isn't in the charts, because the month isn't over. From 1 to 22 October the share was 12.7%.
MergeMax ranks public GitHub activity every month. How we count explains its numbers the same way.