Claude Code v2.1.288
Released Oct 2, 2026 (12 days ago).
143 issues reference this build
121 still open
22 resolved (15%)
"References this build" means the issue body mentions running 2.1.288 (from the
bug-report template). It reflects report volume, not a proven defect count — an issue may mention a
version without being caused by it. First-party data from the anthropics/claude-code tracker.
Top issues reported on v2.1.288
Ranked by community engagement (reactions and comments).
- [FEATURE] VS Code extension: draw function-hook mod UI (AbovePrompt band, Pane)
- Mods off remotely on 2.1.288 despite docs saying on by default since 2.1.287 (rollout switch serves off)
- [BUG] After the Claude chat / Cowork merge: only the latest post-compaction transcript is kept — all earlier transcript segments are discarded
- [BUG] Code tab terminal integration fails on Windows (MSIX install)
- [BUG] After a network change, the next request hangs 184 s on a dead connection before retrying (Linux)
- [BUG] VS Code extension, multi-root workspace: file links in chat unclickable outside primary folder (re-filed from #62718)
- [FEATURE] /clear and /new should not copy a custom session name into the new conversation (or make it configurable)
- Inline-shell rm check asks on bash -c with a $VAR command and a {…,…} argument (no rm present)
- [FEATURE] Mods: let a prompt.submit hook consume a prompt silently (no "Prompt dropped by a hook" row)
- Session list in sidebar: indent sessions under their group + separate font size
- Desktop: inline `show_widget` widgets are re-mounted on tab switch and lose all in-page state; a filled-in form submits nothing
- [FEATURE] Desktop Browser pane: support the Bitwarden extension
- Inline-shell rm check (2.1.288) asks in bypass mode on bash -c $'...' scripts that contain no rm
- [FEATURE] Mods: let a plugin send a native notification ($.ui.notify)
- [FEATURE] Let mods add entries to the prompt autocomplete list
- [BUG] /doctor prompt-audit: the documented "nothing changes until you ask" guarantee is enforced only by prompt text, and the method has no source-of-truth step
- [Feature Request] Auto-switch directory when resuming sessions from other projects
- Inline-shell rm check (2.1.288) asks on zsh -c scripts that contain no rm
- [Bug] Anthropic API Error: Overly restrictive content filter on harmless bioinformatics operations
- [Bug] Claude Code violates working directory boundaries and edits live files without permission
- User's own pasted input is folded as '(N lines hidden)' and cannot be expanded (Ctrl-O) or copied back out of the transcript
- [BUG] macOS: Claude CLI registers as a foreground Ghostty instance, leaving duplicate Dock icons
- [Bug] Safety classifier blocks authorized security-testing content in assistant output, but not when loaded via Skill tool
- [BUG] Desktop (Linux): claude-desktop runs with no_new_privs, so sudo fails in its terminal and Snap apps (default browser) cannot be launched
- [BUG] Desktop app session fails to start when working directory on SMB share contains accents (macOS 27, NFC vs NFD)
- [BUG]
- [Feature] Let an SDK / -p host declare its session attended, so background commands aren't stopped at 30 minutes (as in VS Code since 2.1.288)
- [Bug] Unclear error flagging on present-tense capability questions
- [Bug] Safeguard repeatedly triggers on simple tasks
- [Bug] False positive spam/abuse detection on benign networking questions
Changelog
What's changed
- Added
$.ui.selection()for mods: returns the text you last selected in fullscreen mode and, when the selection lies within one transcript row, that row - Added a built-in
gh apito cloud sessions whose image has no GitHub CLI, and fixed the built-in sending control characters from file names, jq filters or GitHub errors to the terminal - Added recovery for a prompt cleared with Ctrl+C: pressing Up on the empty prompt brings the draft back, including pasted text and images
- Added a re-authenticate prompt when an MCP server asks for more OAuth scope during a tool call
- Added
--max-findings <n>|allto /code-review to report more or fewer findings than the usual limit; the choice is reused until you pass--max-findings default - Added Ctrl+F to find a session by name and Alt+↑/↓ to jump between groups in the agents view; both, and rename, can be rebound in keybindings.json
- Added a screen reader mode announcement of the new permission mode when you approve a plan, including with Shift+Tab
- Fixed mid-response API timeouts failing the turn: non-interactive sessions and subagents now continue from the partial response, and thinking-only responses are retried
- Fixed long conversations failing with "Prompt is too long" instead of auto-compacting when the last reply reported zero token usage
- Fixed
--resumesometimes dropping files and other context that a compaction had just restored - Fixed a resumed session sometimes not saving the last response of a turn, so that the next
--resumeshowed the prompt unanswered - Fixed resume occasionally loading a transcript cut short when the same session rewrote the file during the load
- Fixed resuming a conversation started on 2.1.286 or earlier dropping the model's earlier thinking
- Fixed session titles, memory recall and prompt hooks failing on Mantle or behind gateways that reject structured outputs; added
CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTSto turn structured outputs off - Fixed auto mode denials pointing Claude at a Bash permission rule when the blocked tool was not Bash
- Fixed auto mode on Bedrock and Mantle switching to the local classifier for the rest of the session after a request to an older model, such as a WebFetch summary or a
sonnetsubagent - Fixed cloud sessions that restarted on a newly picked model replying with that model after the server refused it
- Fixed Cowork cloud sessions staying marked as waiting for input after a WebFetch permission prompt for an unapproved URL went unanswered for five minutes
- Fixed prompt suggestions not appearing on a phone that joins a Cowork cloud session started on another device
- Fixed a mod's button sometimes running a different button's action when pressed on a view drawn before Claude Code restarted
- Fixed a plugin's pane showing nothing when one
Codeelement held a diff that does not parse; it now draws as plain code - Fixed plugin LSP servers receiving literal
${user_config.*}and${CLAUDE_PLUGIN_ROOT}placeholders ininitializationOptionsandsettingsinstead of substituted values or manifest defaults - Fixed a plugin's
tool.callhook making Bash fail and file searches read the wrong folder in subagents that run in a worktree - Fixed
git-subdirplugin installs failing, or caching an incomplete plugin, on older git (before 2.39, e.g. Ubuntu 22.04's 2.34) - Fixed plugins loaded with
--plugin-dirnot showing "Configure options" in/plugin - Fixed background sessions ending when a plugin was reloaded or disabled while one of its timers or reads was still running
- Fixed sandboxed heredocs with an unquoted delimiter (
python3 <<EOF) asking for approval on every run under sandbox auto-allow when the body holds only plain text and simple$VARreferences - Fixed Bash tool permission check to prompt before a
BASHPIDassignment whose value the shell would evaluate as arithmetic, instead of allowing it silently - Fixed fullscreen sessions exiting with "unrecoverable interface