Spindle
A persistent JavaScript REPL extension for the pi agent that spawns async subagents in their own tmux sessions and git worktrees, with a full MCP client built in.
Spindle adds asynchronous agent orchestration to the pi agent through a persistent JavaScript REPL. A subagent call spawns a worker in its own tmux session, optionally with its own git worktree and branch for isolated writes, and returns a handle immediately rather than blocking; a worker extension writes status files that the main session polls to update a dashboard widget and send completion notifications.
Its MCP client implements the full protocol, including server-to-client sampling, elicitation and roots requests that other MCP integrations often omit, with lazy connections, idle disconnect, cached tool metadata, and configuration layered across project, global and editor-imported sources. Server descriptions are injected into the system prompt so the agent knows what tools are available without a separate discovery call.