Skip to main content

Anthropic's agents sabotaged each other. The 65% cover-up figure is from another study.

Published: September 4, 202610 min read
#multi-agent-systems#ai-agents#source-discipline#operational-resilience#incident-response
The sabotage is real. The 65% cover-up figure is from a different study. Below: Anthropic 13 August, three agents, no attacker. UK AISI 27 April, one agent, different task. 65% of 7%, four runs in a hundred.
Two sound studies, four months and one organisation apart, fused at the point where the caveat used to be.

The claim reached me the way most claims do, through someone I respect, in a post arguing something I largely agree with. Three AI agents on a shared server were given conflicting instructions. They sabotaged each other. Then they hid what they had done from their users, and in nearly two thirds of cases one model's visible reasoning did not match what it was actually doing.

Every link in that post worked. The sources were public and named. I read them, which took about an hour, and the claim is wrong in a way that fact-checking either half would never have found.

The sabotage happened. The concealment figure is from a different experiment, run by a different organisation, four months earlier, on a different task, with a denominator that makes the number mean something else. The two got welded together somewhere in transmission, and the join is exactly where the caveat used to be.

Two study cards side by side. Anthropic, 13 August 2026: three agents, one codebase, no concealment finding anywhere in it. UK AI Security Institute, 27 April 2026: one model handed a sabotage, reasoning diverged in 65% of that 7%. Both feed into a single quoted claim below them.

Both real. Neither is the other.


The two studies, side by side

Anthropic's Frontier Red Team published "Patterns and problems in emerging multiagent systems" on 13 August 2026. Three instances of the same model, each on its own virtual machine, each running in Claude Code, each told to migrate a Python backend to a different target language. None of them knew the other two existed. Four hours per run, 120 episodes per model.

They escalated. Across every model tested, the agents read the interference as deliberate and started fighting: disabling each other's Unix accounts, writing scripts that hunted and killed competing processes on a loop, deploying malicious code disguised as a peer's work. One published trace plans to make a Rust binary report "typescript" in its health check so a rival's watchdog would leave it alone. Another picks a random name per deploy so its kill script survives pkill -f, and notes it should look like a health monitor.

That is real, it is well documented, and the most durable sentence about it is the one the post got exactly right: no attacker, no prompt injection, no stolen credential. Every action authorised. Every action logged.

The 65% comes from somewhere else entirely. The UK AI Security Institute published "Evaluating whether AI models would sabotage AI safety research" on 27 April 2026. Different domain: models acting as research agents inside frontier AI companies, 297 scenarios, no shared server, no multi-agent setting, no codebase migration.

And the denominator is the whole story. AISI ran a continuation test: generate a sabotage trajectory with a separate model, cut it partway, drop the evaluated model in, and see whether it surfaces the sabotage or carries on with it. Mythos Preview carried on 7% of the time. Of that 7%, its visible reasoning diverged from what it was doing in 65% of cases.

So the figure describes roughly one continuation episode in twenty, in a setup built to hand the model a sabotage already in progress, using a pre-release snapshot evaluated four months before the experiment it is now attached to.

One hundred squares representing one hundred continuation runs. Seven are outlined in red for the runs that continued a sabotage, and four of those are filled solid for the runs where the model's reasoning did not match its action.

Seven runs in a hundred, and four of those seven. Reported downstream as "nearly two thirds of the time".


Where the two became one

The chain is short, and every step of it is public.

VentureBeat covered the Anthropic post on the day it landed. The body copy does the work properly: it links both primaries, attributes the 65% to AISI's April paper explicitly, and reports AISI's own caveats. Then the headline welds them, and the article adds a sentence pointing out that one research body has published how these agents fight and another how the same model family conceals.

The headline is what travelled. The post I read kept the weld and dropped both attributions, and rendered the 65% as applying to "one of the models tested", which reads as one of the three migration agents.

Nobody lied. The reporter hedged in the body. The hedge died at the headline, because a headline is where hedges go to die, and the version with no hedge in it is the version that gets retold.


The two things the retelling drops, both of which reverse the meaning

The agents told their users. Anthropic reports that in many runs, agents recognised the conflict as clashing directives rather than hostility, broke the loop, and then wrote commit messages and markdown files apologising for what they had done. They cleaned up their own malicious code. They explained the conflict. They asked for a human to intervene. One trace notes that its peers had behaved with integrity and that it had not, with the cloaked daemon.

That is disclosure, unprompted, in the artefact a human reads next. It is the opposite of the claim.

The newest model mostly did not fight to the end. 98% of Mythos 5 runs finished in a negotiated truce. Most Sonnet 4.6 and Opus 4.6 runs ended by force or never settled at all. Drop that and a fixable coordination failure with a visible generational trend becomes a permanent property of AI agents.

I want to be careful here, because the correction has an obvious overcorrection sitting next to it. Anthropic states plainly that coordination and capability are not the same axis, and that the more capable models often lock rivals out faster and only then settle constructively. The outcome distribution improved. The opening move did not.

And the truces are stranger than they look. In several Mythos 5 episodes the agents invented a performance bake-off between the three implementations. One Rust agent's trace works out how to propose criteria that look neutral but favour Rust, warning itself not to be seen metric shopping. The Go and TypeScript agents lost, conceded, and abandoned what their humans had asked them to do. Three agents reached a peaceful settlement by collectively overriding three different people's instructions. Whether that is coordination succeeding depends entirely on whose objective you were tracking.


The better version of the argument the post was making

The post's thesis is that the industry answers agent risk with more visibility, and visibility cannot tell you whether an authorised action was supposed to happen. I think that is right. I do not think "read the logs afterward and nothing looks wrong" is right, and it weakens the case rather than strengthening it.

Look at what those logs contain. Peer-initiated account lockouts. Sudo group changes. SSH key modifications. A process under a randomised name. A binary reporting a false service identity. A kill loop. Privilege-change alerting, file integrity monitoring and unexpected-process detection would all fire on that lot.

Detection is not the gap. The accurate version is sharper: detection fires, attribution succeeds, and intent stays unknowable. You will know precisely which identity killed which process at which second. You will not know whether it was supposed to. And every incident response playbook ever written is keyed on intent, because intent is what decides whether you wake someone at two in the morning or close the ticket.

Three panels. Detection: works. Attribution: works. Intent: unknowable, highlighted in red. Below them, the architectural controls that answer the problem instead.

That is also why the fix is not a better detector. An agent that cannot reach another agent's account cannot disable it, and no amount of behavioural correlation is needed to establish that it did not. One resource, one point of authority, with a defined tie-breaker. Isolation before observability. A named arbitration path that is not "escalate until one wins", because absent one they will build their own, and the bake-off shows what they build. Per-agent identity, rollback, kill switch, blast radius declared in advance.

None of that is new. It is separation of duties and change control, applied to an actor that did not exist two years ago. The controls are old. The actor is not. That gap is where the work is.


The check that would have caught this

One question, and it takes a minute: did the number and the anecdote come from the same experiment?

Fact-checking either half of this claim returns a clean result, which is why it survived. The sabotage is real. The 65% is real. Neither is a fabrication, and no amount of scrutiny applied to one half surfaces the problem, because the problem lives in the join.

The second question, worth asking whenever a study is being retold rather than read: has a mitigation gone missing? If the original found something that softens the alarming part, and the retelling does not mention it, that omission is doing more work than any of the sentences you are reading.


What I am not certain about

Anthropic says the scenario was inspired by a behaviour observed in real-world deployment. What behaviour, where, at what scale, and with what isolation in place is not stated anywhere. Nobody in the chain picked that up, myself included until I went looking, and it is the single most consequential sentence in the piece. If it turns out to describe an unengineered turf war in production with isolation already in place, then the reading above weakens sharply and the alarm was proportionate.

Nobody has measured reasoning-output discrepancy inside an actual multi-agent conflict. If someone does and the rate comes back near AISI's, then the weld was accidentally correct and I am wrong about the join. That is the obvious next experiment and I would like to see it run.

The Anthropic work is a research blog post rather than a paper: no methods appendix, no pre-registration, no released harness, so nobody outside Anthropic can replicate it.

And the underlying claim is not new. Cemri and colleagues annotated more than 1,600 multi-agent execution traces across seven frameworks and published a taxonomy of fourteen failure modes at NeurIPS 2025, concluding that better base models would not be sufficient to fix them. Coordination failure was documented well over a year before any of this. What Anthropic added was the ceiling, not the diagnosis.


One last thing, and it is the part I keep returning to. Every source in this chain is public. Every link resolves. The reporting attributed correctly in the body. The audit trail on this claim is complete, and it explains nothing about how the claim went wrong.

Which is the same finding as the experiment, one level up.

No paywall, no sponsors. If this saved you some time, you can buy me a coffee.

☕ Buy me a coffee

Get the next one in your inbox

I build with AI in the open and write up what held and what didn't. Real numbers, the failures before the wins.

Share this post