github nicobailon/pi-subagents v0.67.0

4 hours ago

pi-subagents 0.67.0 makes delegated work easier to launch, follow, and recover. Launch previews now stay aligned with the work that actually runs, including Intercom and prompt and tool customization. Parallel workflows are simpler to compose, while steering, follow-ups, resumed work, and detached processes behave more reliably. FleetView is clearer, child instructions use less context, and support is stronger across schedules, model providers, Pi 0.85, and Windows.

Highlights

  • Launch previews now match what actually runs, including Intercom and prompt and tool customization.
  • Parallel workflows are easier to write and follow, with natural promise composition and per-child completion updates.
  • Child-facing tool instructions use less context, leaving more of the token budget available for the task itself.
  • Steering, follow-ups, resumed work, and detached processes finish more reliably.
  • FleetView and workflow status are clearer, with better grouping, timing, usage, and colors.

Need to know

Affected users What changed
Integrations that compare launch-contract digests Launch contracts are now version 3 and launch-binding projections version 2, so digests change in this release. Existing saved runs still resume.
Anthropic fork users Preserving the requested thinking level after signed-thinking recovery requires Pi 0.85.0 or newer.

Full changelog

Highlights

  • Launch previews now match what actually runs, including Intercom and prompt and tool customization.
  • Parallel workflows are easier to write and follow, with natural promise composition and per-child completion updates.
  • Child-facing tool instructions use less context, leaving more of the token budget available for the task itself.
  • Steering, follow-ups, resumed work, and detached processes finish more reliably.
  • FleetView and workflow status are clearer, with better grouping, timing, usage, and colors.

Added

  • Add optional watchdog fallback models for the main session, children, and individual agents. Fallback happens only for provider failures before tool use and within the existing review timeout. Thanks to @dwizzle204 for #2075.
  • Add portable Inspect commands and a terminal-neutral integration point, including open-only Ghostty 1.3+ right splits on macOS. Thanks to @tiratatp for #2046.
  • Add quiet: true for recurring schedules. Successful automatic runs stay visible without waking the parent; failures, stops, and pauses still wake it. One-shot and manually started schedules remain noisy unless explicitly made quiet. Thanks to @pablontiv for #2055.
  • Add optional watchdog questions that flag possible task drift before a main-session change finishes (#2010).
  • Add the built-in evidence-auditor for checking whether important research claims are supported by their sources. Thanks to @Muskos for #2023.
  • Notify the parent as each asynchronous workflow child finishes instead of waiting for every sibling. Notifications include the workflow, child, outcome, and result location (#2027).
  • Add per-launch intercomBridge overrides to delegation and preflight, plus orchestratorTarget for custom bridge templates that name the parent. Invalid overrides now fail clearly (#2127). Thanks to @Yivas for the instrumented reproduction.

Changed

  • Make the default Intercom bridge prompt independent of the parent session while preserving {orchestratorTarget} in custom templates. Launch contracts are now version 3 and launch-binding projections version 2, so launch-contract digests change in this release; existing saved runs still resume (#2127). Thanks to @Yivas for the instrumented reproduction.
  • Include removed child tools and their active restrictions in launch warnings without changing launch behavior. Follow-up for #2058.
  • Shorten the default child-facing instructions while keeping the full typed API and detailed guides. Thanks to @Whamp for the prompt-footprint measurements and proposal in #2048.
  • Give FleetView agents stable identity colors. Thanks to @savinofiore for #2056.
  • Preserve a forked child's requested thinking level after incompatible signed Anthropic thinking blocks are removed. This requires Pi 0.85.0 or newer. Thanks to @hank-warren for #2021.
  • Scope parallel-review findings to the requested target, while diff reviews continue to report only issues caused or exposed by the diff. Thanks to @jmclaughlin724 for #2042.
  • Simplify watchdog clarification to one visible question followed by native continuation, removing reply tracking and mandatory follow-up reviews.
  • Show task-based labels for workflow launches, reviews, and continued child work.

Fixed

  • Accept runs.run(...) promises in runs.all(...), including the natural items.map(...) form, instead of reporting an invalid key. A one-time warning explains when config objects are still required for batch validation, grouping, and collectFailure. Thanks to @karandhillon1995 for #2128.
  • Make Intercom-aware preflight produce the same launch digest as foreground and background execution, while keeping the parsed agent definition independent of runtime bridge changes (#2127 and #2112). Thanks to @Yivas for the instrumented reproduction.
  • Apply project refinements during preflight so its launch digest matches the completed run. Thanks to @Yivas for #2112.
  • Report steering and follow-up requests as delivered only after the child consumes them, and report unconsumed requests accurately when the child finishes (#2116 and #2121). Thanks to @yanqianglu for #2057.
  • Keep native children alive during final shutdown when queued steering or follow-up work is still pending (#2117). Thanks to @yanqianglu for #2057.
  • Prevent stale shutdown timers from aborting resumed foreground or background work. Thanks to @harche for #2025.
  • Wait for remembered detached descendants before their parent finishes, without aborting children that already produced a result. Thanks to @shaharmor for #2051.
  • Keep paused background runs from failing on checks that apply only at completion. Thanks to @yanqianglu for #2022.
  • Report process-tree cleanup as complete only after detached descendants have actually stopped. Thanks to @rtbe for #2053.
  • Let approved child coordinators answer supervisor questions from their own children while preserving immediate-parent ownership and tool restrictions. Thanks to @shaharmor for #2087.
  • Allow read-only reviewers to quote phrases such as “must fix before” without being mistaken for implementation requests. Thanks to @freezscholte for #2079.
  • Preserve explicitly read-only requests after tool restrictions are applied, while still rejecting implementation work without write tools. Thanks to @stekman08 for #2060.
  • Stop review and scout launches before startup when requested repository tools are unavailable. Explicitly empty or restricted tool sets remain valid. Follow-up for #2058.
  • Keep workflow child tools aligned with the selected agent when extensions wrap Pi built-ins, and place automatic extension-repository worktrees outside extension discovery (#2059).
  • Validate worktree repositories and cleanliness before starting parallel workflow children. Thanks to @yanqianglu for #2076.
  • Reject workflows whose known child count exceeds maxSubagentSpawnsPerRun before starting any child; dynamic counts remain limited at runtime. Thanks to @ton77v for #2101.
  • Show workflow usage on child rows instead of displaying overlapping or misleading wrapper totals. Thanks to @expoli for #2085.
  • Keep live workflow timers advancing, nest loaded children correctly, collapse only fully represented duplicate groups, and freeze completed durations accurately. Thanks to @expoli for #2085.
  • Preserve the parent's theme in foreground children, initialize themes in detached children, and refresh command-result rendering. Thanks to @kubahasek for #2089.
  • Parse complete Orca creation output so observer handles, tab IDs, and titles are stored correctly. Thanks to @G0-0000 for #2063.
  • Keep the configured watchdog model and thinking level when recommending models. Thanks to @freezscholte for #2078.
  • Recognize OpenRouter's status-prefixed 401 response as eligible for configured fallback before tool use. Thanks to @freezscholte for #2077.
  • Keep internal OpenCode helper requests in the same provider session as normal Pi traffic. Thanks to @IdrisGit for #2041.
  • Run the child prompt filter before extensions inspect the final prompt, preserving intentional global-context and parent-only skill exclusions. Thanks to @leftytennis for #2043.
  • Intersect agent tool declarations with tools available from the host, so restricted hosts reject unavailable tools before starting a child. Thanks to @BioInfo for #2034.
  • Allow fast to round-trip through background recovery and follow-up. Thanks to @isty2e for #2045.
  • Use the detected npm Pi package root in detached runners instead of an inherited host path. Thanks to @alvarosevilla95 for #2050.
  • Restore background SDK sessions for the official Pi 0.85.1 Linux standalone while retaining Pi 0.85.0 support. Thanks to @xz-dev for #2049.
  • Resolve Pi TUI aliases correctly in unusual package layouts. Thanks to @kroediger for #2020.
  • Avoid requiring newer chord aliases on Pi versions before 0.85 while keeping required runtime aliases strict. Thanks to @samuela for #2026.
  • Use git wt for Worktrunk on Windows to avoid the Windows Terminal wt.exe conflict. Thanks to @Zethu5 for #2033.
  • Prevent manually started schedules from firing again at their next natural time. Thanks to @brandonmwest for #2052.
  • Allow terminal schedules owned by an earlier session to be deleted when their exact run is known to have finished (#2125).
  • Show exact child IDs and usable steering guidance in workflow status when a workflow no longer has a foreground route (#2011).
  • Ignore action-like words inside filenames and paths when deciding whether a task requests implementation. Thanks to @SiebertLanhove for #2039.
  • Bound transcript previews by line and total size while preserving recent context and artifact links. Thanks to @rtbe for #2015.
  • Refresh the local model registry before opening model and thinking selectors, and warn when refresh fails. Thanks to @ianbmacdonald for #2008.
  • Preserve string, string-array, and undefined system-prompt shapes in before_agent_start. Thanks to @luqman-v1 for #2107.

Don't miss a new pi-subagents release

NewReleases is sending notifications on new releases.