pi-subagents 0.60.0 makes it easier to choose the right helper and understand what active delegated work is doing. Capability discovery now exposes compact, structured information so callers do not have to scrape prose. Async status views are quieter and easier to scan, especially for grouped workflow work. This release also smooths several platform and recovery edges, including Windows console flashes, macOS terminal failure delivery, and clearer diagnostics when child runs cannot finish their handoff.
Highlights
- Agent selection is easier with compact capability lists and structured capability details.
- Async status views are calmer and show workflow progress with clearer grouping and labels.
- Subagent guidance is clearer about when to work directly and when to orchestrate delegated planning, implementation, and review.
- Windows and macOS runs avoid more distracting console flashes, delayed failures, and startup hangs.
- Recovery paths preserve better diagnostics when child runs time out, fail early, or cannot provide requested output.
Full changelog
Highlights
- Agent selection is easier with compact capability lists and structured capability details.
- Async status views are calmer and show workflow progress with clearer grouping and labels.
- Subagent guidance is clearer about when to work directly and when to orchestrate delegated planning, implementation, and review.
- Windows and macOS runs avoid more distracting console flashes, delayed failures, and startup hangs.
- Recovery paths preserve better diagnostics when child runs time out, fail early, or cannot provide requested output.
Added
- Add
action: "list", capabilities: truefor compact prompt-free agent capability discovery. Thanks to @peedrr for #1717. - Add structured
details.agentCapabilitiesrecords so callers can select agents without parsing prose rows (#1720).
Changed
- Show
runs.lanes(...)workflows with active-stage focus and planned-stage progress in async status widgets (#1699). - Align foreground subagent result labels with async widget labels and disambiguate duplicate rows (#1697).
- Render parallel subagent workflow groups as readable cards with nested agent rows (#1696).
- Remove repeated one-child async widget status labels and compact progress echoes (#1695).
- Tighten packaged subagent and Council Mode guidance for one-child launches, composed
workflowScriptruns, generic review validation, and private policy boundaries. - Clarify portable model-tier guidance for parent, worker, scout, reviewer, and critique subagents without requiring a specific provider.
- Trim duplicated orchestration recipes from the packaged skill while keeping detailed policy and execution references in one place.
- Clarify when the parent should work directly versus orchestrate delegated subagent work, including who owns decisions and publication (#1722).
- Clarify
workflowScriptportability andruns.host(...)working-directory limits, including outer workflowcwdand trustedcd ... && commandpatterns (#1679).
Fixed
- Treat malformed persisted async status states as partial, bound persisted workflow stage text, and fail closed when an explicit child-output path cannot be inspected before a run.
- Surface recovery diagnostics for dirty timed-out children that miss requested reports, while keeping them fail-closed (#1713).
- Keep retained-session resume runners from flashing console windows on Windows while preserving Unix background detachment. Thanks to @Zethu5 for #1711.
- Hide mutation-evidence Git subprocess windows on Windows to prevent visible console flashes or terminal tabs. Thanks to @dnnkeeper for #1706.
- Deliver immediate async workflow terminal failures on macOS without requiring a later status refresh (#1700).
- Skip untracked-file enumeration for watchdog signatures when the Git root is the user home or has no tracked files, avoiding startup and turn hangs in accidental large home repositories. Thanks to @AluxesLAS for #1693.
- Reuse a fork-family prompt cache key for OpenAI-style forked subagent requests so sibling fork children keep cache affinity without pooling fresh children. Thanks to @Shinkicast for #1682.
- Show workflow child
[fresh]and[fork]context labels in Fleet status rows alongside model and thinking badges. - Match pi-mcp-adapter direct-tool names when configured MCP server names contain hyphens. Thanks to @unrelentingfox for #1685.
- Animate running FleetView glyphs from the wall clock and repaint unchanged running entries. Thanks to @Pudgey for #1688.