{"_id":"@arcanemachine/pi-subagent","_rev":"5-81734f232a3e545a5ecd9a7dcfc7661f","name":"@arcanemachine/pi-subagent","dist-tags":{"latest":"1.2.2"},"versions":{"1.1.3":{"name":"@arcanemachine/pi-subagent","version":"1.1.3","keywords":["pi","pi-coding-agent","pi-extension","pi-package","subagent","agents"],"author":{"name":"Nicholas Moen"},"license":"MIT","_id":"@arcanemachine/pi-subagent@1.1.3","maintainers":[{"name":"arcanemachine","email":"arcanemachine@gmail.com"}],"homepage":"https://github.com/arcanemachine/pi-subagent#readme","bugs":{"url":"https://github.com/arcanemachine/pi-subagent/issues"},"pi":{"image":"https://raw.githubusercontent.com/arcanemachine/pi-subagent/main/logo.jpg","extensions":["./src/index.ts"]},"dist":{"shasum":"f225fcc77a9ee8f0b7ebf22ac8874bb0104434b4","tarball":"https://registry.npmjs.org/@arcanemachine/pi-subagent/-/pi-subagent-1.1.3.tgz","fileCount":7,"integrity":"sha512-YiVA7d/RPVpz6I/DewjFAvmtDUUOq1zMUcPpdw8DSgyPMGFM57v3N8/kmT0gJbr+FYid2spKsDT1g/VtHtgTZQ==","signatures":[{"sig":"MEUCIGQbzEjEDBUPpbTlY/e8hbg1zQleski8x8mKq0r1F0biAiEAiayKEuVEVDqI/4SVbrLNO97PlresoHpJUGMY4efheLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219348},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"533134c4f88f544878d14667bb3d102412b5c200","scripts":{"test":"tsx --test src/index.test.ts","build":"tsc","watch":"tsc --watch","format":"prettier --write src/**/*.ts package.json README.md","typecheck":"tsc --noEmit","format:check":"prettier --check src/**/*.ts package.json README.md","prepublishOnly":"npm run format:check && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"arcanemachine","email":"arcanemachine@gmail.com"},"repository":{"url":"git+https://github.com/arcanemachine/pi-subagent.git","type":"git"},"_npmVersion":"11.13.0","description":"Pi extension for spawning sub-agents via RPC for parallel task execution","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","prettier":"^3.8.3","typescript":"^5.9.3","@types/node":"^25.3.3","@earendil-works/pi-tui":"^0.84.1","@earendil-works/pi-coding-agent":"^0.84.1"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-subagent_1.1.3_1788424726053_0.8591477669291017","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@arcanemachine/pi-subagent","version":"1.1.4","keywords":["pi","pi-coding-agent","pi-extension","pi-package","subagent","agents"],"author":{"name":"Nicholas Moen"},"license":"MIT","_id":"@arcanemachine/pi-subagent@1.1.4","maintainers":[{"name":"arcanemachine","email":"arcanemachine@gmail.com"}],"homepage":"https://github.com/arcanemachine/pi-subagent#readme","bugs":{"url":"https://github.com/arcanemachine/pi-subagent/issues"},"pi":{"image":"https://raw.githubusercontent.com/arcanemachine/pi-subagent/main/logo.jpg","extensions":["./src/index.ts"]},"dist":{"shasum":"5d6674e8b5a23f21e5c164fe9f539cc3ae90e3a7","tarball":"https://registry.npmjs.org/@arcanemachine/pi-subagent/-/pi-subagent-1.1.4.tgz","fileCount":7,"integrity":"sha512-zfEmlNmrh70cjHUe9dXxbF6QCl5cPSgIf9p1gJqYtP8sEKdsMsGuOX+/4x8NtrT77vBT2F9+wrDxUOF01H6xFQ==","signatures":[{"sig":"MEUCIQDuuKGHbBhUVov7pHuGaZuCjpS6GpjFmKUbvUdhCILy3gIgHVUJQJh96fQuB1ee8DVmlrEtLAFTp+1Ix8wvva5De/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDjBYbntaXmn8W6qxTKAk0tzoA/aoXouB+ZxY9Qf5LPEAIgLdNlb9N7/gKjIdW4QUl4n8YsTBlEmWovaDQXTwTFwVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219479},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"5a1b97c0262ba555a87dfe3932ebaa3abcf0b59e","scripts":{"test":"tsx --test src/index.test.ts","build":"tsc","watch":"tsc --watch","format":"prettier --write src/**/*.ts package.json README.md","typecheck":"tsc --noEmit","format:check":"prettier --check src/**/*.ts package.json README.md","prepublishOnly":"npm run format:check && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"arcanemachine","email":"arcanemachine@gmail.com"},"repository":{"url":"git+https://github.com/arcanemachine/pi-subagent.git","type":"git"},"_npmVersion":"11.13.0","description":"Pi extension for spawning sub-agents via RPC for parallel task execution","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","prettier":"^3.8.3","typescript":"^5.9.3","@types/node":"^25.3.3","@earendil-works/pi-tui":"^0.84.1","@earendil-works/pi-coding-agent":"^0.84.1"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-subagent_1.1.4_1788479961046_0.13824453782121582","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@arcanemachine/pi-subagent","version":"1.2.0","keywords":["pi","pi-coding-agent","pi-extension","pi-package","subagent","agents"],"author":{"name":"Nicholas Moen"},"license":"MIT","_id":"@arcanemachine/pi-subagent@1.2.0","maintainers":[{"name":"arcanemachine","email":"arcanemachine@gmail.com"}],"homepage":"https://github.com/arcanemachine/pi-subagent#readme","bugs":{"url":"https://github.com/arcanemachine/pi-subagent/issues"},"pi":{"image":"https://raw.githubusercontent.com/arcanemachine/pi-subagent/main/logo.jpg","extensions":["./src/index.ts"]},"dist":{"shasum":"ae6a5e6e2b25d46b1e02b331b9f742066dee4e6b","tarball":"https://registry.npmjs.org/@arcanemachine/pi-subagent/-/pi-subagent-1.2.0.tgz","fileCount":7,"integrity":"sha512-Sw+PpDfXFoxk2PNJdtjiTwKPEEeQtFvxlxUCfvSmNFi9zGT8pkPEJ9jK5vI8YaCevHbKdyLj2rDDoj0u2LTjzQ==","signatures":[{"sig":"MEUCIA7eqZKxwcFyGbDkpTP2l4Hn16+T9jtDxm+OcSu7DCuDAiEArKZSRGj0uYkzeCwu82cbV9E8nZaTeCS+7X0Zj/acq9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAUK3IfDUpuqRrwNNaF+sbQCGB7FykjkJ3givBGMJOGkAiEAj+OLiZUcB9+903523sOYtOzSIgRrcl/kPF33PpjsRIQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231636},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"bff8c09613fffdd3c505ac134ebc4a6e53396720","scripts":{"test":"tsx --test src/index.test.ts","build":"tsc","watch":"tsc --watch","format":"prettier --write src/**/*.ts package.json README.md","typecheck":"tsc --noEmit","format:check":"prettier --check src/**/*.ts package.json README.md","prepublishOnly":"npm run format:check && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"arcanemachine","email":"arcanemachine@gmail.com"},"repository":{"url":"git+https://github.com/arcanemachine/pi-subagent.git","type":"git"},"_npmVersion":"11.13.0","description":"Pi extension for spawning sub-agents via RPC for parallel task execution","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","prettier":"^3.8.3","typescript":"^5.9.3","@types/node":"^25.3.3","@earendil-works/pi-tui":"^0.84.1","@earendil-works/pi-coding-agent":"^0.84.1"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-subagent_1.2.0_1789082440931_0.035447726386396816","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@arcanemachine/pi-subagent","version":"1.2.1","keywords":["pi","pi-coding-agent","pi-extension","pi-package","subagent","agents"],"author":{"name":"Nicholas Moen"},"license":"MIT","_id":"@arcanemachine/pi-subagent@1.2.1","maintainers":[{"name":"arcanemachine","email":"arcanemachine@gmail.com"}],"homepage":"https://github.com/arcanemachine/pi-subagent#readme","bugs":{"url":"https://github.com/arcanemachine/pi-subagent/issues"},"pi":{"image":"https://raw.githubusercontent.com/arcanemachine/pi-subagent/main/logo.jpg","extensions":["./src/index.ts"]},"dist":{"shasum":"accffdb9e66fb63239d8f8c3ca7ac5d6f2d536cc","tarball":"https://registry.npmjs.org/@arcanemachine/pi-subagent/-/pi-subagent-1.2.1.tgz","fileCount":7,"integrity":"sha512-tHKecJXDDU9wtQFbyV+OIfvFsLBKYVnRbLxXP+LUowFG2EDc2zshRhRES28XjROkcRWBgnBMb95zXvmlwwS1AQ==","signatures":[{"sig":"MEQCIA1fZpJ3jhf7eFQc3iusf6PWmst4OUCqHBrxKnYYidHNAiBnuUVvQXSSYwa5KY76SKh0wTjM7OsTUa7HBv6cFzhRcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGrgo697FY8dXatN641oV0A97Hq687dpnRVsz6nItvEsAiEAxCpy7Vx1Qvk1ECyLZ9aufA2q7FqlNMArX97EZ6r9Hks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229997},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"f1ce22235e1fa5ef42fe13a2e28e911ebec17e72","scripts":{"test":"tsx --test src/index.test.ts","build":"tsc","watch":"tsc --watch","format":"prettier --write src/**/*.ts package.json README.md","typecheck":"tsc --noEmit","format:check":"prettier --check src/**/*.ts package.json README.md","prepublishOnly":"npm run format:check && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"arcanemachine","email":"arcanemachine@gmail.com"},"repository":{"url":"git+https://github.com/arcanemachine/pi-subagent.git","type":"git"},"_npmVersion":"11.13.0","description":"Pi extension for spawning sub-agents via RPC for parallel task execution","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","prettier":"^3.8.3","typescript":"^5.9.3","@types/node":"^25.3.3","@earendil-works/pi-tui":"^0.84.1","@earendil-works/pi-coding-agent":"^0.84.1"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-subagent_1.2.1_1789084095598_0.29164583700649005","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"pi":{"image":"https://raw.githubusercontent.com/arcanemachine/pi-subagent/main/logo.jpg","extensions":["./src/index.ts"]},"_id":"@arcanemachine/pi-subagent@1.2.2","bugs":{"url":"https://github.com/arcanemachine/pi-subagent/issues"},"dist":{"shasum":"ea551ef7d4f5b1f1a605acc19f2b319ccbbf2006","tarball":"https://registry.npmjs.org/@arcanemachine/pi-subagent/-/pi-subagent-1.2.2.tgz","fileCount":7,"integrity":"sha512-Z7kQ3BcyZNzXCJuX1QwOpbGvoF5RdqpMm/rna+GvvO8JcjnNZaMc+zDWtYpg0XDgZNTvD8RJ1Pw455Q3wFP7hw==","signatures":[{"sig":"MEQCIAI9FwJDuf8XrjxV/poIzDRkCzcIZrQP46Sv2zNaGRPNAiBTP1KIz8JVk/Lb3Mr164jf3EyxjoYLw65xx0f9CvCc3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCnDynOiVVv5fOMtM80kxRObld89tXYtOjJg1ssKc8qzgIhAJquZXUZZijqnpNcnhVpFds526/AG56wE4jg6swbvd8a"}],"unpackedSize":231318},"name":"@arcanemachine/pi-subagent","type":"module","author":{"name":"Nicholas Moen"},"engines":{"node":">=22.19.0"},"gitHead":"f6f1e6b891128525c3f5fb18529d657bcf6c1403","license":"MIT","scripts":{"test":"tsx --test src/index.test.ts","build":"tsc","watch":"tsc --watch","format":"prettier --write src/**/*.ts package.json README.md","typecheck":"tsc --noEmit","format:check":"prettier --check src/**/*.ts package.json README.md","prepublishOnly":"npm run format:check && npm run typecheck && npm run test && npm run build"},"version":"1.2.2","_npmUser":{"name":"arcanemachine","email":"arcanemachine@gmail.com"},"homepage":"https://github.com/arcanemachine/pi-subagent#readme","keywords":["pi","pi-coding-agent","pi-extension","pi-package","subagent","agents"],"repository":{"url":"git+https://github.com/arcanemachine/pi-subagent.git","type":"git"},"_npmVersion":"11.13.0","description":"Pi extension for spawning sub-agents via RPC for parallel task execution","directories":{},"maintainers":[{"name":"arcanemachine","email":"arcanemachine@gmail.com"}],"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","prettier":"^3.8.3","typescript":"^5.9.3","@types/node":"^25.3.3","@earendil-works/pi-tui":"^0.84.1","@earendil-works/pi-coding-agent":"^0.84.1"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-subagent_1.2.2_1789538220044_0.9222363503066533"}}},"time":{"created":"2026-09-03T08:38:45.748Z","modified":"2026-09-16T05:57:00.404Z","1.1.3":"2026-09-03T08:38:46.188Z","1.1.4":"2026-09-03T23:59:21.174Z","1.2.0":"2026-09-10T23:20:41.030Z","1.2.1":"2026-09-10T23:48:15.691Z","1.2.2":"2026-09-16T05:57:00.118Z"},"bugs":{"url":"https://github.com/arcanemachine/pi-subagent/issues"},"author":{"name":"Nicholas Moen"},"license":"MIT","homepage":"https://github.com/arcanemachine/pi-subagent#readme","keywords":["pi","pi-coding-agent","pi-extension","pi-package","subagent","agents"],"repository":{"url":"git+https://github.com/arcanemachine/pi-subagent.git","type":"git"},"description":"Pi extension for spawning sub-agents via RPC for parallel task execution","maintainers":[{"name":"arcanemachine","email":"arcanemachine@gmail.com"}],"readme":"# pi-subagent\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/arcanemachine/pi-subagent/main/logo.jpg\" alt=\"pi-subagent logo\" width=\"250\" />\n</p>\n\nA [Pi](https://pi.dev) extension for delegating work to configurable sub-agents.\n\nGive each sub-agent its own model, thinking level, instructions, and time budget. Pi can launch several at once, continue other work while they run, and receive each result automatically. A live fleet window lets you inspect, steer, stop, and review them without leaving the session.\n\n> Like this extension? See [my other Pi extensions](https://github.com/arcanemachine/pi-projects).\n\n## Requirements\n\n- Pi 0.84.1 or later\n- A model configured in Pi\n- Node.js 22.19.0 or later for package development\n\n## Installation\n\nFrom npm:\n\n```bash\npi install npm:@arcanemachine/pi-subagent\n```\n\nFrom GitHub:\n\n```bash\npi install git:github.com/arcanemachine/pi-subagent\n```\n\nFor local development:\n\n```bash\npi -e ./src/index.ts\n```\n\nRestart Pi after installation, or use `/reload` in an existing session.\n\n## Quick start\n\npi-subagent works without a sub-agent configuration. When `pi-subagent.agents` is missing or empty, use the built-in `default` type:\n\n```text\n/subagent spawn:default Review these changes and report any problems\n```\n\nThe default sub-agent uses the model and thinking level active in the current Pi session. Run `/subagent` to view, steer, stop, and review active sub-agents.\n\nThe default type is available only when no custom agent types are configured. Once you add custom types, use their names instead.\n\nFor different models, instructions, or session forks, define one or more custom agent types in Pi's global `~/.pi/agent/settings.json`:\n\n```json\n{\n  \"pi-subagent\": {\n    \"agents\": {\n      \"research\": {\n        \"model\": \"provider/model\",\n        \"thinking_level\": \"high\",\n        \"when_to_use\": \"Research, source gathering, and focused investigation\",\n        \"extra_context\": \"Stay focused on your work. Do not expand scope.\"\n      }\n    }\n  }\n}\n```\n\nReplace `provider/model` with a model available in your Pi configuration, then reload Pi. The command returns immediately. When the sub-agent finishes, its result is delivered back into the parent conversation automatically.\n\nYou can also ask Pi to delegate work naturally, for example:\n\n> Use the research sub-agent to investigate this API while you continue reviewing the implementation.\n\n## Commands\n\n| Command                                              | Action                                  |\n| ---------------------------------------------------- | --------------------------------------- |\n| `/subagent`                                          | Open the live sub-agent fleet           |\n| `/subagent fleet`                                    | Open the same fleet window              |\n| `/subagent spawn:<agent> [timeout:<seconds>] <task>` | Start a configured sub-agent            |\n| `/subagent steer <id\\|all> <guidance>`               | Redirect one or every running sub-agent |\n| `/subagent kill <id>`                                | Stop one running sub-agent              |\n| `/subagent killall`                                  | Stop every running sub-agent            |\n\nAgent names are exact configuration keys. A spawn request cannot override the configured model or session fork.\n\n## Live fleet\n\nThe fleet presents each sub-agent as a small, selectable Pi session. It shows the current activity, streamed response preview, elapsed time, context usage, and final result when available.\n\n| Key                     | Action                                       |\n| ----------------------- | -------------------------------------------- |\n| `↑` / `↓`, `j` / `k`    | Select a sub-agent                           |\n| `Page Up` / `Page Down` | Scroll the selected session                  |\n| `s`                     | Write guidance for the selected sub-agent    |\n| `x` / `X`               | Stop the selected sub-agent / all running    |\n| `r` / `R`               | Remove the selected result / all finished    |\n| `Escape`                | Cancel the current action or close the fleet |\n\nStopping and removal require confirmation. Starting and running agents can be steered or stopped; completed, errored, and stopped agents can be removed. The fleet retains the 20 most recent finished sessions without keeping their child processes alive.\n\n## Agent tools\n\nThese tools let Pi manage sub-agents from the conversation. You normally do not need to call them yourself.\n\n| Tool                  | Purpose                                                     |\n| --------------------- | ----------------------------------------------------------- |\n| `subagent_spawn`      | Start one configured sub-agent and return immediately       |\n| `subagent_list_types` | List configured agent types and their usage guidance        |\n| `subagent_steer`      | Send follow-up guidance to one running agent or all of them |\n| `subagent_status`     | Inspect structured live status when an update is needed     |\n| `subagent_kill`       | Stop one running sub-agent                                  |\n\nSub-agents report completion automatically. Pi should never poll for progress or completion by any means, including status checks, sleep commands, or wait loops; `subagent_status` remains available for a one-time inspection rather than repeated waiting.\n\n## Configuration\n\nThe extension reads the `pi-subagent` namespace from Pi's normal settings files:\n\n- Global: `~/.pi/agent/settings.json`\n- Project: `<project>/.pi/settings.json`\n\nTrusted project settings are deep-merged over global settings, including individual agent properties. Project settings are ignored when the project is not trusted.\n\n### Agent types\n\nEach entry under `agents` defines one agent type:\n\n| Property         | Required | Description                                                             |\n| ---------------- | -------- | ----------------------------------------------------------------------- |\n| `model`          | Yes      | Exact `provider/model` used by the child                                |\n| `thinking_level` | No       | Child thinking level; inherits the parent's current level when omitted  |\n| `when_to_use`    | No       | Description shown by `subagent_list_types` and spawn command completion |\n| `extra_context`  | No       | Additional instructions prepended to every task for this agent type     |\n| `fork`           | No       | Pi session ID or snapshot path used as the child's starting context     |\n\nSupported thinking levels are `off`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Pi may clamp a level that the selected model does not support.\n\nA configured `fork` follows Pi's native `--fork` behavior. Relative paths are resolved from the project working directory. Forked agents create persistent child sessions; ordinary agents do not. Snapshots created by [`pi-session-snapshot`](https://github.com/arcanemachine/pi-session-snapshot) can be used as fork sources.\n\n### Runtime controls\n\n| Setting                        | Default   | Behavior                                                                 |\n| ------------------------------ | --------- | ------------------------------------------------------------------------ |\n| `max_active_subagents`         | Unlimited | Reject new spawns after the configured concurrency limit is reached      |\n| `default_timeout_seconds`      | `180`     | Give each child a default time budget and ask it to wrap up when reached |\n| `allow_nested_subagents`       | `false`   | Allow spawned children to use this extension's own sub-agent tools       |\n| `hide_default_subagent_footer` | `false`   | Hide the reminder shown below default-agent spawn messages               |\n\n`max_active_subagents` accepts positive integers up to 100. Requests above the limit are rejected rather than queued.\n\nWhen the built-in `default` type is active, spawn messages show a short reminder about custom configuration. Set `hide_default_subagent_footer` to `true` to hide it. The reminder is shown only in the user-facing spawn display, not in the tool result sent to the model.\n\n`default_timeout_seconds` is a finishing budget, not a hard process kill. The extension warns the child as the deadline approaches and asks it to submit its best available result when time expires. Use `subagent_kill` when a child must be stopped immediately. A spawn can override the budget with `timeout_seconds` in the tool or `timeout:<seconds>` in the command.\n\nNested sub-agents are disabled by default to prevent unplanned recursive fan-out. Enable them only when you explicitly want children to delegate further work.\n\n## Completion and lifecycle\n\nEach child receives the child-only `subagent_complete` tool for returning its final deliverable. If it finishes with an ordinary final response instead, that response is used as a fallback. Empty, errored, aborted, or truncated responses are reported as failures rather than silently treated as complete.\n\nFinished children leave active status automatically and remain available in the recent fleet history. Starting a new parent session stops the current children. Reloading the extension also stops them, but records an interruption message in the parent conversation so unfinished work is not mistaken for a task failure.\n\nActivity and response previews are kept in bounded memory. Each sub-agent runs as a separate Pi child process; configured forks preserve the source session context, while ordinary tasks do not create persistent sessions.\n\n## Development\n\n```bash\nnpm install --ignore-scripts --workspaces=false\nnpm run format:check\nnpm run typecheck\nnpm run test\nnpm run build\nnpm pack --dry-run\n```\n\nPi loads the TypeScript entrypoint directly from `src/index.ts`; no compiled runtime artifact is required.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}