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: 39.1%. Bars are scaled to that peak, not to 100%.
Which agents
| Claude Code | Anthropic | 101 | 10.8% |
| Cursor Agent | Anysphere | 70 | 7.5% |
| GitHub Copilot | GitHub | 66 | 7% |
| OpenAI Codex | OpenAI | 1 | 0.1% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
dbe61d67feat(releases): instrument release description usage (#13775)Claude Codeb9bee418feat(sanity): add _unstable-embedded export for embedded form rendering (#Claude Codeb37fa239fix(core): lock in intended publish date when scheduling a release (#13824Claude Code276d0558feat(e2e): add chromatic visual regression snapshots to the e2e suite (#14Cursor Agentac542a48feat(storybook): add visual regression testing with chromatic (#14002)Cursor Agent684e3977ci(typedoc): use the shared pnpm setup action (#13941)Cursor Agent53540567feat(studio): provide SDKStudioContext to enable zero-config SDK usage (#1GitHub Copilotd7d621c1chore: migrate ui5 box in core/canvas to core/documentGroupInventory (#139GitHub Copilot684e3977ci(typedoc): use the shared pnpm setup action (#13941)GitHub Copilot11e248dcfix(portable-text): prevent duplicate nested annotation dialogs (#13551)OpenAI Codex
What was excluded
| Commits in window | 1,585 |
| Merge commits removed | −0 |
| CI / dependency bots removed | −648 |
| Considered | 937 |
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 sanity-io/sanity