github nicobailon/pi-subagents v0.55.0

3 hours ago

Pi Subagents 0.55.0 makes larger workflows easier to control and easier to trust. You can stop one stuck workflow child without tearing down the whole run, continue finished external jobs with follow-up requests, and set clearer defaults for model provider and thinking effort. The release also makes child launches fail earlier with better explanations when tools or models are not available. Scripted workflow outputs now stay in managed artifact directories, which keeps project roots cleaner during heavy multi-agent work.

Highlights

  • Stop a single stuck child in an async workflow without stopping the whole run.
  • Continue finished external jobs, like Surf's gpt-pro, with follow-up requests through resume.
  • Cap child thinking with subagents.maxThinking and set a preferred default provider for bare model ids.
  • Scripted workflow outputs now land in the run's managed artifact directory instead of the repository root.
  • Child launches fail fast with clear reasons when requested models or write tools are unavailable.

Full changelog

Highlights

  • Stop a single stuck child in an async workflow without stopping the whole run.
  • Continue finished external jobs, like Surf's gpt-pro, with follow-up requests through resume.
  • Cap child thinking with subagents.maxThinking and set a preferred default provider for bare model ids.
  • Scripted workflow outputs now land in the run's managed artifact directory instead of the repository root.
  • Child launches fail fast with clear reasons when requested models or write tools are unavailable.

Added

  • Add subagents.maxThinking to enforce a thinking ceiling across native subagent launches. Thanks to @alex-real14 for #1397.
  • Add subagents.defaultProvider and per-agent defaultProvider overrides so bare subagent model ids can prefer a configured provider. Thanks to @swingtempo for #1393.
  • Add external-job follow-ups through subagent({ action: "resume" }) for completed provider jobs that expose followUp(input), with duplicate request dedupe, durable parent-job lineage (#1381), and clearer errors when a follow-up cannot start.
  • Add child-scoped stop support and child stop observer events for async/workflow runs. Malformed child stop requests are rejected instead of widening to a run-level stop. Thanks to @yanqianglu for #1367.
  • Create one passive Orca observer tab per top-level subagent call, with shared chain/parallel progress and project-local observer manifests. Thanks to @hyein-cbio for #1360.
  • Count Herdr project panes in inline status and report compact Herdr pane title suffixes for active subagent work.
  • Let agentOverrides set or clear default output paths and defaultReads, while preserving explicit custom-agent frontmatter and preventing settings-derived values from being serialized into custom definitions. Thanks to @mevatron for #1349.
  • Surface copyable provider/id model selectors from { action: "models" } and point invalid model warnings at that discovery path. Thanks to @lixinglong27 for #1365.
  • Add bundled skill guidance for lightweight task profiles before subagent fanout. Thanks to @srcKod for #1395.
  • Add delegated review guidance that separates evidence requirements from severity labels so first-pass reviews do not default to blockers only.

Fixed

  • Route relative workflowScript output paths through managed artifacts instead of creating report files in the repository root.
  • Keep the async widget spinner and elapsed timer moving while the parent is idle by routing animation ticks through the live widget rebuild path. Thanks to @0xFlo for #1390.
  • Slow async widget animation rerenders to 1 Hz so quiet running jobs do not repaint the full TUI at the liveness tick rate. Thanks to @0xFlo for #1376.
  • Fail a Pi child launch when the child reports a different provider/model than the resolved requested model. Thanks to @zzzubair for #1377.
  • Render detached workflow supervisor handoffs as paused/waiting and include workflow and child run ids in completion notifications.
  • Report implementation runs blocked by missing child tools as blocked mutation effects instead of no-edit completion guard failures.
  • Fail child launch attempts when the runtime lacks requested core write tools or an implementation worker has only read-only launch tools, including workflow children that inherit a read-only capability ceiling.
  • Let read-only reviewer acceptance rely on the parent-side staged-file check instead of requiring child-reported noStagedFiles evidence.
  • Run public single-child launches directly instead of wrapping them in a workflow, so async external-job agents do not show a completed workflow before the real provider job finishes.
  • Start omitted-async public external-runner single-child launches in the supported background mode, so package agents such as Surf's gpt-pro do not fail as foreground requests.
  • Let workflow scripts await omitted-async external-runner children by launching them in the background internally and returning their terminal result.
  • Report helpful workflow errors when runs.all(...) results are read as keyed objects instead of ordered arrays. Thanks to @ravshansbox for #1351.
  • Clarify that Council Mode can include installed external-runner advisors such as Surf's gpt-pro when the surf-cli Pi extension has registered surf-oracle, with text JSON reports instead of outputSchema.

Don't miss a new pi-subagents release

NewReleases is sending notifications on new releases.