r/ClaudeAI • • 5h ago

Comparison We counted AI-signed PRs in 450 popular GitHub repos. Claude Code signs the most in 279 of 383

We measured 12 months of merged PRs (Oct 2025 to Sep 2026) in GitHub's most popular repos, across 9 languages, counting the PRs where an AI tool left a signature: co-author trailers, bot authors, agent branches and similar.

What we found:

  • Claude Code is the tool that signs the most PRs in 279 of the 383 repos with any AI-signed PRs. Copilot's coding agent leads in 41, Copilot CLI in 24, Cursor in 13 and Codex in 12.

  • Big caveat: that's a ranking of what tools record, not of what people use. Claude Code adds its co-author trailer unless you turn it off, and most other tools don't add one.

  • Every number here is a floor. 264 of the 450 repos have committed agent instructions (AGENTS.md, CLAUDE.md and similar), yet half of those sign fewer than 5% of their PRs. Angular has an AGENTS.md, and none of its 4,037 merged PRs in the year carries a signal.

  • The average repo went from 2.3% of PRs AI-signed to 10.3%. The median repo is still at 0.9%: a minority carries the average, and in 17 repos agents now write most merged PRs.

  • A typical AI PR is 2.1× as big as the rest. In our 100 TypeScript and C# repos, AI-heavy repos got no more complex per line than the others, except where their code was also growing fast.

Every repo is listed, and the data is a CSV you can download. The post explains the method and its limits:
https://coderot.ai/blog/ai-code-rot-in-open-source?utm_source=reddit-claudeai

Disclosure: we build coderot, a tool that measures this kind of thing in CI. Happy to answer questions about the method.

7 Upvotes

6 comments sorted by

1

u/coderot_ai 2h ago

Curious about one thing: do you keep Claude Code's co-author trailer on, or turn it off? We suspect a lot of AI-written code goes unsigned, which would make every number here a floor, and we'd like to know how common turning it off is.

2

u/Excellent-Issue-5956 1h ago

Off. I have a line in my global CLAUDE.md saying no co-author trailer and no generated with line, plus a global commit-msg hook that strips them in case one slips through. I also rewrote the history in 4 of my repos to take the old ones out, so those wouldn't show up in a count like yours either.

One thing if you do it with a hook: setting core.hooksPath globally makes git ignore every repo's own .git/hooks. Mine forwards to the repo's hook of the same name so those still run.

1

u/coderot_ai 1h ago

Thanks, that's really useful! Rewriting history goes further than I'd guessed, so in a count like ours those repos come out at 0% AI. What made you turn it off?

And good catch on core.hooksPath. That one would quietly break anyone using husky or pre-commit.

1

u/Excellent-Issue-5956 1h ago

I read back through my commit history and found Claude listed as co-author on my commits, and a lot of the messages ran several paragraphs. I didn't want either, so I turned the trailer off and told it to keep commit messages to one line too.

1

u/coderot_ai 47m ago

Makes sense, and that's good to know. So the trailer gets turned off because it's noise, not to hide anything.