{"name":"agent.spawn","slug":"agent-spawn","family":"setting","title":"Settings keys","noun":"settings key","description":"A plugin hook can block a subagent from starting or change which model it uses.","description_source":"entry","described_by":{"version":"2.1.242","anchor":"a-plugin-hook-can-block-a-subagent-from-launching"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.319","builds":0,"mined_builds":159,"first_cited":{"version":"2.1.260","released_at":"2026-09-03 22:32:02","spans":6}},"aliases":[],"entries":[{"version":"2.1.299","anchor":"hook-default-responses-become-functions-with-reason","heading":"Plugin hook denials now carry a reason","line":"Default deny responses for plugin hooks such as tool.check and agent.spawn now include a reason alongside the decision","released_at":"2026-10-14 00:23:19","reason":"found in this entry's text"},{"version":"2.1.299","anchor":"subagent-cwd-is-refused-with-a-clear-error","heading":"Subagents refused a different working folder now fail with a clear error","line":"If a subagent is not allowed to run in another folder, Claude Code now stops before starting it and says to start it without cwd","released_at":"2026-10-14 00:23:19","reason":"found in this entry's text"},{"version":"2.1.289","anchor":"teammate-spawn-records-spawnedwith-agentspawn-hook-gains","heading":"Teammate spawning keeps more detail about how each teammate was started","line":"Teammate records gain a field for how they were spawned, and the agent.spawn hook gains an entry for an argument that was not applied","released_at":"2026-10-03 20:12:02","reason":"found in this entry's text"},{"version":"2.1.289","anchor":"agent-teammate-spawn-now-runs-through-the-agentspawn-plugin","heading":"Plugin agent-launch hooks now also apply to teammates","line":"Starting a named teammate now goes through a plugin's agent-launch hook, which can block, rewrite or retype it","released_at":"2026-10-03 20:12:02","reason":"named in this entry, found in this entry's text"},{"version":"2.1.280","anchor":"mcp-required-missing-agent-spawn-errors-now-carry-structured","heading":"MCP-required-missing agent spawn errors now carry structured data","line":"Errors for missing required MCP servers during agent spawning now include structured error data, not just a text message","released_at":"2026-09-22 15:44:39","reason":"found in this entry's text"},{"version":"2.1.269","anchor":"agentspawn-sdk-call-now-returns-an-agentid-on-success","heading":"$.agent.spawn SDK call now returns an agentId on success","line":"The agent.spawn plugin action now returns the new agent's ID on success","released_at":"2026-09-11 18:12:49","reason":"found in this entry's text"},{"version":"2.1.269","anchor":"agentspawn-hook-logging-drops-the-resolved-model-detail","heading":"agent.spawn hook logging drops the resolved-model detail","line":"Debug logs for a hook rewriting a subagent's model no longer show what the model resolves to, just the raw before\/after values","released_at":"2026-09-11 18:12:49","reason":"found in this entry's text"},{"version":"2.1.269","anchor":"agentspawn-hook-dispatch-reworked-behind-an-xs-check-wh","heading":"\"agent.spawn\" hook dispatch reworked behind an XS() check whose default I could not pin down","line":"New agent-spawn entry point only runs agent.spawn hooks when an internal check passes","released_at":"2026-09-11 18:12:49","reason":"found in this entry's text, named in this entry"},{"version":"2.1.267","anchor":"policy-checks-for-agentspawn-and-toolcall-gain-argument-re","heading":"Policy checks for agent.spawn and tool.call gain argument restoration","line":"Policy checks for spawning agents and calling tools now restore pinned fields a hook altered, not just flag them","released_at":"2026-09-09 18:25:42","reason":"found in this entry's text"},{"version":"2.1.260","anchor":"new-spawn-hook-error-worktreecwd-conflict","heading":"New spawn-hook error: worktree\/cwd conflict","line":"Spawn hooks setting both cwd and worktree isolation now fail with a clear error.","released_at":"2026-09-03 22:32:02","reason":"found in this entry's text"}],"entries_total":16,"docs":[{"source":"claude-code","path":"agent-teams","title":"Orchestrate teams of Claude Code sessions","documented":false},{"source":"claude-code","path":"changelog","title":"Claude Code changelog","documented":false},{"source":"claude-code","path":"plugins\/mods\/api","title":"Use the mods API","documented":false},{"source":"claude-code","path":"plugins\/mods\/reference","title":"Mods reference","documented":false},{"source":"claude-code","path":"plugins\/mods\/troubleshoot","title":"Troubleshoot a mod","documented":false},{"source":"claude-code","path":"sub-agents","title":"Create custom subagents","documented":false}],"docs_total":6,"gates":[],"related":[{"name":"agent","slug":"agent","description":"Start every session as a named [subagent](https:\/\/code.claude.com\/docs\/en\/sub-agents.md) with its prompt, tools, and model"},{"name":"agent.list","slug":"agent-list","description":"Internal listing of local agents and in-process teammates gains richer detail"},{"name":"agent.register","slug":"agent-register","description":"Plugin SDK adds agent.register and session.refreshAgents, plus a one-shot flag for whether the system prompt was delivered"},{"name":"agentDefinitions","slug":"agentdefinitions","description":"Session telemetry now records whether todo tools were enabled for you."},{"name":"agentId","slug":"agentid","description":"TaskOutput ignores the old wait_up_to setting and just uses the 30 second default timeout."},{"name":"agentNameRegistry","slug":"agentnameregistry","description":null},{"name":"agentPeer","slug":"agentpeer","description":"Artifact live-subscribe now checks agent-peer and sync-live eligibility before connecting, and it is off by default."},{"name":"agentProgressSummaries","slug":"agentprogresssummaries","description":"Task summary docs now spell out that local agents give a model-written progress summary and MCP tasks give the server's status."},{"name":"agentPushNotifEnabled","slug":"agentpushnotifenabled","description":"Let Claude send a [push notification to your phone](https:\/\/code.claude.com\/docs\/en\/remote-control.md#mobile-push-notifications) when it decides to"},{"name":"agentSetting","slug":"agentsetting","description":null}],"url":"https:\/\/changelogs.core-directive.com\/reference\/setting\/agent-spawn","family_url":"https:\/\/changelogs.core-directive.com\/reference\/setting.json"}