WHY this matters
If you're building anything that drives Claude Code programmatically — CI runners, orchestration layers, SDK hosts — three changes land together that you need to know about.
🚀 New capabilities
Deep subagent stream forwarding (v2.1.219+)
Nested subagent messages now appear in --output-format stream-json with parent_tool_use_id set to the spawning Agent tool call ID. Before v2.1.219, nested messages were silently dropped. SDK consumers can now rebuild the full nesting tree by following those IDs. Requires --forward-subagent-text or CLAUDE_CODE_FORWARD_SUBAGENT_TEXT.
MCP server error detection in CI (v2.1.219+)
The system/init stream event now includes mcp_server_errors — an array of --mcp-config entries skipped at startup due to bad config. CI can now gate on a non-empty array. Previously: silent skips.
New capability string interrupt_cancel_queued_v1 added to system/init capabilities array.
⚠️ Security fix (v2.1.218)
Subagent hooks in .claude/agents/ markdown files now only fire if the folder has been trusted via the workspace trust dialog. Non-interactive CI sessions: hooks suppressed until you trust the folder.
🔥 Quiet breaking change (v2.1.218)
: is now reserved in subagent names (for plugin-scoped agents like my-plugin:reviewer). Any agent file with : in its name is silently skipped. Silent migration hazard if you have such files.
Source PR: thevibeworks/claude-code-docs#1109
Assign: @lroolle
WHY this matters
If you're building anything that drives Claude Code programmatically — CI runners, orchestration layers, SDK hosts — three changes land together that you need to know about.
🚀 New capabilities
Deep subagent stream forwarding (v2.1.219+)
Nested subagent messages now appear in
--output-format stream-jsonwithparent_tool_use_idset to the spawning Agent tool call ID. Before v2.1.219, nested messages were silently dropped. SDK consumers can now rebuild the full nesting tree by following those IDs. Requires--forward-subagent-textorCLAUDE_CODE_FORWARD_SUBAGENT_TEXT.MCP server error detection in CI (v2.1.219+)
The
system/initstream event now includesmcp_server_errors— an array of--mcp-configentries skipped at startup due to bad config. CI can now gate on a non-empty array. Previously: silent skips.New capability string
interrupt_cancel_queued_v1added tosystem/initcapabilities array.Subagent hooks in
.claude/agents/markdown files now only fire if the folder has been trusted via the workspace trust dialog. Non-interactive CI sessions: hooks suppressed until you trust the folder.🔥 Quiet breaking change (v2.1.218)
:is now reserved in subagent names (for plugin-scoped agents likemy-plugin:reviewer). Any agent file with:in its name is silently skipped. Silent migration hazard if you have such files.Assign: @lroolle