Background work is easier to follow and less likely to finish without delivering its results in pi-subagents 0.66.0. Steering and supervisor replies are more reliable, with clearer guidance when a pending question needs an answer first. Read-only tasks can continue after a rate limit using a compatible fallback model without starting over. Live progress and transcripts make it easier to see what is happening, while custom agents and trusted extensions gain new ways to make their capabilities available.
Highlights
- Background results and completion notifications arrive more reliably, including after storage problems.
- Steering and supervisor replies reach the right run, with clearer guidance when a reply is needed first.
- Read-only tasks can continue after a rate limit on a compatible fallback model without starting over.
- Live progress, transcripts, and stable status displays make ongoing work easier to follow.
- Custom agents can opt into discovery, and trusted extensions can provide named workflows.
Need to know
Answer pending supervisor questions explicitly before steering or following up on a single background run. When a question blocks the request, the response includes its request ID.
Full changelog
Highlights
- Background results and completion notifications arrive more reliably, including after storage problems.
- Steering and supervisor replies reach the right run, with clearer guidance when a reply is needed first.
- Read-only tasks can continue after a rate limit on a compatible fallback model without starting over.
- Live progress, transcripts, and stable status displays make ongoing work easier to follow.
- Custom agents can opt into discovery, and trusted extensions can provide named workflows.
Added
- Let agents appear in the parent prompt with
advertise: true. Thanks to @nwalke for #1972. - Allow one read-only continuation after an HTTP 429 rate limit on a compatible fallback model from the same configured provider. Keep the session without replaying the task, within existing recovery, time, and budget limits (#1936). Thanks to @peedrr.
- Add targeted source checks and clearer evidence, confidence, and uncertainty reporting to researcher responses (#1932). Thanks to @Muskos.
- Let trusted extensions register session-scoped named workflows with validated arguments and permission to run specific host commands (#1907).
- Add opt-in completion notification diagnostics with
NODE_DEBUG=pi-subagents-notify(#1981). Thanks to @brandonmwest for the report and diagnostic sessions.
Changed
- Explain model-verification failures and how to configure exact
modelResponseAliases(#1922). Thanks to @sixtus. - Clarify when startup fallback and read-only rate-limit continuation are supported (#1936). Thanks to @peedrr.
- Document steering delivery modes and
scheduledRuns.storeRoot(#1933). Thanks to @G0-0000. - Remove generation suffixes from developer-facing types and helpers without changing request shapes, saved formats, or behavior (#1913).
Fixed
- Deliver background results and completion notices reliably after early failures, delayed publication, or storage-capacity recovery. Save results before reporting successful completion, without adding idle polling (#1981). Thanks to @brandonmwest.
- Keep completion requirements intact when child sessions compact their context (#1996). Thanks to @Zsbyqx20.
- Correct supervisor action names and reply and steering guidance. Thanks to @rtbe for #2002.
- Require an explicit answer to a pending supervisor question before steering or following up on a single background run; include the request ID in the response (#1980). Thanks to @brandonmwest.
- Detect supervisor questions when background or scheduled workflows start, including after earlier work finishes, while keeping macOS idle polling disabled (#1977). Thanks to @brandonmwest and @youlikemodernart for #1220 and #1228.
- Queue steering for workflows owned by another runtime without incorrectly claiming delivery or taking over the run (#1978). Thanks to @brandonmwest.
- Find supervisor questions without a UI, keep notification failures from interrupting discovery, and require explicit answers (#1975, #1982). Thanks to @brandonmwest.
- Deliver background workflow steering to the intended child and report requests that cannot be delivered before shutdown (#1976, #1983). Thanks to @brandonmwest for the diagnosis, reproduction, implementation, and tests.
- Leave the prompt runtime inactive when it is not configured. Thanks to @lertian for #1973.
- Return
invalid_stateinstead of queuing stop requests that cannot reach a live workflow (#1965). - Retain unreadable stop requests for retry, reject invalid workflow arguments even when validation returns an empty error message, and preserve worktree timeout details.
- Show live tool activity, timing, model, effort, and counters for foreground workflow children without forwarding full transcripts (#1964).
- Allow
action: "status", view: "transcript"to inspect live foreground child output on demand (#1963). - Keep the background status widget in place during progress updates (#1931). Thanks to @DraconDev.
- Recognize
REQUEST_LIMIT_EXCEEDEDrate limits and avoid excluding healthy models because of invalid requests or context overflow (#1955, #1957). Thanks to @slyons-vamp. - Wait for resumed workflow results to be saved before reporting them missing on Windows (#1906).
- Send foreground workflow progress to RPC, headless, and cross-repository hosts even when the live chat card is off (#1951). Thanks to @yanqianglu.
- Resolve undici from the official npm registry for npm 12 compatibility (#1935). Thanks to @chem.
- Fix background launches on stable Pi 0.85.1 without experimental packages, while retaining Pi 0.85.0 support (#1944). Thanks to @geril07.
- Include the saved workflow receipt path in wait results, notifications, and status and debug responses (#1938).
- Show structured output in completion notices when text is blank or contains only a closing think-tag (#1945). Thanks to @npfedwards.
- Validate workflow
baseRefvalues before execution and clarify supported refs (#1934, #1937). Thanks to @jeanduplessis. - Make boolean tool options compatible with restricted Gemini schema converters without changing which values are accepted (#1950). Thanks to @Biaogo94.
- Keep Fleet runs in start-time order instead of reshuffling them as activity changes (#1923, #1924). Thanks to @expoli.
- Preserve links to previous runs when continuing a workflow by its string ID (#1920).
- Clear recovered errors after successful tool use or structured output (#1919). Thanks to @Jonathanm10.
- Report empty final responses as empty-output failures instead of blaming earlier tool errors (#1921).
- Avoid missing-edit failures for successful read-only background tasks misclassified as implementation work (#1911). Thanks to @yanqianglu.
- Batch background streaming updates while showing child activity changes immediately (#1901).
- Honor new output paths on workflow follow-ups without overwriting the original report (#1903).
- Keep worktree setup responsive and cancellable, and preserve uncertain allocations for manual inspection (#1902).