Change8

v2.1.47

Claude Code
4 features43 fixes10 improvementsbedrockclidesktophooksmcpsdkvertexvscode

Summary

This release focuses heavily on stability and platform compatibility, delivering numerous bug fixes across Windows, shell execution, and file system interactions. Key improvements include better memory management for long sessions, faster file suggestion performance, and enhanced usability for the VS Code plan preview feature.

New Features

  • Added `last_assistant_message` field to Stop and SubagentStop hook inputs, allowing hooks to access the final assistant response text.
  • Added `chat:newline` keybinding action for configurable multi-line input.
  • Added `added_dirs` to the statusline JSON `workspace` section, exposing directories added via `/add-dir` to external scripts.
  • Enabled using `ctrl+f` to kill all background agents instead of double-pressing ESC, allowing background agents to continue running when ESC cancels the main thread.

Bug Fixes

  • Fixed FileWriteTool line counting to preserve intentional trailing blank lines instead of stripping them.
  • Fixed Windows terminal rendering bugs where line counts showed incorrect values (always 1) due to `os.EOL` (`\r\n`) in display code.
  • Fixed bold and colored text in markdown output shifting to the wrong characters on Windows due to `\r\n` line endings.
  • Fixed compaction failing when conversations contain many PDF documents by stripping document blocks alongside images before sending to the compaction API.
  • Fixed bash tool output being silently discarded on Windows when using MSYS2 or Cygwin shells.
  • Fixed the bash permission classifier from incorrectly granting permissions based on hallucinated descriptions.
  • Fixed user-defined agents only loading one file on NFS/FUSE filesystems that report zero inodes.
  • Fixed plugin agent skills silently failing to load when referenced by bare name instead of fully-qualified plugin name.
  • Fixed CWD tracking temp files never being cleaned up on Windows, preventing indefinite accumulation.
  • Fixed API 400 errors ("thinking blocks cannot be modified") in sessions with concurrent agents caused by interleaved streaming content blocks.
  • Fixed a single file write/edit error from aborting all other parallel file write/edit operations; independent mutations now complete on failure.
  • Fixed custom session titles set via `/rename` being lost after resuming a conversation.
  • Fixed collapsed read/search hint text overflowing on narrow terminals by truncating from the start.
  • Fixed bash commands using backslash-newline continuation lines (`\` followed by newline) producing spurious empty arguments.
  • Fixed built-in slash commands being hidden from the autocomplete dropdown when many user skills are installed.
  • Fixed MCP servers not appearing in the MCP Management Dialog after deferred loading.
  • Fixed session name persisting in status bar after `/clear` command.
  • Fixed crash when a skill's `name` or `description` in SKILL.md frontmatter is a bare number, by coercing the value to a string.
  • Fixed `/resume` silently dropping sessions when the first message exceeds 16KB or uses array-format content.
  • Fixed `claude doctor` misclassifying mise and asdf-managed installations as native installs.
  • Fixed zsh heredoc failing with "read-only file system" error in sandboxed commands.
  • Fixed agent progress indicator showing inflated tool use count.
  • Fixed image pasting not working on WSL2 systems where Windows copies images as BMP format.
  • Fixed background agent results returning raw transcript data instead of the agent's final answer.
  • Fixed Warp terminal incorrectly prompting for Shift+Enter setup when it supports it natively.
  • Fixed CJK wide characters causing misaligned timestamps and layout elements in the TUI.
  • Fixed custom agent `model` field in `.claude/agents/*.md` being ignored when spawning team teammates.
  • Fixed plan mode being lost after context compaction, causing the model to switch from planning to implementation mode.
  • Fixed `alwaysThinkingEnabled: true` in settings.json not enabling thinking mode on Bedrock and Vertex providers.
  • Fixed `tool_decision` OTel telemetry event not being emitted in headless/SDK mode.
  • Fixed session name being lost after context compaction; renamed sessions now preserve their custom title through compaction.
  • Fixed `/resume <session-id>` failing to find sessions whose first message exceeds 16KB.
  • Fixed "Always allow" on multiline bash commands creating invalid permission patterns that corrupt settings.
  • Fixed React crash (error #31) when a skill's `argument-hint` in SKILL.md frontmatter uses YAML sequence syntax, by coercing the value to a string.
  • Fixed crash when using `/fork` on sessions that used web search by gracefully handling null entries in search results.
  • Fixed read-only git commands triggering FSEvents file watcher loops on macOS by adding --no-optional-locks flag.
  • Fixed custom agents and skills not being discovered when running from a git worktree; project-level agent/skill directories are now included.
  • Fixed non-interactive subcommands like `claude doctor` and `claude plugin validate` being blocked inside nested Claude sessions.
  • Windows: Fixed the same CLAUDE.md file being loaded twice when drive letter casing differs between paths.
  • Fixed inline code spans in markdown being incorrectly parsed as bash commands.
  • Fixed teammate spinners not respecting custom spinnerVerbs from settings.
  • Fixed shell commands permanently failing after a command deletes its own working directory.
  • Fixed hooks (PreToolUse, PostToolUse) silently failing.

Improvements

  • Improved VS Code plan preview: auto-updates as Claude iterates, enables commenting only when the plan is ready for review, and keeps the preview open when rejecting so Claude can revise.
  • Improved memory usage in long-running sessions by releasing API stream buffers, agent context, and skill state after use.
  • Improved startup performance by deferring SessionStart hook execution, reducing time-to-interactive by ~500ms.
  • Improved performance of `@` file mentions; file suggestions appear faster by pre-warming the index on startup and using session-based caching with background refresh.
  • Improved memory usage by trimming agent task message history after tasks complete.
  • Improved memory usage during long agent sessions by eliminating O(n²) message accumulation in progress updates.
  • Search patterns in collapsed tool results are now displayed in quotes for clarity.
  • Simplified teammate navigation to use only Shift+Down (with wrapping) instead of both Shift+Up and Shift+Down.
  • Increased initial session count in resume picker from 10 to 50 for faster session discovery.
  • Windows: fixed worktree session matching when drive letter casing differs.

Claude Code Documentation