v2.1.77
Claude CodeSummary
This release significantly increases the maximum output token limits for Opus and Sonnet models, reaching up to 128k tokens for some configurations. Numerous critical bugs were fixed, including issues related to compound command permissions, memory leaks during long sessions, and various terminal/IDE integration problems. Performance improvements include faster startup on macOS and quicker session resume times.
New Features
- Added optional index argument to the /copy command: /copy N now copies the Nth-latest assistant response.
- Added the allowRead sandbox filesystem setting to re-allow read access within denyRead regions.
- Enabled sessions to be auto-named based on plan content when a plan is accepted.
- Renamed the /fork command to /branch (with /fork remaining as an alias).
Bug Fixes
- Fixed the "Always Allow" setting for compound bash commands (e.g., cd src && npm test) incorrectly saving a single rule for the full string instead of per-subcommand, which caused dead rules and repeated prompts.
- Fixed the auto-updater accumulating tens of gigabytes of memory by starting overlapping binary downloads when the slash-command overlay repeatedly opened and closed.
- Fixed the --resume command silently truncating recent conversation history due to a race condition between memory-extraction writes and the main transcript.
- Fixed PreToolUse hooks returning "allow" bypassing deny permission rules, including enterprise managed settings.
- Fixed the Write tool silently converting line endings when overwriting CRLF files or creating files in CRLF directories.
- Fixed memory growth in long-running sessions caused by progress messages surviving compaction.
- Fixed cost and token usage not being tracked when the API falls back to non-streaming mode.
- Fixed CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS not stripping beta tool-schema fields, which caused proxy gateways to reject requests.
- Fixed the Bash tool reporting errors for successful commands when the system temp directory path contains spaces.
- Fixed paste operation being lost when typing immediately after pasting.
- Fixed Ctrl+D in the /feedback text input deleting forward instead of exiting the session on the second press.
- Fixed an API error occurring when dragging a 0-byte image file into the prompt.
- Fixed Claude Desktop sessions incorrectly using the terminal CLI's configured API key instead of OAuth.
- Fixed git-subdir plugins located at different subdirectories of the same monorepo commit colliding in the plugin cache.
- Fixed ordered list numbers not rendering correctly in the terminal UI.
- Fixed a race condition where stale-worktree cleanup could delete an agent worktree that was just resumed from a previous crash.
- Fixed input deadlock occurring when opening /mcp or similar dialogs while the agent is running.
- Fixed Backspace and Delete keys not functioning in vim NORMAL mode.
- Fixed the status line not updating when vim mode is toggled on or off.
- Fixed hyperlinks opening twice on Cmd+click in VS Code, Cursor, and other xterm.js-based terminals.
- Fixed background colors rendering as terminal-default inside tmux when using the default configuration.
- Fixed iTerm2 session crash when selecting text inside tmux over SSH.
- Fixed clipboard copy silently failing in tmux sessions; the copy toast now correctly indicates whether to paste with ⌘V or tmux prefix+].
- Fixed ←/→ keys accidentally switching tabs in settings, permissions, and sandbox dialogs while navigating lists.
- Fixed IDE integration not auto-connecting when Claude Code is launched inside tmux or screen.
- Fixed CJK characters visually bleeding into adjacent UI elements when clipped at the right edge.
- Fixed teammate panes not closing when the leader exits.
- Fixed iTerm2 auto mode not correctly detecting iTerm2 for native split-pane teammates.
- Fixed the Agent tool incorrectly accepting a resume parameter; users must now use SendMessage({to: agentId}) to continue a previously spawned agent.
Improvements
- Increased default maximum output token limits for Claude Opus 4.6 to 64k tokens, and the upper bound for Opus 4.6 and Sonnet 4.6 models to 128k tokens.
- Improved the /copy command to accept an optional index.
- Improved Esc key to abort in-flight non-streaming API requests.
- Improved claude plugin validate to check skill, agent, and command frontmatter plus hooks/hooks.json, catching YAML parse errors and schema violations.
- Implemented background bash tasks to be killed if output exceeds 5GB, preventing runaway processes from filling the disk.
- Improved headless mode plugin installation to compose correctly with CLAUDE_CODE_PLUGIN_SEED_DIR.
- Added a notice to show when apiKeyHelper takes longer than 10s, preventing it from blocking the main loop.
- Enabled SendMessage to auto-resume stopped agents in the background instead of returning an error.
- [VSCode] Improved plan preview tab titles to use the plan's heading instead of "Claude's Plan".
- [VSCode] When option+click does not trigger native selection on macOS, the footer now points to the macOptionClickForcesSelection setting.
- Achieved faster startup on macOS (~60ms) by reading keychain credentials in parallel with module loading.
- Achieved faster --resume on fork-heavy and very large sessions — up to 45% faster loading and ~100-150MB less peak memory.