Skip to content

chore(deps-dev): bump pi-subagents from 0.74.0 to 0.76.1 - #367

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/pi-subagents-0.76.1
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/pi-subagents-0.76.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 11, 2026

Copy link
Copy Markdown
Contributor

Bumps pi-subagents from 0.74.0 to 0.76.1.

Release notes

Sourced from pi-subagents's releases.

v0.76.1

pi-subagents 0.76.1 is a reliability release. When a subagent result wakes an idle parent, that parent now keeps its full prompt (subagent list, MCP servers, other extensions), so it stops forgetting tools mid-session and stops churning your provider's prompt cache. Updating pi-subagents while Pi is running now gives a clear "restart Pi" message instead of strange errors after /reload. Herdr users get a pane that only turns red when a person is actually needed, and paused runs that looked stuck can now be stopped.

Highlights

  • A parent woken by a subagent result keeps the subagent list, MCP servers, and other extensions' prompt sections for the whole run.
  • Updating pi-subagents while Pi is running now stops /reload with a clear "restart Pi" error instead of running a mix of old and new code.
  • In Herdr, a child asking its parent agent for help no longer turns the pane red.
  • stop works on a paused run whose result was already delivered, and subagent doctor shows the same async capacity that launches use.
  • Reloading extensions while a child's result is waiting no longer lets a host such as pi-web lose that result.

Changelog

Highlights

  • When a subagent result wakes an idle parent, that run keeps the subagent list, MCP servers, and other extensions' prompt sections, and no longer churns the provider's prompt cache.
  • Updating pi-subagents while Pi is running now stops /reload with a clear "restart Pi" error instead of running a mix of old and new code.
  • In Herdr, a child asking its parent agent for help no longer turns the pane red.
  • stop works on a paused run whose result was already delivered, and subagent doctor now shows the same async capacity that launches use.
  • Reloading extensions while a child's result is waiting no longer lets a host such as pi-web lose that result.

Changed

  • The npm package now has the extension keyword, so Pi's extension catalog lists pi-subagents under Extensions instead of Unlabelled.

Fixed

  • When a subagent result, supervisor question, or other notice woke an idle parent, the run it started skipped Pi's normal prompt setup. From its second request on, it lost the subagent list, the MCP server list, and other extensions' prompt sections, and the changing prompt could invalidate the provider's prompt cache. The parent now gets the notice followed by a short Subagent updates above. message, which starts the run the normal way. Thanks to @​ashlineldridge for #2688.
  • Reloading extensions while a child's result was waiting in Pi's queue made the session look idle, so a host such as pi-web could replace the session and lose the result. The session now stays busy until Pi picks up the result. Thanks to @​brettinternet for #2687.
  • After pi-subagents was updated while Pi was running, /reload ran a mix of old and new code and failed with errors such as completionNotifier.messageStarted is not a function. Node cannot reload a module it has already imported, so loading now stops with an error that names both versions and asks you to restart Pi. Thanks to @​TheAsda for #2695.
  • Child system prompts started with pi-subagents' own instructions instead of Pi's base prompt. Providers and extensions that recognize Pi's default prompt by its first sentence then sent systemPromptMode: append children Pi's whole prompt unchanged. Pi's prompt now comes first. (#2692)
  • When a per-tool timeout stopped a foreground child, its output said Subagent timed out after <run timeout>ms. (or 0ms when no run timeout was set), naming a deadline that never fired. It now names the tool timeout, for example Tool 'find' exceeded its timeout of 300000ms. Thanks to @​mannainsect for #2691.
  • stop failed with paused result is missing on a paused run whose result had already been delivered or was never written, and a finished parent workflow kept that run's async capacity slot. When the run's process has exited, stop now marks it stopped and the slot is freed. Thanks to @​builtroller for reporting #2699.
  • subagent doctor could report usage: 0/3 used while launches were rejected with 3/3 used, for example in a session resumed with pi --session <id>, because doctor counted a different capacity pool than launches do. It now reads the same pool for both active async capacity and the spawn budget. Thanks to @​builtroller for reporting #2698.
  • In Herdr, the pane turned red, which means a person needs to act, whenever an async child needed attention, including a child waiting for its parent agent's answer. Those requests go to the parent agent, so pi-subagents no longer marks the pane blocked; the ⚠ in the pane's subagent label still shows it. Thanks to @​nateberkopec for reporting #2702.

v0.76.0

Schedules can now run every day or every week at a local time, in the timezone you choose. Worktree cleanup can finally delete the worktrees in a plan you reviewed, not just list them. Most of this release makes background results harder to lose: headless sessions, pi-web, timed-out children, and outputSchema children all hand back what they produced. Two Pi sessions working side by side also stop overwriting each other's settings and schedules.

Highlights

  • Daily and weekly schedules at a local time, in a timezone you choose, on the weekdays you choose.
  • worktree.cleanup deletes the worktrees in a plan you reviewed. It checks everything again first, never deletes branches, and always keeps worktrees from older versions.
  • Background results are no longer lost in pi -p, SDK hosts, or when pi-web replaces a session it thinks is idle.
  • A child that times out or crashes returns the text it had written so far, and a child with outputSchema saves its structured result to the output file.
  • Two sessions running at once no longer overwrite each other's settings, schedules, or schedule history.

Changelog

Added

... (truncated)

Changelog

Sourced from pi-subagents's changelog.

[0.76.1] - 2026-10-05

Highlights

  • When a subagent result wakes an idle parent, that run keeps the subagent list, MCP servers, and other extensions' prompt sections, and no longer churns the provider's prompt cache.
  • Updating pi-subagents while Pi is running now stops /reload with a clear "restart Pi" error instead of running a mix of old and new code.
  • In Herdr, a child asking its parent agent for help no longer turns the pane red.
  • stop works on a paused run whose result was already delivered, and subagent doctor now shows the same async capacity that launches use.
  • Reloading extensions while a child's result is waiting no longer lets a host such as pi-web lose that result.

Changed

  • The npm package now has the extension keyword, so Pi's extension catalog lists pi-subagents under Extensions instead of Unlabelled.

Fixed

  • When a subagent result, supervisor question, or other notice woke an idle parent, the run it started skipped Pi's normal prompt setup. From its second request on, it lost the subagent list, the MCP server list, and other extensions' prompt sections, and the changing prompt could invalidate the provider's prompt cache. The parent now gets the notice followed by a short Subagent updates above. message, which starts the run the normal way. Thanks to @​ashlineldridge for #2688.
  • Reloading extensions while a child's result was waiting in Pi's queue made the session look idle, so a host such as pi-web could replace the session and lose the result. The session now stays busy until Pi picks up the result. Thanks to @​brettinternet for #2687.
  • After pi-subagents was updated while Pi was running, /reload ran a mix of old and new code and failed with errors such as completionNotifier.messageStarted is not a function. Node cannot reload a module it has already imported, so loading now stops with an error that names both versions and asks you to restart Pi. Thanks to @​TheAsda for #2695.
  • Child system prompts started with pi-subagents' own instructions instead of Pi's base prompt. Providers and extensions that recognize Pi's default prompt by its first sentence then sent systemPromptMode: append children Pi's whole prompt unchanged. Pi's prompt now comes first. (#2692)
  • When a per-tool timeout stopped a foreground child, its output said Subagent timed out after <run timeout>ms. (or 0ms when no run timeout was set), naming a deadline that never fired. It now names the tool timeout, for example Tool 'find' exceeded its timeout of 300000ms. Thanks to @​mannainsect for #2691.
  • stop failed with paused result is missing on a paused run whose result had already been delivered or was never written, and a finished parent workflow kept that run's async capacity slot. When the run's process has exited, stop now marks it stopped and the slot is freed. Thanks to @​builtroller for reporting #2699.
  • subagent doctor could report usage: 0/3 used while launches were rejected with 3/3 used, for example in a session resumed with pi --session <id>, because doctor counted a different capacity pool than launches do. It now reads the same pool for both active async capacity and the spawn budget. Thanks to @​builtroller for reporting #2698.
  • In Herdr, the pane turned red, which means a person needs to act, whenever an async child needed attention, including a child waiting for its parent agent's answer. Those requests go to the parent agent, so pi-subagents no longer marks the pane blocked; the ⚠ in the pane's subagent label still shows it. Thanks to @​nateberkopec for reporting #2702.

[0.76.0] - 2026-10-04

Highlights

  • Schedules can run every day or every week at a local time, in a timezone you choose, and on the weekdays you choose.
  • worktree.cleanup can now delete the worktrees in a plan you reviewed and saved. Before, it could only list them.
  • Background results are no longer lost in headless sessions (pi -p, SDK hosts) or when pi-web replaces a session it thinks is idle.
  • Two Pi sessions running at the same time no longer overwrite each other's settings changes, schedules, or schedule history.
  • A child that times out or crashes now returns the text it had written so far. A child with outputSchema now saves its structured result to the output file, not a closing sentence.

Added

  • Schedules accept every: "day" or every: "week" with a local HH:mm time and an IANA timezone, plus the weekdays to run on for weekly schedules. If a daylight-saving change skips the time, that run is skipped. If the time happens twice, it runs once. After a restart, the next run is calculated again from the local date. Overlap, catch-up, quiet, and mission options work the same as on other schedules. Thanks to @​quifox for #815.

Changed

  • worktree.cleanup can now apply a plan you saved and reviewed, once you authorize discarding those worktrees. Before it deletes anything, it checks Git state and ownership again. It keeps any worktree whose path now points outside the directory it was created in, any worktree that is locked or has been resumed, and any ignored files. It never deletes local branches, and each plan can be applied only once. Worktrees created before this version are always kept. Thanks to @​quifox for #1622.

Fixed

  • In a headless session (pi -p, or an SDK host without a UI), a background run's completion message could be lost. The turn could end before the message was sent, and the host then closed the session. Finished results are now handed to Pi before the turn ends, and Pi runs the completion turn next. Thanks to @​felores for #2644.
  • pi-web could see a session as idle while a child's result was still on its way to the parent, so it could replace the session and lose the result. The session now counts as busy until Pi starts processing the result. Thanks to @​brettinternet for #2674.
  • A child with outputSchema and an output path wrote its final text to that file whenever the text was not empty. A short closing line such as "Enough; writing up." could replace the structured result. If the child returns a structured result and does not write the file itself, the file now holds that result as indented JSON. The child's returned output and output artifact show the same JSON. Thanks to @​tara-marchand for #2672.
  • A child that timed out or crashed partway through a reply lost the text it was still writing. The parent now gets that text, labeled Partial output before timeout: or Partial output before child error:, and the result has outputPartial: true. The run still fails. The partial text is never saved as the output file and never counts as acceptance evidence. Runs that are stopped, interrupted, aborted, or exit with an ordinary error are unchanged. Thanks to @​yanqianglu for #2653 (#2549).
  • An async workflow could keep its maxActiveAsyncRunsPerSession slot forever after it ended. This happened when one of its async children failed and there was no record that the child's process had exited, for example after a reload. The new capacity.abandonedSlotReleaseAfterMs setting frees the slot once the workflow has been over for longer than that time and each such child has failed, has no running runner, and has been inactive for a while. Set it to false to keep the slot. Thanks to @​jihunkim0 for #2658.

... (truncated)

Commits
  • 7d072b9 chore(release): v0.76.1
  • 1faa0c0 fix: stop marking the Herdr pane blocked when a child needs its parent (#2703)
  • 15757b0 fix: stop a paused run after its result was delivered (#2701)
  • f738f85 fix: make doctor count the same async capacity pool as launch admission (#2700)
  • 6826b05 fix: tell the user to restart Pi when an update leaves old modules loaded (#2...
  • ba00822 fix: report the tool timeout that ended a child, not the run deadline (#2694)
  • 17e1767 fix: put child boundary instructions after Pi's base prompt (#2693)
  • 700c91b chore: add the extension npm keyword (#2690)
  • 65dff22 fix: wake an idle parent through the prompt lifecycle (#2689)
  • 7fd88df fix: preserve queued completion ownership across reload (#2687)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [pi-subagents](https://github.com/nicobailon/pi-subagents) from 0.74.0 to 0.76.1.
- [Release notes](https://github.com/nicobailon/pi-subagents/releases)
- [Changelog](https://github.com/nicobailon/pi-subagents/blob/main/CHANGELOG.md)
- [Commits](nicobailon/pi-subagents@v0.74.0...v0.76.1)

---
updated-dependencies:
- dependency-name: pi-subagents
  dependency-version: 0.76.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Oct 11, 2026
@dependabot @github

dependabot Bot commented on behalf of github Oct 18, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #375.

@dependabot dependabot Bot closed this Oct 18, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/pi-subagents-0.76.1 branch October 18, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants