Try CodeDelta
A trading-floor ticker board showing the number 509,558 in lit dots beside a rising green line.
Paper · AI agent tools

Inside the AI companies’ own agent tools: half a million statements (LLOC) in six months!

OpenAI’s Codex added 509,558 logical statements in six months, 399,199 of them Rust. Four fast-growing Rust projects that are not AI products added 36,005 to 65,979 statements of Rust over the same six months.

27 October 2026 · measured with CodeDelta 2.6.4 on the public repositories at their last commit before 27 April 2026 and their latest commit on 27 October 2026

The AI companies’ models are not public. The tools built around them are: the coding agents that run in a developer’s terminal and the software kits for building agents. Ten of them were measured, statement by statement, six months apart, beside a control group of five fast-growing projects that are not AI products.

What was measured

CompanyRepositoryWhat it isMain language
OpenAIopenai/codexCodex, the coding agentRust
OpenAIopenai/openai-agents-pythonAgents SDKPython
Googlegoogle-gemini/gemini-cliGemini CLI, the coding agentTypeScript
Googlegoogle/adk-pythonAgent Development KitPython
Anthropicanthropics/claude-agent-sdk-pythonClaude Agent SDKPython
Anthropicanthropics/claude-codeplugins, mods and examples for Claude CodeTypeScript
Anthropicanthropics/sandbox-runtimethe sandbox Claude Code runs commands inTypeScript
Anthropicanthropics/claude-code-actionClaude Code’s GitHub ActionTypeScript
Anthropicanthropics/skillsAgent SkillsPython
Microsoftmicrosoft/autogenAutoGen agent framework (archived)Python

Claude Code itself is not in its repository: the program ships ready-built through npm, and the repository holds its plugins, mods and examples. AutoGen’s only commit since April, on 16 October, notes that it is archived and no longer maintained; its code did not change. Each repository was measured at the last commit on its main branch before 27 April 2026 and at its latest commit when measured on 27 October 2026; every commit is listed in the references.

Six months of growth

RepositoryFiles, AprilFiles, OctoberStatements addedof them in the main language
openai/codex4,0279,647509,558399,199 Rust
google/adk-python1,6473,036306,523217,169 Python
openai/openai-agents-python1,3001,696189,692137,499 Python
google-gemini/gemini-cli2,7513,03745,79230,546 TypeScript
anthropics/claude-code1911,60110,8587,903 TypeScript
anthropics/sandbox-runtime633789,2337,277 TypeScript
anthropics/skills3904454,6133,980 Python
anthropics/claude-code-action1822254,1352,757 TypeScript
anthropics/claude-agent-sdk-python1221608,5677,182 Python
microsoft/autogen1,8371,83700

LLOC counts statements, not lines: one statement split over three lines counts once, and three statements on one line count three times. Configuration and data files such as JSON and YAML count one statement per line, so the totals include them; the last column counts the main language only.

The control group, over the same six months:

RepositoryWhat it isFiles, AprilFiles, OctoberStatements addedof them in the main language
biomejs/biomeweb code formatter and linter22,97734,024141,43365,979 Rust
denoland/denoJavaScript runtime11,79414,95299,75141,659 Rust
astral-sh/uvPython package manager1,2841,881173,11338,131 Rust
astral-sh/ruffPython linter10,49111,273142,08636,005 Rust
vitejs/viteweb build tool2,6132,9106,4021,932 TypeScript
The CodeDelta report for openai/codex, April to October 2026: 13,165 statements changed, 75,090 deleted and 509,558 added, churn 597,813.
Actual CodeDelta 2.6.4 report for openai/codex, 0bda8161 → aa854dab, shown in grey. Statements (LLOC): 13,165 changed, 75,090 deleted, 509,558 added.

Why the report shows 9,586 files and the growth table 9,647: the table counts every file in the repository, while CodeDelta measures only the project’s own code. It skips code copied in from other projects, hidden settings folders, pictures and empty files.

Codex added 6.1 to 11.1 times as many statements of Rust as any of the four Rust projects in the control group, and more than doubled its file count. Google’s Agent Development Kit added more Python than any control project added of its main language.

Low REWORK, and why it is not evidence of AI

REWORK is the share of churn made by editing existing statements in place, rather than deleting or adding them.* Established hand-maintained projects sit near 17% (paper C). Every AI company tool measured here is far below that in its main language:

AI company toolREWORKControlREWORK
openai/codex (Rust)2.4%biomejs/biome (Rust)3.2%
google/adk-python (Python)2.6%astral-sh/uv (Rust)3.6%
openai/openai-agents-python (Python)3.2%denoland/deno (Rust)3.7%
anthropics/claude-agent-sdk-python (Python)6.5%astral-sh/ruff (Rust)13.0%
google-gemini/gemini-cli (TypeScript)7.5%vitejs/vite (TypeScript)25.2%
anthropics/sandbox-runtime (TypeScript)1.8%
anthropics/skills (Python)3.4%
anthropics/claude-code-action (TypeScript)4.9%

The control group is low too. Three of the four Rust projects sit between 3.2% and 3.7%, beside Codex’s 2.4%. When a project adds code fast, the added statements swell the total and the edited share shrinks, whoever or whatever writes the code. Codex edited 13,165 statements in place over the six months; against 509,558 added, that is a small share. Paper C found the same in projects measured before AI coding tools existed: esbuild 1.6%, deno 4.0%. A low REWORK figure alone proves nothing about how code was written.

* CRN_LLOC = CHG_LLOC + DEL_LLOC + ADD_LLOC. REWORK = CHG_LLOC ÷ CRN_LLOC, here counted over the repository’s main language only.

How much of it carries an AI signature

Some AI coding tools add a line such as Co-Authored-By: Claude to the commits they make. Counted over the same six months:

RepositoryCommitsWith an AI co-author line
anthropics/claude-agent-sdk-python44890 (20.1%)
google-gemini/gemini-cli61376 (12.4%)
anthropics/skills293 (10.3%)
anthropics/claude-code-action26823 (8.6%)
openai/openai-agents-python1,16240 (3.4%)
anthropics/sandbox-runtime64819 (2.9%)
openai/codex6,929128 (1.8%)
google/adk-python2,4330 (0.0%)
biomejs/biome (control)1,512104 (6.9%)
astral-sh/uv (control)2,286100 (4.4%)
vitejs/vite (control)64013 (2.0%)
denoland/deno (control)1,74032 (1.8%)
astral-sh/ruff (control)2,76632 (1.2%)

These lines are voluntary and easy to remove, so the count is a floor, never a total. On that floor, the AI companies’ tools are not visibly more agent-written than the control group: Codex, at 1.8%, sits beside deno.

Two of the repositories are not where the work happens. Every one of the latest 300 commits in Google’s Agent Development Kit was committed by Copybara-Service and carries a PiperOrigin-RevId: the code is exported from Google’s internal system. Every one of the latest 300 in Codex was committed by an export account named copyberry. The commits still name their individual authors. Their co-author lines show what the export keeps, not how the code was written.

What the Agent Scan found

CodeDelta’s Agent Scan read every file of the ten repositories as they stand today. It found no CRITICAL result in any of them: no model output passed to a command or to eval in the pattern the scan treats as rogue. The HIGH and ELEVATED results mark files that call an AI model, which is what these tools are for:

RepositoryFiles scannedCRITICALHIGHELEVATEDCredential matches
openai/codex9,5970418394
google/adk-python3,03602991,1398
google-gemini/gemini-cli3,0330323526
microsoft/autogen1,8370402360
openai/openai-agents-python1,69701663770
anthropics/claude-code1,6010030
anthropics/claude-agent-sdk-python160074210
anthropics/skills44503150
anthropics/sandbox-runtime3280002
anthropics/claude-code-action225001242

Credentials. The scan looks for the formats of real keys and tokens wherever they sit, and names each match with its file and line. It found 172 in five of the ten repositories, and every one, checked by hand, is a test value: placeholders such as ghp_xxxx… and sk-proj-fedramp-synthetic-test-key in OpenAI’s and Google’s code; a key inside Codex’s test code that signs test sign-in tokens; made-up tokens in the part of Claude Code’s GitHub Action that strips tokens from output, and in the tests that prove it works; and in Anthropic’s sandbox, a test certificate authority committed on purpose and a deliberately broken key file containing only AAAA.

Hidden calls in encoded text. AI-driven malware can hide its calls to a model inside base64, where a plain text search never finds them. The Agent Scan decodes base64 and reads what is inside. In Codex it decoded seven such strings, in six files, to the address of OpenAI’s service and reported each with its file and line. All seven turned out to be sample sign-in tokens in Codex’s tests, for made-up accounts such as [email protected]: checked and cleared in minutes, exactly as a reviewer should be able to.

What this does not show

One six-month window cannot say whether these rates last. File counts include every file in the repository, not only source. The AI co-author count is a floor, and a project that squashes or rewrites commits can lose those lines entirely. Nothing here measures quality: a statement added is a statement added.

See what your own codebase says

Churn, REWORK and the Agent Scan run on any two snapshots of your own repository, on macOS, Linux and Windows. Download CodeDelta →

Disclaimer. Every figure here was measured from public data gathered on GitHub and npm on 27 October 2026, at the commits listed below. That data was taken to be current, true and reliable as published; CodeDelta did not verify it independently and cannot vouch for it. The figures describe the code in those repositories at those commits, nothing more: they are not a statement about any company, its staff or its practices, and no company named here took part, endorsed or reviewed this paper. Product and company names belong to their owners. Corrections are welcome and will be published with a dated revision note.

  1. AI company repositories measured, April commit → October commit: github.com/openai/codex, 0bda8161 → aa854dab; github.com/openai/openai-agents-python, ba889de4 → cd26bbbc; github.com/google-gemini/gemini-cli, 42587de7 → 8080ea70; github.com/google/adk-python, 7de5bc54 → d0c3af57; github.com/anthropics/claude-agent-sdk-python, 8348d1f8 → 717cea09; github.com/anthropics/claude-code, 7e936457 → 08c6a4f5; github.com/anthropics/sandbox-runtime, 7a725a31 → 98a4016d; github.com/anthropics/claude-code-action, 567fe954 → 98a9e39f; github.com/anthropics/skills, 5128e186 → dbd4588f; github.com/microsoft/autogen, 027ecf0a → 004749e6.
  2. Control repositories, same window: github.com/biomejs/biome, f3e76ab7 → ade98454; github.com/denoland/deno, a5284c16 → e7b39ebd; github.com/astral-sh/uv, 3e9c3335 → f75ea631; github.com/astral-sh/ruff, c7c24b17 → 22c07fed; github.com/vitejs/vite, 640202a2 → cce559ab.
  3. Window: the April commit is the last on each repository’s default branch before 27 April 2026, 00:00 UTC; the October commit is the latest on 27 October 2026.
  4. Engine: CodeDelta 2.6.4 (build 71), default settings, each pair compared whole. Agent Scan run on the October snapshots. Every credential and base64 match was opened and read by hand.
  5. AI co-author lines: GitHub REST API, GET /repos/{owner}/{repo}/commits, every commit on the default branch since 27 April 2026, read 27 October 2026; matched case-insensitively for a Co-authored-by line naming Claude, Copilot, Codex, Gemini, Cursor, ChatGPT, OpenAI, Anthropic, Devin, Aider or Jules, or for “Generated with Claude Code” or the address [email protected].
  6. Export accounts: committer name and message of the latest 300 commits on google/adk-python and openai/codex, same API, read 27 October 2026.
  7. Why Codex is written in Rust: “Codex CLI is Going Native”, openai/codex discussion #1174, 30 May 2025, announcing the rewrite from TypeScript to Rust for a zero-dependency install, native security bindings, lower memory use and an extensible protocol.
  8. AutoGen archive notice: microsoft/autogen #8366, committed 16 October 2026, the only commit since 27 April 2026.
  9. Claude Code distribution: npm package @anthropic-ai/claude-code (version 2.1.312 on 27 October 2026).
  10. REWORK baselines for hand-maintained projects, and the fast-growth counter-examples: paper C, paper D. Encoded calls to AI models: AI-driven malware.