Medium
Claude Code v2.1.214 — Permission hardening cluster: four bypass paths closed, EndConversation tool, progress heartbeats
What changed
v2.1.214 patches four distinct security bypass paths in Claude Code's permission model that existed before this release: (1)
dir/** allow rules like Edit(src/**) would auto-approve writes to any nested directory anywhere in the filesystem tree, not just within the current working directory; (2) Bash permission checks failed to analyze file-descriptor redirect forms (e.g., cmd 2>/dev/null) and would pass them through without inspection; (3) commands longer than 10,000 characters bypassed permission prompts entirely instead of prompting; (4) a permission-check bypass affected Windows PowerShell 5.1 sessions. All four are now closed. Additionally, docker commands with daemon-redirect flags (--url, --connection, --identity) now trigger explicit permission prompts. Two new features: the EndConversation tool (allowing Claude Code to self-terminate agentic sessions in response to detected misuse or jailbreak attempts), and periodic progress heartbeats for long-running tool calls. OpenTelemetry traces gain three new attributes: message.uuid, client_request_id, and tool_source.TL;DR
v2.1.214 closes four permission-check bypass paths in Claude Code (dir/** scope, FD redirects, long commands, PowerShell 5.1), adds the EndConversation tool for agentic session safety, and emits progress heartbeats during long-running calls; upgrade via
claude update.Developer signal
If you run Claude Code with permission rules that use glob patterns (
dir/**), this is a mandatory upgrade — prior behavior meant an allow rule silently granted write access beyond its intended directory scope. The FD redirect issue is equally concrete: a command like evil-cmd 2>&1 | tee log.txt could have its redirect portion analyzed in isolation from the main command, potentially allowing through a command that should have been blocked. The EndConversation tool matters specifically for teams building automated pipelines on top of Claude Code that expose it to external input — it's now possible for Claude Code to signal an intentional session termination (distinct from a crash or timeout) when misuse is detected, and your integrations can handle that signal differently. For heartbeats: long-running agentic tasks that previously went silent for minutes will now emit periodic "still alive" signals that integrations can surface to users as live status. Upgrade: run claude update in any Claude Code install. No configuration changes required.Affects you ifYou run Claude Code with
dir/** allow rules in your settings; you run Claude Code in any CI/CD or automated pipeline where Bash FD redirects appear in allowed commands; you use Claude Code on Windows PowerShell 5.1; you build integrations on top of Claude Code and need heartbeat signals or graceful abusive-session termination.EffortQuick — claude update only; no config changes needed.anthropics/claude-code GitHub Releases | Date: July 18, 2026 | Link: https://github.com/anthropics/claude-code/releases/tag/v2.1.214https://github.com/anthropics/claude-code/releases/tag/v2.1.214