Back to all stories
Operational Chaos
🔴 Real Incident

When agents go too far...

In June 2026, HelixML gave Claude Code production kubectl and lost Drone CI mid-flight; weeks later at Blended Labs an agent pushed a flux-system delete and Flux took production with it

2026-11-06·7 min read·By Supervaize Team
When agents go too far...

🔴 REAL INCIDENTS (founder / engineer self-reports): In June 2026, HelixML founder Luke Marsden gave Claude Code kubectl on production and watched it delete the company's Drone CI while he was climbing out of Heathrow. Nineteen days later, at Blended Labs, an AI coding agent pushed a commit that removed the cluster's root Flux config before a human could stop it — and Flux applied the deletion. Both accounts are first-hand. Neither is a database wipe. (HelixML blog, 10 Jun 2026; Blended Labs / sysarcher, 30 Jun 2026)

What Happened — HelixML

On 10 June 2026, HelixML founder Luke Marsden published what he did on the runway.

He gave Claude Code kubectl access to the production Kubernetes cluster while sitting at Heathrow, waiting to take off for San Francisco. By the time the plane was at 10,000 feet and satellite internet came up, he writes, the agent had deleted the CI system.

He spent half the flight rebuilding it — WhatsApping colleagues for secrets when United's satellite wifi wouldn't load pages — "rebuilding Drone CI at 35,000 feet over Greenland."

"The agent wasn't malicious. It was trying to help. It just had the permissions to act on a bad judgment call, and no human in the loop to catch it."

He does not publish the exact kubectl command. He names the tool, the access, and what was gone: Claude Code, production kubectl, Drone CI.

What Happened — Blended Labs

On 29 June 2026, at Blended Labs — which describes itself elsewhere as an AI school operating system — an engineer writing as sysarcher was iterating with an AI coding agent on a deploy failure. The rhythm, per the post: say "fix this," investigate, say "yes, go ahead."

The agent flagged what it thought was a duplicate: two YAML blocks that both defined the same thing. It said it would remove one. Then:

"It created and pushed the commit before I could hit Escape."

The author caught it and wrote: "wait, don't delete that."

Flux does not wait. It reconciles every few minutes. The bad commit was already on the repo. Because the cluster deletes anything no longer in git, Flux removed the root configuration — `flux-system` — the parent list for production, staging, monitoring, ingress, everything. The thing doing the deleting deleted itself. The author checked the control plane and saw one service left out of a dozen; the rest were frozen.

The git log in the post is short:

1. 2026-06-29 12:12 — add arc HelmRepository to flux-system kustomization

2. 2026-06-29 12:15 — remove duplicate flux-system kustomization (the bad commit)

3. 2026-06-29 12:19 — restore flux-system kustomization

Recovery was three steps: revert and push, apply the restored config, wait about 90 seconds. Roughly 11 minutes from detection to full recovery. GitOps made the restore fast — and the outage automatic.

Same Pattern, Two Doors

Our last post, Horror Show #21 "Reboot or reboot", covered an agent asked only to reboot that kept going. These two June incidents are cousins of that story — and they are not the database wipes in PocketOS and Replit. The blast radius here is Kubernetes and GitOps.

Door one: kubectl. Marsden: "kubectl is a loaded gun." An agent that can patch can also delete. The same credential that resizes a volume can remove a namespace. HelixML's CI was gone before he could intervene from 10,000 feet.

Door two: write access to the GitOps repo plus automatic reconcile. At Blended Labs the agent never needed kubectl — only a push. Flux did the rest. A human "wait" after the commit is not a control; it is a comment on an incident already underway.

Marsden's fix after Heathrow points at the same gap: give the agent git, not the cluster; make it open a PR; let a human merge; let Flux apply only what survived review. Blended Labs already had Flux — and still got burned — because the agent could push a delete onto the branch Flux watched, with no merge gate in front of it.

What Broke

Permission matched the worst action, not the asked task. HelixML needed help in production; the access could delete CI. Blended Labs needed a deploy debug; the access could remove the root of the GitOps tree.

Speed beat review. At Heathrow there was no human on the loop once the plane left the ground. At Blended Labs the human was in the loop and still lost the race to Escape.

GitOps without an approval step is still a loaded path. Flux did its job. Automatic reconcile of an agent-authored delete is a large blast radius with no second click.

Takeaway

If your agents can touch a cluster or a deployment repo:

  • Treat kubectl as a loaded gun. Do not give a coding agent production cluster credentials for "help." Prefer a path where the agent proposes and a human (or a constrained apply path) executes.
  • Do not let an agent push straight to the branch Flux or Argo watches. Agents should open pull requests. Humans merge. Controllers reconcile only after review.
  • Write access to a deployment repo plus automatic GitOps is the blast radius. If the agent can delete the root config, the controller will delete the cluster's memory of everything under it — exactly as designed.
  • A verbal "wait" is not a control. Destructive git and cluster actions need a hard gate the agent cannot race.

Sources

  • Luke Marsden / HelixML: An AI Agent Deleted Our CI System While I Was on the Runway at Heathrow (10 Jun 2026). Primary source for HelixML. Claude Code + production kubectl; Drone CI deleted; mid-flight rebuild; "kubectl is a loaded gun"; post-incident PR → human merge → Flux model. https://helix.ml/blog/ai-agent-deleted-our-ci-system
  • Luke Marsden on LinkedIn (11 Jun 2026). Short share of the Helix blog ("turns out agents x gitops is even better than humans x gitops"); no independent incident detail beyond the link. https://www.linkedin.com/posts/luke-marsden-71b3789_an-ai-agent-deleted-our-ci-system-while-i-activity-7470915930609516545-m1Ci
  • sysarcher / Blended Labs: How I took down prod (published 30 Jun 2026; commits 29 Jun 2026). Primary source for Blended Labs. Agent-pushed removal of flux-system; Flux reconcile; ~11-minute recovery; "wait, don't delete that." https://blendedlabs.substack.com/p/how-i-took-down-prod
  • Eon, Rogue AI Agent Tracker: row 025 (10 Jun 2026, HelixML CI deletion) and row 027 (30 Jun 2026, Blended Labs flux-system / production down). Both self-reported, recovered. https://www.eon.io/rogue-ai-agent-tracker