surshar / claude-code
Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.
Built by Anthropic · github.com/anthropics
Fixes #31 Fixes #17600 Fixes #22020 Fixes #23610 Fixes #25721 Fixes #25748 Fixes #25750 Fixes #25756 Fixes #25789 Fixes #25792 Fixes #25803 Fixes #25811 Fixes #25816 Fixes #25824 Fixes #25826 Fixes #25834 Fixes #25837 Fixes #25909 Fixes #25920 Fixes #25935 Fixes #25943 Fixes #25957 Fixes #25981 Fixes #25990 Fixes #26012 Fixes #26023 Fixes #26033 Fixes #26044 Fixes #26051 Fixes #26059 Fixes #26061 Fixes #26064 Fixes #26065 Fixes #26074 Fixes #26075 Fixes #26078 Fixes #26082 Fixes #26084 Fixes #26096 Fixes #26105 Fixes #26121 Fixes #26123 Fixes #26130 Fixes #26136 Fixes #26140 Fixes #26141 Fixes #26188
| @@ -1,5 +1,81 @@ | ||
| 1 | 1 | # Changelog |
| 2 | 2 | |
| 3 | +## 2.1.47 | |
| 4 | + | |
| 5 | +- Fixed FileWriteTool line counting to preserve intentional trailing blank lines instead of stripping them with `trimEnd()`. | |
| 6 | +- Fixed Windows terminal rendering bugs caused by `os.EOL` (`\r\n`) in display code — line counts now show correct values instead of always showing 1 on Windows. | |
| 7 | +- 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. | |
| 8 | +- Fixed a bug where bold and colored text in markdown output could shift to the wrong characters on Windows due to `\r\n` line endings. | |
| 9 | +- Fixed compaction failing when conversation contains many PDF documents by stripping document blocks alongside images before sending to the compaction API (anthropics/claude-code#26188) | |
| 10 | +- Improved memory usage in long-running sessions by releasing API stream buffers, agent context, and skill state after use | |
| 11 | +- Improved startup performance by deferring SessionStart hook execution, reducing time-to-interactive by ~500ms. | |
| 12 | +- Fixed an issue where bash tool output was silently discarded on Windows when using MSYS2 or Cygwin shells. | |
| 13 | +- Improved performance of `@` file mentions - file suggestions now appear faster by pre-warming the index on startup and using session-based caching with background refresh. | |
| 14 | +- Improved memory usage by trimming agent task message history after tasks complete | |
| 15 | +- Improved memory usage during long agent sessions by eliminating O(n²) message accumulation in progress updates | |
| 16 | +- Fixed the bash permission classifier to validate that returned match descriptions correspond to actual input rules, preventing hallucinated descriptions from incorrectly granting permissions | |
| 17 | +- Fixed user-defined agents only loading one file on NFS/FUSE filesystems that report zero inodes (anthropics/claude-code#26044) | |
| 18 | +- Fixed plugin agent skills silently failing to load when referenced by bare name instead of fully-qualified plugin name (anthropics/claude-code#25834) | |
| 19 | +- Search patterns in collapsed tool results are now displayed in quotes for clarity | |
| 20 | +- Windows: Fixed CWD tracking temp files never being cleaned up, causing them to accumulate indefinitely (anthropics/claude-code#17600) | |
| 21 | +- Use `ctrl+f` to kill all background agents instead of double-pressing ESC. Background agents now continue running when you press ESC to cancel the main thread, giving you more control over agent lifecycle. | |
| 22 | +- Fixed API 400 errors ("thinking blocks cannot be modified") that occurred in sessions with concurrent agents, caused by interleaved streaming content blocks preventing proper message merging. | |
| 23 | +- Simplified teammate navigation to use only Shift+Down (with wrapping) instead of both Shift+Up and Shift+Down. | |
| 24 | +- Fixed an issue where a single file write/edit error would abort all other parallel file write/edit operations. Independent file mutations now complete even when a sibling fails. | |
| 25 | +- Added `last_assistant_message` field to Stop and SubagentStop hook inputs, providing the final assistant response text so hooks can access it without parsing transcript files. | |
| 26 | +- Fixed custom session titles set via `/rename` being lost after resuming a conversation (anthropics/claude-code#23610) | |
| 27 | +- Fixed collapsed read/search hint text overflowing on narrow terminals by truncating from the start. | |
| 28 | +- Fixed an issue where bash commands with backslash-newline continuation lines (e.g., long commands split across multiple lines with `\`) would produce spurious empty arguments, potentially breaking command execution. | |
| 29 | +- Fixed built-in slash commands (`/help`, `/model`, `/compact`, etc.) being hidden from the autocomplete dropdown when many user skills are installed (anthropics/claude-code#22020) | |
| 30 | +- Fixed MCP servers not appearing in the MCP Management Dialog after deferred loading | |
| 31 | +- Fixed session name persisting in status bar after `/clear` command (anthropics/claude-code#26082) | |
| 32 | +- Fixed crash when a skill's `name` or `description` in SKILL.md frontmatter is a bare number (e.g., `name: 3000`) — the value is now properly coerced to a string (anthropics/claude-code#25837) | |
| 33 | +- Fixed /resume silently dropping sessions when the first message exceeds 16KB or uses array-format content (anthropics/claude-code#25721) | |
| 34 | +- Added `chat:newline` keybinding action for configurable multi-line input (anthropics/claude-code#26075) | |
| 35 | +- Added `added_dirs` to the statusline JSON `workspace` section, exposing directories added via `/add-dir` to external scripts (anthropics/claude-code#26096) | |
| 36 | +- Fixed `claude doctor` misclassifying mise and asdf-managed installations as native installs (anthropics/claude-code#26033) | |
| 37 | +- Fixed zsh heredoc failing with "read-only file system" error in sandboxed commands (anthropics/claude-code#25990) | |
| 38 | +- Fixed agent progress indicator showing inflated tool use count (anthropics/claude-code#26023) | |
| 39 | +- Fixed image pasting not working on WSL2 systems where Windows copies images as BMP format (anthropics/claude-code#25935) | |
| 40 | +- Fixed background agent results returning raw transcript data instead of the agent's final answer (anthropics/claude-code#26012) | |
| 41 | +- Fixed Warp terminal incorrectly prompting for Shift+Enter setup when it supports it natively (anthropics/claude-code#25957) | |
| 42 | +- Fixed CJK wide characters causing misaligned timestamps and layout elements in the TUI (anthropics/claude-code#26084) | |
| 43 | +- Fixed custom agent `model` field in `.claude/agents/*.md` being ignored when spawning team teammates (anthropics/claude-code#26064) | |
| 44 | +- Fixed plan mode being lost after context compaction, causing the model to switch from planning to implementation mode (anthropics/claude-code#26061) | |
| 45 | +- Fixed `alwaysThinkingEnabled: true` in settings.json not enabling thinking mode on Bedrock and Vertex providers (anthropics/claude-code#26074) | |
| 46 | +- Fixed `tool_decision` OTel telemetry event not being emitted in headless/SDK mode (anthropics/claude-code#26059) | |
| 47 | +- Fixed session name being lost after context compaction — renamed sessions now preserve their custom title through compaction (anthropics/claude-code#26121) | |
| 48 | +- Increased initial session count in resume picker from 10 to 50 for faster session discovery (anthropics/claude-code#26123) | |
| 49 | +- Windows: fixed worktree session matching when drive letter casing differs (anthropics/claude-code#26123) | |
| 50 | +- Fixed `/resume <session-id>` failing to find sessions whose first message exceeds 16KB (anthropics/claude-code#25920) | |
| 51 | +- Fixed "Always allow" on multiline bash commands creating invalid permission patterns that corrupt settings (anthropics/claude-code#25909) | |
| 52 | +- Fixed React crash (error #31) when a skill's `argument-hint` in SKILL.md frontmatter uses YAML sequence syntax (e.g., `[topic: foo | bar]`) — the value is now properly coerced to a string (anthropics/claude-code#25826) | |
| 53 | +- Fixed crash when using `/fork` on sessions that used web search — null entries in search results from transcript deserialization are now handled gracefully (anthropics/claude-code#25811) | |
| 54 | +- Fixed read-only git commands triggering FSEvents file watcher loops on macOS by adding --no-optional-locks flag (anthropics/claude-code#25750) | |
| 55 | +- Fixed custom agents and skills not being discovered when running from a git worktree — project-level `.claude/agents/` and `.claude/skills/` from the main repository are now included (anthropics/claude-code#25816) | |
| 56 | +- Fixed non-interactive subcommands like `claude doctor` and `claude plugin validate` being blocked inside nested Claude sessions (anthropics/claude-code#25803) | |
| 57 | +- Windows: Fixed the same CLAUDE.md file being loaded twice when drive letter casing differs between paths (anthropics/claude-code#25756) | |
| 58 | +- Fixed inline code spans in markdown being incorrectly parsed as bash commands (anthropics/claude-code#25792) | |
| 59 | +- Fixed teammate spinners not respecting custom spinnerVerbs from settings (anthropics/claude-code#25748) | |
| 60 | +- Fixed shell commands permanently failing after a command deletes its own working directory (anthropics/claude-code#26136) | |
| 61 | +- Fixed hooks (PreToolUse, PostToolUse) silently failing to execute on Windows by using Git Bash instead of cmd.exe (anthropics/claude-code#25981) | |
| 62 | +- Fixed LSP `findReferences` and other location-based operations returning results from gitignored files (e.g., `node_modules/`, `venv/`) (anthropics/claude-code#26051) | |
| 63 | +- Moved config backup files from home directory root to `~/.claude/backups/` to reduce home directory clutter (anthropics/claude-code#26130) | |
| 64 | +- Fixed sessions with large first prompts (>16KB) disappearing from the /resume list (anthropics/claude-code#26140) | |
| 65 | +- Fixed shell functions with double-underscore prefixes (e.g., `__git_ps1`) not being preserved across shell sessions (anthropics/claude-code#25824) | |
| 66 | +- Fixed spinner showing "0 tokens" counter before any tokens have been received (anthropics/claude-code#26105) | |
| 67 | +- VSCode: Fixed conversation messages appearing dimmed while the AskUserQuestion dialog is open (anthropics/claude-code#26078) | |
| 68 | +- Fixed background tasks failing in git worktrees due to remote URL resolution reading from worktree-specific gitdir instead of the main repository config (anthropics/claude-code#26065) | |
| 69 | +- Fixed Right Alt key leaving visible `[25~` escape sequence residue in the input field on Windows/Git Bash terminals (anthropics/claude-code#25943) | |
| 70 | +- The `/rename` command now updates the terminal tab title by default (anthropics/claude-code#25789) | |
| 71 | +- Fixed Edit tool silently corrupting Unicode curly quotes (\u201c\u201d \u2018\u2019) by replacing them with straight quotes when making edits (anthropics/claude-code#26141) | |
| 72 | +- Fixed OSC 8 hyperlinks only being clickable on the first line when link text wraps across multiple terminal lines. | |
| 73 | + | |
| 74 | +## 2.1.46 | |
| 75 | + | |
| 76 | +- Fixed orphaned CC processes after terminal disconnect on macOS | |
| 77 | +- Added support for using claude.ai MCP connectors in Claude Code | |
| 78 | + | |
| 3 | 79 | ## 2.1.45 |
| 4 | 80 | |
| 5 | 81 | - Added support for Claude Sonnet 4.6 |