github nicobailon/pi-subagents v0.70.0

5 hours ago

pi-subagents 0.70.0 gives you tighter control over what children can load and which agents descendants may launch. Background workflows are easier to trust: detached work stays visible, supervisor questions interrupt waits correctly, and interrupted runs settle more reliably. Workflow mistakes and unsafe worktree launches now fail earlier with clearer results. The release also improves linked-worktree memory, cross-platform supervisor polling, source-layout runners, and Orca progress tabs.

Highlights

  • Control child-only extensions and descendant agent access without widening permissions.
  • Keep background workflows visible and recoverable through detaches, interruptions, restarts, and supervisor handoffs.
  • Catch invalid workflows, unsafe worktree launches, and blocked tool budgets earlier with clearer results.
  • Get more reliable linked-worktree behavior, Windows supervisor polling, source-layout runners, and Orca progress tabs.

Full changelog

Added

  • Add subagents.defaultSubagentOnlyExtensions for loading shared child-only extensions without disabling ambient extension discovery. Thanks to @Shujakuinkuraudo for #2284.
  • Allow agent frontmatter and subagents.agentOverrides.<name>.allowedAgents to restrict which canonical agents a child may launch without granting delegation or widening capability ceilings. Thanks to @shkrabov for #2312.

Changed

  • Document /subagent-cost as the combined accounting view for parent and asynchronous child usage. Thanks to @swarajban for #2313.

Fixed

  • Wake root bg_wait calls when an owned nested child is waiting on contact_supervisor. Thanks to @geril07 for #2344.
  • Keep explicitly detached workflow children visible, preserve their result lookup after the coordinator exits, and avoid treating launch receipts as completed results. Thanks to @shaharmor for #2299.
  • Settle interrupted, stopped, or timed-out background runs even when child session creation hangs. Thanks to @onorua for #2320.
  • Prevent concurrent workflow observers from overwriting retained-session startup confirmation and stranding resumed children. Thanks to @luigiplr for #2292.
  • Let children use the tools declared by their own agent configuration instead of incorrectly narrowing them to the parent's --tools selection. Thanks to @carlesba for #2289.
  • Report foreground hard tool-budget blocks as tool_budget_exhausted, including calls blocked before execution starts. Thanks to @kylerberry for #2302.
  • Keep permission forwarding scoped to the validated launch parent instead of sharing an identity between independent root sessions. Thanks to @kasumikira for #2321.
  • Reject malformed inline and file-backed workflow scripts before creating asynchronous run state or launching children. Thanks to @rtbe for #2309.
  • Reject direct asynchronous managed-worktree launches from a dirty source before creating run state or returning a receipt. Thanks to @rtbe for #2311.
  • Avoid rejecting keyed property access after a mutable runs.all(...) result binding is reassigned.
  • Report useful rooted field paths for failed structured-output if/then/else schemas while preserving root $defs. Thanks to @peedrr for #2317.
  • Give the bundled reviewer a bounded, read-only view of staged, unstaged, and untracked working-tree changes from its launch HEAD. Thanks to @nateberkopec for #2306.
  • Show the correct child transcript when inspecting an indexed asynchronous workflow step. Thanks to @swarajban for #2304.
  • Reconcile foreground and background child usage from terminal session messages when live usage events are missing or incomplete. Thanks to @riique for #2295 and #2296.
  • Keep project-scoped agent memory stable across linked Git worktrees. Thanks to @freezscholte for #2293.
  • Keep Fleet workflow coverage stable during heartbeat, counter, and token updates without resetting an unchanged layout. Thanks to @swarajban for #2305.
  • Continue supervisor polling on Windows when a temporary channel directory disappears during a scan. Thanks to @asher-aqi for #2303.
  • Keep source-layout asynchronous runners on native Node TypeScript when child extensions are configured, with consistent peer-module resolution. Thanks to @qsgy-edge for #2314.
  • Make Orca progress tabs work under fish. Thanks to @yourfriendaaron for #2294.
  • Prevent publishing the TypeScript source checkout directly to npm; only the compiled package is publishable. Thanks to @niko-operal for #2300.

Don't miss a new pi-subagents release

NewReleases is sending notifications on new releases.