$ cat ~/map/pi-duo.md
pi-duo
Two persistent, resumable peer agents — Austin implements up front, Tony verifies behind — sharing each other's live session context.
extensions✓ Sep 19
Facts
- repository
- github.com/atfa/pi-duo ↗
- GitHub Stars
- ★ 0
- Forks
- 1
- license
- —
- npm / mo
- —
- last push
- Sep 22, 2026
install
Run pi install git:github.com/atfa/pi-duo, then /reload; pi -e git:github.com/atfa/pi-duo loads the extension for one session without writing the install config. Requires pi 0.85.1 or newer.## TL;DR
A pi extension that runs two persistent, resumable pi sessions on one project: Austin implements in the foreground while Tony investigates, tests, and reviews in the background, exchanging messages through each other's real session context under a shared goal, todo, and decision surface.
## Key points
- $Peers with real context: duo_send delivers a message into the peer's persistent session instead of a markdown file, and both sides keep independent, resumable histories — /duo stop preserves history and /duo resume brings both sessions back.
- $A shared surface inside the project: goals, todos, decisions, a message audit trail, and workspace ownership persist under .pi-duo/, which the README recommends gitignoring.
- $Single-writer by default: in austin-only mode Austin is the only writer of project files while Tony sticks to read-only analysis and testing; the transferable mode lets the two hand workspace ownership over explicitly.
- $Loop protection: a total message budget, consecutive peer-only limits, suppression of similar messages, and deferred slots for key messages keep the two agents from talking in circles.
- $Concurrency safety: revision counters, atomic renames, cross-process locks, and stale-lock recovery guard the shared state; pi-duo is not an OS-level sandbox, and the README suggests git repositories or throwaway branches while it is in beta.
- $Optional model split: both roles can share one model or run different providers and models, provided the current pi configuration can reach both; pi-duo ships no API keys of its own.
## FAQ
Q Is Tony just a subagent?
No. A conventional subagent call returns a result and drops its context; Austin and Tony are both independent, resumable pi sessions, and peer messages land in the other session's real context where they stay.
Q Who writes to my project files?
By default only Austin: austin-only mode fixes Austin as the writer while Tony works read-only on analysis and tests. The transferable mode allows an explicit handover of workspace ownership between the two.
Q How does it keep the two agents from chatting forever?
The loop protections cap the conversation: a total message budget, limits on consecutive peer-only turns, suppression of similar messages, and deferred delivery slots for key messages.
## References
## Related entries
$ pi-better-rewind-redo
Rewind files and conversation together from an earlier message, with multi-level redo and recovery from interrupted restores.
$ pi-flows
Delegate work to isolated, budgeted pi sub-agents — recon, review, decomposition — with cost caps, OpenInference tracing, and contract validation.
$ pi-orchestrator
Strips the main agent down to a delegate tool that commands isolated, budgeted subagent workers.
## Guides
Last updated: Sep 19, 2026