← In the News

Pi Durable makes crash recovery a harness primitive

Pi Durable · Earendil Engineering (Earendil Inc.) · earendil.com, October 1, 2026

Machine-readable Download Markdown

Earendil defines a harness as "storage plus the machinery needed to run one or more conversations with large language models in parallel." In Pi Durable, "everything the harness runs, from calling the model to executing a tool, is a task," and each task stores a checkpoint before it moves on. After a crash, a new process opens the same storage and continues unfinished tasks. A cut-off model request is sent again, with the partial answer kept in the transcript and marked as aborted. A cut-off tool call reruns only if the tool declares itself safe to replay; otherwise the model is told the call was interrupted. A requestId makes a submission exactly-once.

The package also covers concurrent conversations that fork from a point in a transcript, background compaction that runs while the conversation continues, and extensions that can be swapped on a running agent. Earendil says the source is about 15,000 lines without tests, roughly 150,000 tokens with GPT and 250,000 with Claude, and that it ships memory, SQLite and JSONL storage. These are Earendil's own figures; we have not run the package or checked them. The post calls Pi Durable experimental and says the API might still change.

Armin Ronacher (Earendil) and Mario Zechner answered questions in the Hacker News thread, which showed 130 points and 12 comments at an early check about two hours after posting.

Why it matters: The replay declaration is the part worth copying: a tool that deploys is reported to the model as interrupted, never repeated, while a read-only search reruns. If your agents run unattended for hours, decide per tool what a restart does before the first crash. Treat the package as a reference design until the API settles.