Claude Code 2.1.78: Plugin State, Terminal Fixes
Plugin persistent state, terminal notifications in tmux, and critical security fixes for sandbox warnings. Plus 20+ bug fixes across git, voice, and permissions.
TL;DR
- Plugin persistent state now survives updates via
${CLAUDE_PLUGIN_DATA}variable - Terminal notifications (iTerm2, Kitty, Ghostty) now work inside tmux
- Fixed critical security issue: sandbox disable warning was silent when dependencies missing
- Major fixes for git operations, voice mode, and permission rules
New
- StopFailure hook event — fires when a turn ends due to API errors like rate limits or auth failures
${CLAUDE_PLUGIN_DATA}variable — persistent plugin state that survives updates;/plugin uninstallnow prompts before deletion- Agent frontmatter support — plugins can now ship agents with
effort,maxTurns, anddisallowedToolssettings - Terminal notifications in tmux — iTerm2/Kitty/Ghostty popups and progress bars now reach the outer terminal when
set -g allow-passthrough onis enabled - Line-by-line response streaming — response text now streams as it's generated instead of buffering
- Custom model picker entry —
ANTHROPIC_CUSTOM_MODEL_OPTIONenv var adds custom models to/modeldropdown with optional_NAMEand_DESCRIPTIONsuffixes
Fixed
- Git operations on Linux —
git log HEADno longer fails with "ambiguous argument" in sandboxed Bash; stub files no longer pollutegit status - Large session truncation —
cc logand--resumeno longer silently truncate conversations over 5 MB that used subagents - Stop hook infinite loop — fixed infinite loop when API errors triggered stop hooks that re-fed blocking errors to the model
- MCP permission bypass —
deny: ["mcp__servername"]rules now properly remove tools before sending to model - Sandbox filesystem paths —
sandbox.filesystem.allowWritenow works with absolute paths (no longer requires//prefix) - Sandbox Dependencies tab — now shows correct platform info (macOS prerequisites on macOS, not Linux)
- Sandbox security warning — now shows visible startup warning instead of silently disabling when
sandbox.enabled: truebut dependencies missing - Protected directory permissions —
.git,.claude, and other protected dirs no longer writable without prompt inbypassPermissionsmode - Readline keybindings — ctrl+u in normal mode now performs readline kill-line (half-page scroll moved to transcript mode only)
- Voice mode push-to-talk — modifier-combo keybindings (e.g. ctrl+k) now activate immediately instead of requiring a hold
- WSL2 voice support — voice mode now works on WSL2 with WSLg (Windows 11); WSL1/Win10 users get clear error message
- Worktree skills and hooks —
--worktreeflag now properly loads skills and hooks from worktree directory - Git instructions suppression —
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONSandincludeGitInstructionsnow properly suppress git status in system prompt - Homebrew PATH resolution — Bash tool now finds Homebrew and PATH-dependent binaries when VS Code launched from Dock/Spotlight
- Terminal color rendering — Claude orange color no longer washed out in terminals without truecolor support
- Haiku model betas —
ANTHROPIC_BETASenv var no longer silently ignored with Haiku models - Queued prompt formatting — prompts now separated by newlines instead of concatenated
- Large session memory — improved memory usage and startup time when resuming sessions
- VSCode login flash — fixed brief login screen flash when opening sidebar while authenticated
- Opus rate limit error — model dropdown no longer offers 1M context variant to subscribers with unknown plan tier
Breaking Changes
- Ctrl+u keybinding behavior changed in normal mode — now performs readline kill-line instead of half-page scroll (moved to transcript mode)
Update Claude Code via your extension manager or check the official changelog.
Source: Claude Code