---
title: "Claude Code v2.1.217 Release: Multiple Fixes and Improvements"
source: "Claude Code：GitHub Releases（RSS）"
source_tier: "t1_5"
url: "https://github.com/anthropics/claude-code/releases/tag/v2.1.217"
permalink: "https://feed.astralor.com/items/itm_0f75bd72ced75a1471bdd6e6"
published: "2026-07-21T21:35:10.000Z"
score: 76
channel: "ai"
tags: ["Anthropic","Claude Code","MCP","Windows","Subagent","Auto-update"]
---

# Claude Code v2.1.217 Release: Multiple Fixes and Improvements

## AI commentary

> While this release focuses on fixes, several of them—like Windows auto-update and MCP memory leak—significantly improve daily usage. I recommend all users upgrade, especially Windows users. If you use Claude Code for long coding sessions, the subagent concurrency cap is also worth noting to avoid unexpected resource exhaustion.

## At a glance

Claude Code v2.1.217 fixes memory leaks, Windows auto-update failures, background session isolation issues, and MCP tool output persistence. It introduces emoji shortcode autocomplete, a concurrent subagent cap (default 20), and improved remote control session prompts. It also optimizes brace expansion in CLAUDE.md/SKILL.md parsing to prevent OOM crashes at startup, enhancing stability and user experience.

## Key points

- Added emoji shortcode autocomplete (e.g., :heart: → ❤️), disable via setting
- Fixed memory leak where truncated MCP tool outputs persisted in memory
- Fixed Windows auto-update failures that could leave claude.exe missing
- Added cap on concurrent subagents (default 20) to prevent unbounded spawning

## Full text

What's changed Added emoji shortcode autocomplete in the prompt input: type :heart: to insert ❤️, or :hea for suggestions — disable with the emojiCompletionEnabled setting Added warnings when transcript writes are failing (e.g. disk full) or when session saving is off due to an inherited environment variable, instead of losing transcripts silently Fixed a memory leak where truncated MCP tool outputs kept the full untruncated result in memory for the rest of the session Fixed Windows auto-update failures that could leave claude.exe missing; failed updates now restore the preserved executable automatically Fixed background session isolation not canonicalizing symlinked working directories, which could let sessions escape their workspace folder Fixed auto-compact never triggering for Claude Opus 4.8 on Bedrock and /compact failing once over the limit Fixed corporate mTLS, TLS-verify, OAuth scope, and proxy settings being ignored in Claude Desktop sessions Fixed screen reader mode's startup announcement being cut off by the first prompt render, and the thinking status row re-rendering every few seconds to update elapsed time and token counts Fixed managed settings that set OTEL_EXPORTER_OTLP_ENDPOINT not governing all signals — lower-scope signal-specific overrides no longer redirect telemetry away from the managed endpoint Fixed --resume/--continue and /resume failing with a TypeError when a transcript has a malformed attachment entry Fixed Remote Control sessions not showing a pending permission prompt or dialog to viewers that connected after it appeared Fixed background shells sometimes becoming impossible to stop after a session is sent to the background (/background or ←) or when the session exits on a heavily loaded machine, most visible on Windows Fixed a CLAUDE.md or SKILL.md paths frontmatter value with many brace groups OOM-killing or stalling the CLI at startup — brace expansion is now budget-bounded Fixed the transcript preview sitting flush against the input area when attaching to a starting background session; it now leaves the same one-line gap as the live layout, so the transcript no longer shifts when the session takes over Improved footer PR badge links to be clickable hyperlinks even when terminal support can't be detected (e.g. over ssh/tmux); set FORCE_HYPERLINK=0 to opt out Changed the login-expiry warning to appear 3 days before expiry instead of 5 Capped the frontend-design plugin suggestion tip at 3 lifetime impressions instead of repeating indefinitely Added a cap on concurrently-running subagents (default 20, override with CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS) so one message can't fan out unbounded background agents Changed subagents to no longer spawn nested subagents by default; set CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH to allow deeper nesting Fixed --max-budget-usd not stopping background subagents: once the cap is reached, new spawns are denied and running background agents are halted

---

Verify against the original before citing; curated by Astral Feed: https://feed.astralor.com/items/itm_0f75bd72ced75a1471bdd6e6
