IndyDevDan walks through Pi durable, a new release from the Pi coding agent maintainers that detaches agents from the client so they survive crashes, restarts and disconnects while keeping session, shared application state, tasks and tools. He demos a 'proactive' on-call agent that a Jev classifier triggers off a live event stream: it detects a production bug, investigates, writes a fix and waits for his approval, all for pennies. The rest of the video tours the durable feature set (background compaction, shared JSON app state across sessions, phased durable jobs, hot-swappable tools and extensions, forking) and argues that owning a controllable, extensible harness is the key move for agentic engineers.
- Pi durable makes agent sessions persistent across failures, machine restarts and client disconnects, so you can close the laptop or kill the process and the agent resumes from its last checkpoint.
- The demo 'proactive agent' is triggered by a Jev classifier watching a live event stream; it runs a standard incident-response procedure (detect, investigate, root cause, fix, present for review) and then waits for human approval before deploying.
- The incident's actual bug was a classic non-null assertion on a loyalty tier field in a checkout API that had gone to 100% traffic; Dan approved the deploy and production stabilized, with the approval gated as a non-replayable one-time tool call.
- Durable agents expose a shared JSON application state object per device, so multiple agent sessions can read and write the same state and coordinate on one problem.
- Tasks are durable, phased jobs that can be retried from a failed phase and can include sub-agents and approval steps, enabling what Dan calls 'human near the loop' instead of being stuck in the terminal.
- Because the agent is detached, multiple clients can attach to the same session: he creates a session in a cloud sandbox TUI over SSH and it appears live in the browser UI simultaneously.
- Tools and extensions can be changed mid-session — he switches a running agent to read-only and the agent notices its tool list changed — and extensions like 'Jev damage control' can block irreversible commands like rm -rf.
- Dan says he will now use durable agents by default for all product work (e.g. a site support chatbot) and is betting on proactive agents, framing the key KPI as how many agents are doing useful work for you at any moment without you kicking them off.
The core demo: a classifier on a live event stream spawns an agent that runs the whole incident-response workflow and parks itself at a review gate.
Jev triggered a Pi durable agent to investigate the issue. This is a special type of agent. It's a proactive agent. It doesn't wait for you to work. It works for you, then waits.
A concrete, surprising capability — every model call and tool execution is a task, so you can reconfigure a running agent's permissions on the fly.
I changed tool set mid execution. So, you can see this, like, even from the agents, this is relatively new. They're not used to having tools stripped away mid-session.
The most valuable agent is the one that doesn't need you to ship.
Everyone can generate code now, not everyone can software engineer.
How many agents are doing useful work for you at any point in time? And I'm not talking about sitting down, kicking off work — that's the phase two mindset.