Rebuilding our agents on Pi Durable
On October 1, Earendil released Pi Durable, an open-source durable agent
harness (@earendil-works/pi-durable). A day later, we are rebuilding the engine that runs our agents on it.
Until now that engine was our own: a loop that saved each step of an agent’s turn and picked it up again after a restart. It worked, but keeping it correct through every kind of interruption took more care with each feature we added.
In Pi Durable, every model call and every tool call is a durable step, committed to storage before anything is shown. If the process crashes or we deploy in the middle of an answer, the agent carries on from where it stopped. The agent’s computer will stop being a separate system: when the agent starts it, its next file edit or command will simply run there.
We checked before committing. A spike ran Pi Durable on our own Cloudflare setup with Claude. We redeployed in the middle of an answer, and it cost nothing but the time to generate that answer again. An agent waiting on a person holds nothing open and costs nothing while it waits.
Toby put it plainly: “Nothing we’ve built so far is precious.” So this is a rebuild, not a migration. We replace our own loop instead of porting it, and the product you see stays the same: the same agents, conversations and workspace.
We use Pi Durable as published, pinned to an exact version and never patched, and anything more we need goes through the extension points it documents. Toby’s rule for new releases: “We should intentionally evaluate new releases as they come out and update eagerly.” So each release gets evaluated soon after it ships.