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: 9.7%. Bars are scaled to that peak, not to 100%.
Which agents
| Claude Code | Anthropic | 27 | 3.3% |
| GitHub Copilot | GitHub | 14 | 1.7% |
| Cursor Agent | Anysphere | 2 | 0.2% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
8b46fb58[swift5] fix: make the urlsession client compile on Linux (#24872)Claude Coded09ade8a[csharp] fix: stop percent-encoding the User-Agent (#24923)Claude Code51433f08[typescript-fetch] centralise date handling, add dateLibrary (#24722)Claude Code2e27e4adRevert "[CORE] - Feature: `forcedGenerateSchemas` — Force generation of scGitHub Copilotda510a9bfix(spring;kotlin-spring): enhance pageable parameter detection with OpenAGitHub Copilotc158fd6b[java][spring][kotlin-spring] Make @JsonInclude/@JsonSetter opt-in to stopGitHub Copilotc7c0bf71fix(csharp): use numeric JSON operations for numeric enum converters (#229Cursor Agent9d5fe1c3[python] Fix unquoted string enum defaults causing NameError in python-fasCursor Agent
What was excluded
| Commits in window | 1,224 |
| Merge commits removed | −1 |
| CI / dependency bots removed | −396 |
| Considered | 827 |
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 OpenAPITools/openapi-generator