Claude Code v2.1.210: Elapsed Time Counter, Permission Warnings, and Fixes
Claude Code version 2.1.210 introduces a live elapsed-time counter for long-running tool calls, providing better visibility into progress. It also adds startup warnings for specific permission rules and resolves numerous bugs related to Git operations, plugin behavior, and UI rendering. This update aims to improve the user experience and stability for developers using Claude Code for code generation and editing tasks.
- →Added a live elapsed-time counter to the collapsed tool summary line so long-running tool calls visibly tick instead of looking stuck
- →Added a startup warning for Write(path), NotebookEdit(path), and Glob(path) permission rules — use Edit(path) or Read(path) instead
- →Fixed the ultracode keyword opt-in firing on non-human-originated input such as webhook payloads and relayed PR comments
- →Fixed a rendered text fragment leaking into crash telemetry when a UI component returned content outside a styled text element
- →Fixed paste markers leaking into external editors opened from Claude Code, which could appear as stray È/É characters around pasted text
Features (2) ›
- Added a live elapsed-time counter to the collapsed tool summary line so long-running tool calls visibly tick instead of looking stuck
- Added a startup warning for Write(path), NotebookEdit(path), and Glob(path) permission rules — use Edit(path) or Read(path) instead
Enhancements (3) ›
Improved the Bash/PowerShell tool message when a command hits its timeout and is auto-backgrounded, so the model can distinguish a hang from an explicit background request
Improved auto mode: the permission classifier now defaults to Sonnet 5 for external sessions, validated on the session's first request and pinned for the session
Improved the bundled dataviz skill's chart color validation with perceptual OKLab color difference and recalibrated color-blindness thresholds
Fixes (22) ›
Fixed isolation: 'worktree' subagents being able to run git-mutating commands against the main repo checkout instead of their own isolated worktree
- Fixed the ultracode keyword opt-in firing on non-human-originated input such as webhook payloads and relayed PR comments
- Fixed a rendered text fragment leaking into crash telemetry when a UI component returned content outside a styled text element
- Fixed paste markers leaking into external editors opened from Claude Code, which could appear as stray È/É characters around pasted text
Fixed claude attach sometimes failing with "job not found" or "agent is still starting" errors during session transitions — attach now waits for the daemon to settle, and terminal resizes during a slow attach are applied once it completes
- Fixed a session crash when a tool's result renderer returned a numeric bigint value or plain text instead of a UI element
- Fixed a hook callback timeout being misreported to the model as a user rejection, which made unattended sessions stop and wait
Fixed Claude assuming a cd took effect after its command was moved to the background; the tool result now states the working directory is unchanged
- Fixed plugin-provided MCP servers being torn down when MCP servers are re-synced mid-session
- Fixed plan approvals without edits being labeled "(edited by user)" and overwriting the plan file with a stale snapshot
- Fixed /doctor skipping its auto-mode-default proposal on Bedrock, Vertex, and Foundry, where auto mode no longer needs an opt-in
- Fixed Grep content mode claiming "No matches found" when paginating past the end of results
- Fixed unmatched $1/$2 positional placeholders in skills and commands being silently stripped; they are now preserved verbatim
- Fixed plugin cache writes leaving temp files behind on failure and failing on locked-file renames on Windows and network filesystems
- Fixed background workers crash-looping when a client resets its connection to the background service
- Fixed claude agents --effort ultracode not reaching dispatched sessions; the value was silently dropped
- Fixed pressing ← to open the agents view dropping the task tracker when returning to the session
- Fixed the agents dashboard retaining pasted images from abandoned reply drafts after their session was deleted
Fixed killed background sessions leaving a permanent git worktree lock behind; the periodic sweep now releases locks whose owning process is gone
- Fixed SDK MCP servers registered via an initialize control request waiting until the next turn to start connecting
- Fixed returning to the agents view from a session leaving overlapping ghost frames with CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1
- Fixed late-appearing .claude/* symlinks not being reconciled into the sandbox deny-write list
https://github.com/anthropics/claude-code/releases/tag/v2.1.210
Related releases
- Claude Code v2.1.251 Adds Hooks, Live Streaming, and Security Fixes Claude Code Releases ·
- Anthropic Releases Claude Code v2.1.250 Patch with Bug Fixes and Reliability Improvements Claude Code Releases ·
- Anthropic Updates SDKs and Introduces Personal & Service Account API Keys Claude Platform Release Notes ·
- Claude Code v2.1.248 Delivers New Security, Caching, and Usability Enhancements Claude Code Releases ·
- Anthropic Python SDK v1.2.0 Enhances API Stability and File Handling Anthropic Python SDK Releases ·
- Anthropic details expanded scientific research support programs Anthropic News ·