Adoption is broad. Many contributors are committing agent-authored work, which is what a real organisational rollout looks like.
Assisted or autonomous
Assisted — a developer’s identity authored the commit and the agent added itself as co-author. The agent ran git commit during a working session, with a person there. Autonomous — a bot identity is the author, no human in the loop. Across the whole index, 93.7% of agent commits are assisted.
Agent share by month
Peak month: 75%. Bars are scaled to that peak, not to 100%.
Which agents
| GitHub Copilot | GitHub | 199 | 54.2% |
| Claude Code | Anthropic | 3 | 0.8% |
| OpenAI Codex | OpenAI | 1 | 0.3% |
| Cursor Agent | Anysphere | 1 | 0.3% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
7d13a7adfix(oauth): advertise only default scopes in protected resource metadata (GitHub Copilot9205304ffix: restore sanitizer content boundaries (#3219)GitHub Copilotf2cbc12efix(sanitize): preserve plain-text title characters (#3216)GitHub Copilot9cfe97e2fix(issues): allow delete:false in issue_write issue_fieldsClaude Code3a4c6600fix: restore thread id in get_review_comments responseClaude Codef93e5260feat: add resolve/unresolve review thread methodsClaude Codea718d37fAdd README community resource links (#2848)OpenAI Codex5aa8ed36fix(pull_requests): validate required params in add_comment_to_pending_revCursor Agent
What was excluded
| Commits in window | 464 |
| Merge commits removed | −0 |
| CI / dependency bots removed | −97 |
| Considered | 367 |
Bots are excluded from the denominator entirely. Counting dependabot as “AI-written code” is the fastest way to produce a meaningless number.
How this was measured
Measured over February–August 2026, cloned directly. Detection is deterministic string matching against signatures agents write about themselves — no heuristics, no style analysis. Merge commits and CI bots are excluded from the denominator. The figure is a floor: squash merges strip trailers, so real usage is higher. Contributor counts are aggregate — no individual is named.
Run it yourself: npx qmmit-cli github/github-mcp-server