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: 58.8%. Bars are scaled to that peak, not to 100%.
Which agents
| OpenAI Codex | OpenAI | 34 | 20.5% |
| GitHub Copilot | GitHub | 11 | 6.6% |
| Claude Code | Anthropic | 5 | 3% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
5447ecb0fix(s3): encode multipart fixture paths (#3074)OpenAI Codexf18b4accfeat(local): add PDF thumbnails on macOS (#3017)OpenAI Codex0463da40chore(ci): enforce AI disclosures and lock invalid issues (#3059)OpenAI Codexeb486712fix(drivers/s3): custom user agent and method fixes (#2780)GitHub Copilotbfbc441ffix(drivers/189pc): sync .torrent file when copy/move/rename/upload (#2522GitHub Copilot6eedff85feat(drivers): add Cloudflare Image Bed support (#2427)GitHub Copilot4580c4dbfix(alist_v3): set child paths so nested directories resolve (#3019)Claude Codee1ded83dfix(drivers/115_open): recover transient path metadata (#2816)Claude Code3abdf799fix(drivers/ftp): add cwd_list option and filter path-separated entries (#Claude Code
What was excluded
| Commits in window | 239 |
| Merge commits removed | −0 |
| CI / dependency bots removed | −73 |
| Considered | 166 |
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 OpenListTeam/OpenList