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