Est.

Defaulting an Agent's Write Path to Dry-Run

Defaulting destructive operations to simulation catches mistakes before they harm real users.

Staff Writer · · 2 min read
Features · September 24, 2026 · 2 min read · 357 words
# Defaulting an Agent's Write Path to Dry-Run After a bulk data-import tool accidentally sent live notification emails to real customers during what was meant to be an internal migration step, the fix wasn't just patching that one code path. It was changing the default shape of every tool in that family: from "runs for real unless you pass a flag to simulate it" to "simulates unless you explicitly pass the flag that makes it real." ## Why the direction of the default matters Both versions of the tool are equally capable of doing the right thing when used correctly. They are not equally safe when used by someone in a hurry, half-remembering the exact flag, running a command that's mostly right. A tool that defaults to executing punishes a single missing flag with a real, external, unrecoverable action. A tool that defaults to simulating punishes a single missing flag with... nothing happening, which you notice immediately and re-run correctly. The failure modes of the two defaults are not symmetric, even though the flag itself is. ## What this looks like for an autonomous system, not just a human The same asymmetry applies, more sharply, to a script or agent calling these tools without a human re-reading every command before it runs. An agent that constructs a call slightly wrong against a dry-run-default tool produces a harmless no-op it can inspect and correct. An agent that constructs the same slightly-wrong call against an execute-by-default tool produces a real side effect first and a diagnosis second — and for anything touching a real customer, a real inbox, or a real balance, "diagnosis second" is the wrong order. ## The actual pattern Every retry tool in that family now defaults to dry-run, requires an explicit apply flag to do anything real, and gets paired with a written preflight checklist read before the first real run. None of that prevents a mistake in what gets asked for. What it prevents is a mistake in what gets asked for turning into a mistake that already happened to someone else, which is the only kind of mistake that actually can't be undone.

More in Features