From 20Vision, makers of AI Architectures · 16,000+ users · customers in 75+ countries · since 2022
How the pull requests of AI agents are counted
Every number on Agent Arrivals is a count returned by GitHub’s public search. This page shows the searches, how often they run, and what they cannot see.
By agent · last 30 days
How much each agent opens, and how much of it lands.
| Agent | Opened | Landed merged | Turned back closed, not merged | Still open |
|---|---|---|---|---|
| Claude Code | 9,077,377 | 8,402,597 92.6% | 282,511 3.1% | 392,269 |
| Codex | 1,317,268 | 1,131,592 85.9% | 65,206 5.0% | 120,470 |
| Cursor | 473,176 | 372,018 78.6% | 24,912 5.3% | 76,246 |
| Copilot | 51,777 | 35,367 68.3% | 7,112 13.7% | 9,298 |
Most of this is people's own agents working in their own repositories. Of the latest 113 pull requests on the board, 65% were opened by the repository's owner, 12% by a member or collaborator, and 22% by someone outside the team.
How it's counted
One GitHub search, shown here so you can run it yourself.
- A pull request counts as an agent's when its text says
Generated with Claude Code, or its branch starts withclaude/,codex/,cursor/orcopilot/. Those are the default signature and branch names these agents use. - The query:
is:pr is:public created:>24h ("Generated with Claude Code" OR head:claude/ OR head:codex/ OR head:cursor/ OR head:copilot/), read from the count GitHub's search API returns. - It undercounts. Private repositories are invisible, and so is agent work that carries no signature or runs under a bot's own account. It can also count a person who names a branch
codex/…by hand. - Most of these pull requests are opened in the author's own repository. A merged pull request there says little about quality; the board shows volume, not a ranking of agents.
- Your recap and a repository's report are fetched by your browser from GitHub's public API, which allows ten searches a minute per network. We store a count of recaps made, not who was looked up.
- If you claim your pass, GitHub signs you in with public information only. Your numbers are then counted once with your own sign-in and stored with your username, so your pass, the board and the badge load without asking GitHub again. The access token is deleted when the count is done.
The exact searches
| Agent | A pull request counts when | Search term |
|---|---|---|
| Claude Code | its text says “Generated with Claude Code”, or its branch name starts with claude/ | ("Generated with Claude Code" OR head:claude/) |
| Codex | its branch name starts with codex/, the name Codex gives the branches it works on | head:codex/ |
| Cursor | its branch name starts with cursor/, the name Cursor’s background agents give their branches | head:cursor/ |
| Copilot | its branch name starts with copilot/, the name GitHub’s Copilot coding agent gives its branches | head:copilot/ |
Each search goes to api.github.com/search/issues with is:pr is:public and a time window, and the number used is the total_count GitHub returns. When GitHub marks a result as incomplete, that number is thrown away and the last good one stays on the page.
How often
The 24-hour totals are counted once an hour and the 30-day table twice a day. The board of single pull requests is refreshed every five minutes with the newest ones opened, merged or closed. The front page says how old its count is.
Recaps and repository reports
A recap searches for pull requests with author:NAME created:>=2026-01-01 and the signatures above. “Abroad” adds -user:NAME, which leaves the pull requests in repositories outside that person’s own account. A repository report uses repo:OWNER/NAME over the last 30 days and compares it with all pull requests opened there. Both run in the visitor’s browser, against the same public API.
Known gaps
Pull requests that Copilot’s agent or other agents open under a bot’s own account cannot be tied to a person, so they are missing from recaps. Agents that leave no default signature, such as tools used through an editor without their footer, are not counted at all. And a person can name a branch codex/… by hand. The totals are a floor for signed agent work on public GitHub, not a census of all AI-written code.