|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## 2.1.214 |
| 4 | + |
| 5 | +- Fixed single-segment `dir/**` allow rules like `Edit(src/**)` auto-approving writes to nested `dir/` directories anywhere in the tree instead of only `<cwd>/dir` |
| 6 | +- Fixed a permission-check bypass affecting commands run in Windows PowerShell 5.1 sessions |
| 7 | +- Fixed Bash permission checks to fail closed on file-descriptor redirect forms that bash parses differently than the permission analyzer |
| 8 | +- Fixed Bash permission checks misjudging very long commands — commands over 10,000 characters now always prompt instead of running automatically |
| 9 | +- Fixed Bash permission checks treating zsh variable subscripts and modifiers in `[[ ]]` comparisons as inert text — these commands now prompt for approval |
| 10 | +- Fixed Bash permission checks to no longer auto-approve certain `help` and `man` commands that could run unsafe options, command substitutions, or backslash paths |
| 11 | +- Fixed permission prompts on remote sessions that could proceed before the local confirmation dialog |
| 12 | +- Added the EndConversation tool: Claude can end sessions with highly abusive users or jailbreak attempts, as on claude.ai since 2025 — see https://www.anthropic.com/research/end-subset-conversations |
| 13 | +- Added a periodic progress heartbeat for long-running tool calls that previously went silent |
| 14 | +- Added an ISO `modified` timestamp to memory file frontmatter |
| 15 | +- Added `message.uuid`, `client_request_id`, and `tool_source` attributes to OpenTelemetry log events for message-level correlation and tool provenance |
| 16 | +- Added `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` to configure the 60 KB truncation limit on OpenTelemetry content attributes |
| 17 | +- Added reasoning effort to the `subagentStatusLine` payload, so custom agent rows can render model and effort |
| 18 | +- Added permission prompts for `docker` commands (including the Podman `docker` shim) carrying daemon-redirect flags (`--url`, `--connection`, `--identity`, and Podman's remote mode) that previously ran without one |
| 19 | +- Fixed a crash when a GrowthBook feature evaluates to null, and a bug where a malformed flag payload could wipe the cached feature flags |
| 20 | +- Fixed Bash tool killing the Claude session when a `pkill -f` pattern accidentally matched the CLI's own process (Linux) |
| 21 | +- Fixed unbounded memory growth when `--settings` points at a device file or multi-GB file; oversized (>2 MiB) settings files now fail at startup with a clear error |
| 22 | +- Fixed streaming turns failing with "Socket is closed" behind corporate proxies on Windows |
| 23 | +- Fixed stream-json output truncation at exit for slow-reading SDK/pipeline consumers; the exit drain now scales with queued bytes instead of a flat 2s cap |
| 24 | +- Fixed scheduled tasks refusing their own configured prompt as untrusted input — the fired prompt is now delivered as the session's assigned task |
| 25 | +- Fixed PowerShell tool commands hanging until timeout when a child process waited on standard input (Windows) |
| 26 | +- Fixed Python scripts under the PowerShell tool crashing with UnicodeDecodeError when reading non-UTF-8 data from standard input (Windows) |
| 27 | +- Fixed Python scripts run via the PowerShell tool crashing with UnicodeEncodeError on non-ASCII output, and PowerShell 7 error messages containing raw ANSI escape sequences (Windows) |
| 28 | +- Fixed the PowerShell tool reporting `where.exe`, `fc.exe`, and `diff.exe` as errors when they return a valid negative answer (Windows) |
| 29 | +- Fixed `>` and `>>` under the PowerShell tool on Windows PowerShell 5.1 writing UTF-16LE files that other tools couldn't read as UTF-8 |
| 30 | +- Fixed a displaced background daemon deleting its successor's control socket on shutdown, which made the next client kill the healthy replacement daemon |
| 31 | +- Fixed background sessions parked with `←` or `/background` and left idle keeping the background daemon and a worker process alive indefinitely |
| 32 | +- Fixed completed background sessions being impossible to remove via `claude rm` or the agent view once the background service had gone idle |
| 33 | +- Fixed background sessions dispatched from a non-git folder being impossible to delete from the agents view |
| 34 | +- Fixed reopening a stopped background session failing to restore its saved conversation when an unreadable folder exists in the session store |
| 35 | +- Fixed the Remote Control "session ready" push notification firing for sessions where Remote Control was not explicitly enabled |
| 36 | +- Fixed `/install-github-app` and the `/mcp` settings menu being blocked in agent-view sessions — they're now refused only in background sessions with no terminal attached |
| 37 | +- Fixed plugins enabled via the `--settings` CLI flag not loading (regression since v2.1.181) |
| 38 | +- Fixed feature flags going stale in long-running sessions after the OAuth token rotates |
| 39 | +- Fixed `/ultrareview` refusing to run in repos with no merge base — it now offers to review all tracked files |
| 40 | +- Fixed `claude update` and `claude doctor` hanging silently, and the `/status` System diagnostics section going blank, when a shell-config path is a directory |
| 41 | +- Fixed memory frontmatter values being silently truncated at an inline `#` when memory files are saved |
| 42 | +- Fixed session cost and token telemetry double-counting on streams that emit multiple cumulative `message_delta` frames |
| 43 | +- Fixed a spurious "check your network" warning that appeared while the advisor was thinking |
| 44 | +- Fixed hooks with exit code 2 not blocking as documented when the hook's stdout JSON fails schema validation |
| 45 | +- Fixed OTel log events emitted outside the turn's async context missing the interaction span's trace context |
| 46 | +- Fixed MCP transient errors during prompts/resources refresh clearing the server's slash commands and resources |
| 47 | +- Improved the `claude rc` workspace-trust error in the home directory to say trust there is never saved and to suggest running from a project directory |
| 48 | +- Changed single-segment `dir/**` hook `if:` conditions to match only `<cwd>/dir`; write `**/dir/**` for any-depth matching. `deny`/`ask` permission rules keep their any-depth match. |
| 49 | +- Changed `file` commands using `-m`/`--magic-file` or `-f`/`--files-from` to require permission instead of being auto-allowed as read-only |
| 50 | +- Changed keep-alive connection pooling to disable after a stale-connection error, so retries open a fresh socket |
| 51 | +- Changed SessionStart hooks to report source `"fork"` when a session begins as a fork instead of `"resume"` |
| 52 | + |
3 | 53 | ## 2.1.212 |
4 | 54 |
|
5 | 55 | - `/fork` now copies your conversation into a new background session (its own row in `claude agents`) while you keep working; the in-session subagent it used to launch is now `/subtask` |
|
0 commit comments