Group of 4 Use it now Notable
$.agent.spawn gained fire-and-forget background launches with per-session budgets, a returned agentId, and hook-gated dispatch
What
$.agent.spawncan now be launched as fire-and-forget: a spawn wrapper enforces a budget of 50 spawns per session and at most 4 concurrently running agents per plugin, then returns a 'started' result immediately without waiting for the agent to finish, letting it keep running in the background; failures surface later only through a log line.- On success,
$.agent.spawnresults now include anagentIdfield alongside the existing model/text/isError fields. - The
agent.spawnhook pipeline now only runs (with its 'started'/dispose telemetry) when enabled by a check; otherwise it returns a no-op object that does nothing on start or dispose. - The debug log line for a hook that rewrites a subagent's model on spawn no longer includes what the model ultimately resolves to, only the raw before/after model strings.
Why These changes make spawning subagents more flexible for background/plugin use cases (not every spawn needs to block and wait), while adding guardrails (budgets, concurrency limits) to prevent runaway spawning, and giving callers an id to track the agent they started.