← In the News

Four agents burned 199.8 billion tokens in a month. The failures showed up late

200 Billion Tokens Later: A Month of Letting AI Agents Decompile MW2 · Maurice Heumann · momo5502.com, August 17, 2026

Machine-readable Download Markdown

Heumann pointed a Claude Max 20x subscription at decompiling Call of Duty: Modern Warfare 2 (2009) into C++ and left it running. Four Claude Code CLI agents used Sonnet 5. Three worked on separate subsystems and committed to the same branch. An overseer reviewed every pushed commit. A GitHub webhook posted new commits into a Discord channel watched by the overseer, triggering its review task. CI failures went to a shared channel. The agents tracked their own work in GitHub issues and reached Ghidra and IDA Pro through MCP servers.

After roughly four weeks, the agents had made almost 7,000 commits and decompiled 5,588 of 16,324 functions, about 34%. They used 199.8 billion tokens. The game launches, but loading a map does not work yet. Heumann says the real completion figure is higher because many of the 16,324 functions belong to third-party libraries and CRT code that will never need decompiling.

The four failures are the reason to read it. Progress tracking started in a STATUS.md file, which "quickly grew into a 10 MB+ giant, instantly overflowing the context when trying to ingest it"; moving to GitHub issues fixed it. The agents run the full local suite on every change, about four minutes each, despite CI existing: "They were repeatedly told to never execute tests locally. We have CI for that. [...] Yet, they don't really care." They avoid large work: "The moment they stumble upon bigger blockers, they file an issue, defer the problem and move to something smaller." Now that the easy work is gone, that leaves agents idle. And they invent a constraint that does not exist: "From time to time, agents start refusing to work, because they think they're running out of context. Obviously, they don't. They have no idea how many tokens are in their context, and even if they did, that's something the harness takes care of."

The model choice did not seem to matter. Heumann ran Opus 5 for the first two weeks, then switched to Sonnet 5: "It is slightly dumber, yet there is no noticeable difference." He also added PostCompact hooks that reinject rules into the context. They kept issue management and status posting on track, but did not keep the agents concise. Heumann blames compaction: "most of the issues can be attributed to compaction and thus agents forgetting what matters over time."

The repository is private, so none of the commit, function or token figures can be checked by anyone outside the project. This is a single operator reporting on his own setup.

Why it matters: Most published coding-agent evidence covers a single session. This account covers a month, and the extra time exposes different failures. A progress file that works on day one becomes a context bomb by week three. The agents looked productive while easy tasks remained. Once those were gone, they filed issues for the hard blockers and sat idle. They also stopped because they imagined a context limit that the runtime did not impose. If you plan to leave a fleet running past the weekend, prepare for compaction. The operator tried two models and saw no meaningful difference.