The minimal case for a minimal subagents implementation in Pi - Daniel Nouri's Blog
~/danielnouri.org
The minimal case for a minimal subagents implementation in Pi
August 06, 2026 | View Comments
The Pi coding agent famously does<br>not ship with a subagent implementation. And that's okay. Pi tends<br>to be unopinionated, which is why you can extend and customise it to<br>do all kinds of cool shit, and that's great. Subagents on the other<br>hand are inherently opinionated.
Subagent implementations for Pi exist and they are plentiful, and<br>they are among the most popular Pi extensions. Which is perhaps not<br>surprising, given that subagents are increasingly useful in an era of<br>AI that can handle long-horizon tasks.
Ever found yourself asking your coding agent to break down a task, to<br>delegate it to subagents, to, itself, stay on top of overall progress<br>and so on. That's the power of context management through<br>subagents<br>and of solving long-horizon tasks in a single shot.
What's also true about subagent implementations for Pi is that some<br>are more opinionated and feature-rich than others. Feature-rich and<br>flashy is useful for some, but strong opinions are sometimes hard to<br>stomach for everyday Jane.
That's why I wrote pi-submarine, a Beatles-inspired<br>beautifully simple subagents implementation. Because Pi itself<br>already does most of the work (such as parallel tool calling, which<br>translates to parallel subagents natively), and pi-submarine can<br>mostly get out of the way.
That's not to say pi-submarine is without opinions. Its strongest<br>opinion is narrowness: a subagent tool call runs one child session in<br>the foreground and waits for it. It doesn't fire and forget, and it<br>doesn't run anything later, though a child session can always be<br>resumed for a follow-up.
Please enable JavaScript to view the comments powered by Disqus.