# Claude Code 2.1.217: nested subagents off by default, concurrency cap, budget now halts background agents

> Subagents no longer spawn nested subagents unless `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` is set, and concurrent subagents are capped at 20 by default — both change existing multi-agent fan-out setups. `--max-budget-usd` now denies new spawns and halts running background agents once the cap is hit.

| | |
|---|---|
| **Tool** | Claude Code |
| **Version** | 2.1.217 |
| **Kind** | release |
| **Published** | 2026-07-21 |
| **Observed** | 2026-08-11 |
| **Significance** | 3/5 |
| **Breaking** | yes |
| **Categories** | breaking, feature, fix, security, capability |

## What changed


- Subagents no longer spawn nested subagents by default; raise with `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`
- Concurrent subagents capped at 20 by default (`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`)
- `--max-budget-usd` now denies new spawns and halts running background agents at the cap
- Emoji shortcode autocomplete in the prompt input (`:heart:`); disable via `emojiCompletionEnabled`
- Warnings when transcript writes fail (e.g. disk full) or session saving is off from an inherited env var, instead of silent loss
- Fixed a memory leak retaining the full untruncated result of truncated MCP tool outputs for the session
- Fixed Windows auto-update failures that could leave `claude.exe` missing; failed updates restore the preserved executable
- Fixed background session isolation not canonicalizing symlinked working directories, letting 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 ignored in Claude Desktop sessions
- Fixed `CLAUDE.md`/`SKILL.md` `paths` frontmatter with many brace groups OOM-killing or stalling startup; brace expansion is now budget-bounded
- Fixed `--resume`/`--continue` and `/resume` throwing a TypeError on a malformed transcript attachment
- Fixed managed `OTEL_EXPORTER_OTLP_ENDPOINT` being overridden by lower-scope signal-specific settings
- Screen reader mode: fixed the truncated startup announcement and the constantly re-rendering thinking row
- Login-expiry warning moves from 5 days to 3 days before expiry


## Sources

- [changelog_md](https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md) — retrieved 2026-08-11

## Community

_No curated reactions recorded. Facts and community takes are kept in separate layers
and never blended._

---
Canonical: https://changelogs.info/claude-code/2-1-217
Entity: https://changelogs.info/claude-code
Event ID: `evt_2026-07-21_claude-code_2-1-217`
Licence: event synthesis © changelogs.info, CC BY 4.0. Linked sources belong to their vendors.
