Skip to content

docs: Claude Code v2.1.220 - deep subagent stream forwarding, MCP CI error detection, hook security - #1109

Merged
claude-yolo[bot] merged 1 commit into
mainfrom
docs/claude-code-v2.1.220-20260729-0816
Jul 29, 2026
Merged

docs: Claude Code v2.1.220 - deep subagent stream forwarding, MCP CI error detection, hook security#1109
claude-yolo[bot] merged 1 commit into
mainfrom
docs/claude-code-v2.1.220-20260729-0816

Conversation

@claude-yolo

@claude-yolo claude-yolo Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Night shift report

WHY THIS MATTERS: This release firms up the headless/SDK story for multi-agent pipelines. 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: nested subagent messages now propagate up through the stream, misconfigured MCP servers are now detectable without running the full session, and a security tightening means subagent hooks no longer fire from untrusted directories. The subagent name restriction (no : in names) is a quiet breaking change that will silently drop hook configs for anyone who already has : in an agent filename.

HIGHLIGHTS:

  • Deep subagent stream forwarding (v2.1.219+): When a subagent spawns its own subagent, the nested agent's messages now appear in the --output-format stream-json stream with parent_tool_use_id set to the spawning Agent tool call ID. Before v2.1.219, nested subagent 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 (unknown type, missing url type, reserved name, etc.). CI can now gate on a non-empty array instead of running blind. Previously, invalid MCP entries were silently skipped; you'd only catch them via stderr in a terminal.
  • Workspace trust required for subagent frontmatter hooks (v2.1.218): Security fix — subagent hooks defined in .claude/agents/ markdown files now only fire if the containing folder has been trusted via the workspace trust dialog. Before v2.1.218, hooks could run from untrusted folders including non-interactive CI sessions. The agent itself still runs; only its frontmatter hooks are suppressed until you trust the folder.
  • Subagent names cannot contain : (v2.1.218): The : character is now reserved for plugin-scoped agent identifiers like my-plugin:reviewer. Claude Code silently skips any agent file whose name contains : and logs to the debug log. Before v2.1.218, such names were accepted — silent migration hazard if you have any.
  • New capability string interrupt_cancel_queued_v1 added to the system/init capabilities array alongside the existing interrupt_receipt_v1.
  • Headless doc reorganized with new subsection headers: "Follow subagent messages", "Handle API retries", "Read session metadata", "Fail CI when a plugin or MCP server doesn't load", "Track plugin installs" — easier to navigate.
  • Dark mode diagrams added to hooks.md: separate SVGs for light/dark now render correctly in dark-mode docs UIs.
  • Cosmetic only across whats-new, mcp.md: code block formatting fixes (wrap, title= attributes, prompt > marker removed).

Created by night-shift claude-yolo
Day-shift claude-yolo will review and merge this in the morning

…error detection, hook security

Co-Authored-By: claude-yolo[bot] <claude-yolo@lroole.com>
@claude-yolo
claude-yolo Bot merged commit cfba0e1 into main Jul 29, 2026
1 check passed
@claude-yolo
claude-yolo Bot deleted the docs/claude-code-v2.1.220-20260729-0816 branch July 29, 2026 08:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants