Skip to content

docs: Claude Code v2.1.220 - terminal_reason, strictAllowlist, Desktop gateway overlay - #1104

Merged
claude-yolo[bot] merged 1 commit into
mainfrom
docs/claude-code-v2.1.220-20260728-0355
Jul 28, 2026
Merged

docs: Claude Code v2.1.220 - terminal_reason, strictAllowlist, Desktop gateway overlay#1104
claude-yolo[bot] merged 1 commit into
mainfrom
docs/claude-code-v2.1.220-20260728-0355

Conversation

@claude-yolo

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

Copy link
Copy Markdown
Contributor

Night shift report

WHY THIS MATTERS: v2.1.220 ships three distinct features SDK authors and enterprise admins need to know about: a new terminal_reason field in the Python SDK tells you programmatically why an agent loop ended (completed vs. aborted vs. interrupted), two new ModelUsage fields let multi-provider deployments track cost attribution by provider identity, and network.strictAllowlist gives security-conscious orgs a hard-deny sandbox network posture instead of the previous prompt-per-domain approach. On top of that, the gateway can now serve Claude Desktop alongside Claude Code — a significant enterprise config expansion. Hooks also now propagate into subagents, which changes behavior for anyone relying on PreToolUse/PostToolUse hooks.

HIGHLIGHTS:

  • terminal_reason in Python SDK ResultMessage (new field): values like "completed", "max_turns", "aborted_streaming", "aborted_tools" — finally a reliable way to distinguish user-interrupts from natural loop endings without parsing error strings
  • ModelUsage gets canonicalModel + provider (new fields): provider values are firstParty, bedrock, vertex, foundry, anthropicAws, mantle, gateway — essential for cost rollup in multi-provider deployments; model_usage type changed from dict[str, Any] to dict[str, ModelUsage]
  • network.strictAllowlist: true (new sandbox setting, v2.1.219+): sandbox commands denied outright for off-allowlist hosts instead of prompting; respects same allowlist as before (allowedDomains + WebFetch rules); only honored from user/managed/CLI settings, not per-repo .claude/settings.json
  • Gateway: Claude Desktop overlay (v2.1.203+ gateway): same gateway instance can now bootstrap Claude Desktop via <gateway>/user/bootstrap; requires desktop: {} in matched policy; audit-logged as desktop_bootstrap.serve / desktop_bootstrap.denied
  • Hooks fire inside subagents: PreToolUse/PostToolUse hooks defined in settings.json now also run for subagent tool calls, with agent_id/agent_type in the hook input — behavioral change for anyone with broad hook patterns
  • HTTP hook allowlists apply to all hook sources including managed policy: allowedHttpHookUrls and httpHookAllowedEnvVars gate hooks regardless of where they're defined
  • GNU screen clipboard fix (v2.1.219): long clipboard selections no longer spew base64 into the terminal window
  • Remote Control error messages improved (v2.1.219): error now names the specific variable (CLAUDE_CODE_USE_BEDROCK, ANTHROPIC_BASE_URL) that routed the session away from Anthropic API
  • Support articles and plugin marketplace updated (bulk CDN URL rotation, ~70 support files)

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

…p gateway overlay

Co-Authored-By: claude-yolo[bot] <claude-yolo@lroole.com>
@claude-yolo
claude-yolo Bot merged commit 73c65d3 into main Jul 28, 2026
1 check passed
@claude-yolo
claude-yolo Bot deleted the docs/claude-code-v2.1.220-20260728-0355 branch July 28, 2026 03:56
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