settings.autoMode.hard_denylets you block actions unconditionally in auto mode. Unlike existing allow/deny rules,hard_denyentries cannot be overridden by user intent or allow exceptions.MCP servers no longer vanish after
/clearin VS Code, JetBrains, and Agent SDK. If you've been re-adding servers or restarting your IDE after clearing context, that workaround is no longer needed.MCP OAuth refresh tokens no longer break when multiple servers refresh concurrently. Users running several remote MCP servers should stop seeing daily re-authentication prompts (more below).
Plan mode was not blocking file writes when a matching
Edit(...)allow rule existed. If you use plan mode as a review gate, this was silently bypassing it. Fixed now.
New in 2.1.138, 2.1.137, 2.1.136
2.1.138 (May 11, 2026)
- Internal fixes
2.1.137 (May 11, 2026)
- [VSCode] Fixed extension failing to activate on Windows
2.1.136 (May 11, 2026)
- Added
CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTELto re-enable the session quality survey for enterprises capturing responses through OpenTelemetry - Added
settings.autoMode.hard_denyfor auto mode classifier rules that block unconditionally regardless of user intent or allow exceptions - Fixed MCP servers configured in
.mcp.json, plugins, and claude.ai connectors silently disappearing after/clearin the VS Code extension, JetBrains plugin, and Agent SDK - Fixed a rare login loop where a concurrent credential write could overwrite a freshly-rotated OAuth token and force re-login
- Fixed MCP OAuth refresh tokens being lost when multiple servers refresh concurrently, so users with several remote MCP servers should no longer need daily re-authentication
- Fixed an API error (400) when extended thinking emitted a redacted thinking block after a tool call
- Fixed
--resume/--continuenot finding sessions when the project path contains underscores - Fixed plan mode not blocking file writes when a matching
Edit(...)allow rule exists - WSL2: image paste from Windows clipboard now works via a PowerShell fallback when xclip/wl-paste cannot read image data
- Fixed plugin
Stop/UserPromptSubmithooks failing when cache cleanup deletes a version still in use by a running session - Improved visual consistency across slash command dialogs: standardized footer hints, dialog spacing, and arrow-key styling, and the dialog frame now appears immediately during loading instead of popping in after
- Fixed colors appearing at wrong positions in bash command output and markdown code blocks
- Fixed ReasonML diffs rendering corrupted "undefined" text artifacts at word-diff boundaries
- Fixed worktree exit dialog warning about uncommitted files in the wrong directory after worktree removal
- Fixed
@file picker not matching files created mid-session in small non-git directories - Fixed
@-mention file picker not finding files in directories with more than 100 entries - Fixed failed tool calls not being click-to-expand in fullscreen mode when their output was truncated
- Fixed Backspace and Ctrl+Backspace getting swapped after using Ctrl+G to open an external editor on terminals with persistent extended-key modes
- Fixed
/usageweekly reset showing time of day instead of the calendar date - Fixed welcome banner ellipsis causing column overflow on CJK terminals
- Fixed
/insightscrash when session history contains tool calls with malformed input fields - Fixed a renderer crash when a tool's collapsibility classification changes mid-session
- Fixed a
skillsentry inplugin.jsonhiding the plugin's defaultskills/directory, and listing a file path now shows an error instead of failing silently - Fixed IDE shell-integration lock files not respecting
CLAUDE_CONFIG_DIR - Fixed trailing whitespace in copied terminal output during streaming
- Fixed plugin uninstall and enable/disable not matching slugs case-insensitively
- Fixed tool error truncation marker showing a negative count for surrogate-pair strings
- Fixed env vars from
CLAUDE_ENV_FILESessionStart hooks going stale after/resumeor/clear - Fixed
/branchsaving a multi-line session title when given a pasted multi-line name - Fixed a stray leading space on the second line of wrapped text at the column boundary
- Fixed Esc not dismissing dialogs in
/install-github-app,/desktop,/resume, and/web-setup - Fixed
/doctorMCP schema errors not naming the missing field or showing the source file path - Fixed Bash permission prompts showing an internal parser diagnostic instead of a user-readable explanation
- Fixed plugin slash commands with spaces (e.g.
/myplugin review) not resolving to their namespaced form - Fixed
AskUserQuestiondiscarding multi-select answers when supplied as an array - Fixed
/clear <name>not labeling the cleared session for/resume - Fixed
CronListoutput missing qualifiers and the scheduled prompt - Fixed "Jump to bottom" overlay leaving color artifacts on CJK characters in fullscreen mode
- Fixed wide markdown tables leaving a stale bordered render in terminal scrollback while streaming
- Fixed pasted text being silently dropped when a long prompt with a pasted-text placeholder was auto-truncated
- Fixed
/release-notesgetting stuck on an old version after a failed changelog refresh - Fixed
/mcpserver list not scrolling when there are more servers than fit in the terminal - Fixed mid-input slash command autocomplete not working after an initial slash command
- Fixed scrolling to bottom re-engaging auto-follow with
autoScrollEnabled: false - Fixed prompt suggestions being auto-submitted by Enter on an empty input instead of requiring Tab or arrow to accept
- Fixed keyboard shortcut hints not reflecting rebound keys from
keybindings.json - Fixed
/settingslanguage change being reverted on Escape after confirming - Fixed
/terminal-setuponly appearing in autocomplete on exact name match instead of partial prefixes - Fixed "Chat about this" on an
AskUserQuestiondialog erasing the question text - Fixed MCP tool results being invisible when the server returns content blocks
- Improved error message when
--worktreecollides with an existing or stale worktree - Changed plugin marketplace removal key to
d(matching delete elsewhere) instead ofrwhich collided with retry
Notes
MCP credential stability: third pass
2.1.136 targets the specific scenario where multiple remote MCP servers refresh tokens at the same time. This is the third pass on credential race conditions in recent releases: 2.1.133 fixed parallel sessions dead-ending at 401 after a refresh-token race, and 2.1.126 fixed a rare concurrent credential write clearing a valid refresh token. If you run several remote MCP servers and have been re-authenticating daily, this is the one to watch.
VS Code Windows activation: second fix
2.1.137 fixes VS Code extension activation on Windows again. 2.1.131 addressed a different activation failure caused by a hardcoded build path in the bundled SDK. These are distinct root causes, so if you hit a new Windows activation failure after 2.1.131, this is the follow-up.