{"version":"2.1.290","anchor":"nested-subagent-tool-calls-forwarded-to-sdk-consumers-gated","canonical_anchor":"nested-subagent-tool-calls-forwarded-to-sdk-consumers-gated","heading":"SDK apps can receive tool calls made by nested subagents","tier":"use","area":"SDK","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/nested-subagent-tool-calls-forwarded-to-sdk-consumers-gated","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### SDK apps can receive tool calls made by nested subagents\n\nPrograms built on the SDK can now receive tool calls and results from subagents nested inside other subagents\n\n**Unclear.** It is not clear which programs report that they accept nested subagent tool calls.\n\n**What**\n\nA program built on the Claude Agent SDK can now receive messages from a nested subagent, which is a helper agent started by another helper agent. A message is passed on when either holds:\n\n- `forwardSubagentText` is set, in which case nested subagent messages are forwarded.\n\n- The program reports that it accepts nested subagent tool calls, in which case only tool calls and tool results are forwarded, and only when a remote switch allows it.\n\nThat switch defaults to on when the server sends nothing.\n\n**Why**\n\nSDK or remote programs may start receiving nested subagent tool calls and results they did not get before, so code reading those messages should be ready for them.\n\n- Flag `tengu_starry_squid`: Not enough to say (read for one account on one subscription tier against v2.1.290; this account: no value returned, anonymous baseline: no value returned, compiled default: on) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: SDK\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}