Claude Code 2.1.77: Token Limits, Sandbox, Copy Command

2.1.77 brings higher token limits for Opus 4.6, granular sandbox filesystem control, and fixes for bash permissions, memory leaks, vim keybinds, and tmux/iTerm2 issues.

Claude Code 2.1.77: Token Limits, Sandbox, Copy Command

TL;DR

  • Opus 4.6 now defaults to 64k output tokens, up to 128k max
  • New allowRead sandbox setting for granular filesystem control
  • /copy N command to grab specific assistant responses
  • Major fixes: bash permission rules, memory leaks, API fallback tracking, vim keybinds, tmux/iTerm2 issues

New

  • Increased token limits — Opus 4.6 default output raised to 64k, upper bound to 128k for Opus and Sonnet 4.6
  • allowRead sandbox setting — Re-enable read access within denyRead regions for finer-grained filesystem control
  • /copy N command — Copy the Nth-latest assistant response instead of always the most recent
  • Auto-naming sessions — Sessions now auto-name from plan content when you accept a plan
  • /branch command — Renamed from /fork (alias still works)

Fixed

  • Bash permission rules — "Always Allow" on compound commands (e.g. cd src && npm test) now saves per-subcommand instead of one rule for the full string, eliminating dead rules and repeated prompts
  • Auto-updater memory leak — Fixed overlapping binary downloads when slash-command overlay repeatedly opened/closed, which could accumulate tens of gigabytes
  • --resume history truncation — Race condition between memory-extraction writes and transcript no longer silently loses recent conversation history
  • PreToolUse hook bypass — Hooks returning "allow" no longer bypass deny permission rules or enterprise managed settings
  • Line ending conversion — Write tool no longer silently converts line endings when overwriting CRLF files or creating files in CRLF directories
  • Memory growth in long sessions — Progress messages now properly cleaned up during compaction
  • Cost and token tracking — Usage now tracked when API falls back to non-streaming mode
  • CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS — Now properly strips beta tool-schema fields to prevent proxy gateway rejections
  • Bash errors with spaces in temp path — Bash tool no longer reports false errors when system temp directory contains spaces
  • Paste loss on immediate typing — Fixed text being lost when typing immediately after pasting
  • Vim keybinds — Backspace and Delete now work in vim NORMAL mode; status line updates when vim mode toggled
  • Hyperlink double-open — Cmd+click no longer opens links twice in VS Code, Cursor, and xterm.js-based terminals
  • Terminal color rendering — Background colors now render correctly inside tmux with default configuration
  • iTerm2 tmux crash — Session no longer crashes when selecting text inside tmux over SSH
  • Tmux clipboard copy — Copy now works reliably in tmux sessions; toast indicates ⌘V or tmux prefix+] for paste
  • Dialog navigation — Arrow keys no longer accidentally switch tabs in settings, permissions, and sandbox dialogs
  • IDE auto-connect — Claude Code now auto-connects when launched inside tmux or screen
  • CJK character clipping — CJK characters no longer visually bleed into adjacent UI elements
  • Teammate panes — Panes now close when leader exits; iTerm2 auto mode correctly detects iTerm2 for native split-pane teammates
  • Ctrl+D in feedback — Now correctly exits session on second press instead of deleting forward
  • 0-byte image drag — API no longer errors when dragging 0-byte image files into prompt
  • Claude Desktop OAuth — Sessions now correctly use OAuth instead of terminal CLI's configured API key
  • Git-subdir plugin cache collision — Plugins at different subdirectories of same monorepo no longer collide in cache
  • Ordered list rendering — Numbers now render correctly in terminal UI
  • Stale-worktree race condition — Cleanup no longer deletes agent worktree just resumed from previous crash
  • Input deadlock — Opening /mcp or similar dialogs while agent is running no longer deadlocks input

Improved

  • macOS startup — ~60ms faster by reading keychain credentials in parallel with module loading
  • --resume performance — Up to 45% faster loading and ~100-150MB less peak memory on fork-heavy and very large sessions
  • Esc to abort — More responsive aborting of in-flight non-streaming API requests
  • claude plugin validate — Now checks skill, agent, and command frontmatter plus hooks/hooks.json, catching YAML parse errors and schema violations
  • Background bash task limits — Tasks killed if output exceeds 5GB, preventing runaway processes from filling disk
  • Headless plugin installation — Now composes correctly with CLAUDE_CODE_PLUGIN_SEED_DIR
  • apiKeyHelper timeout notice — Shows notice when helper takes longer than 10s, preventing main loop blocking
  • Agent tool SendMessage — Now auto-resumes stopped agents in background instead of returning error; resume parameter removed (use SendMessage({to: agentId}) instead)
  • VSCode plan preview tabs — Titles now use plan's heading instead of generic "Claude's Plan"
  • VSCode macOS selection — Footer now points to macOptionClickForcesSelection setting when option+click doesn't trigger native selection

Update via npm install -g @anthropic-ai/claude-code@latest or check your IDE's extension marketplace.

Source: Claude Code