What changed
Claude Code 2.1.152 shipped on May 27, 2026. /code-review now accepts a --fix flag that applies review findings to the working tree, and /simplify is folded into /code-review --fix. Skills and slash commands can list disallowed-tools in frontmatter to remove tools while active; /reload-skills re-scans skill directories without restarting the session; SessionStart hooks gain a reloadSkills return and a sessionTitle output; and a new MessageDisplay hook event can transform or hide assistant message text as it is displayed. On the operational side, an unfound primary model now switches the whole session to your configured --fallback-model instead of failing every request, and Auto mode no longer requires opt-in consent. The rest is Vim NORMAL-mode / reverse history, /usage extended to large session files via streaming read, thinking-indicator readability, plugin MCP dedup, remote MCP under egress proxy, markdown table rendering, and a wide bug-fix sweep.
2.1.150 was an internal infrastructure-only release (no user-facing changes), and 2.1.151 has no public release notes, so neither is covered separately here.
New features
-
/code-review --fixapplies findings to the working tree, and/simplifyinvokes it/code-reviewpreviously reported correctness bugs only; applying them meant running the changes yourself. With--fix, the command applies reuse, simplification, and efficiency suggestions directly to the working tree, and/simplifyis now an alias that calls/code-review --fix. -
disallowed-toolsin skill and slash-command frontmatterThere was no idiomatic way to hide specific tools from the model only while a given skill or slash command was active. Frontmatter can now list
disallowed-toolsto remove those tools for the duration the skill or command is active. -
/reload-skillsandSessionStartreloadSkills: trueSkills installed mid-session — including by
SessionStarthooks — weren’t picked up until you restarted the session./reload-skillsre-scans skill directories on demand, andSessionStarthooks can returnreloadSkills: trueso skills the hook installed become available in the same session. -
SessionStarthookhookSpecificOutput.sessionTitleSessionStarthooks can now set the session title at startup and on resume. -
MessageDisplayhook eventThere was no extension point between the assistant message and the screen. The new
MessageDisplayhook event lets hooks transform or hide assistant message text as it is displayed. -
pluginSuggestionMarketplacesmanaged settingContext-aware plugin suggestion tips could surface plugins from any installed marketplace. Admins can now allowlist marketplaces whose plugins may be suggested via this new managed setting.
-
claude plugin marketplace remove --scope user|project|localmarketplace add,install, anduninstallall accept--scope, butremovedid not, breaking symmetry.removenow takes the same scope option. -
Session-wide switch to
--fallback-modelWhen the primary model is not found, Claude Code previously failed every request. It now switches to your configured
--fallback-modelfor the rest of the session so the workflow keeps going. -
Auto mode no longer requires opt-in consent
The first-use consent gate for Auto mode has been removed.
Improvements
-
/in Vim NORMAL mode opens reverse history searchVim-mode users had to learn a separate key to step backward through prompt history. NORMAL-mode
/now opens reverse history search (like Ctrl+R), matching bash and zsh vi-mode. -
/usagebreakdown includes large session files via streaming readLarge session files were excluded from
/usagebecause of memory concerns, leaving the breakdown incomplete. Files are now scanned with a streaming read so memory stays flat and the breakdown includes them. -
Thinking summaries: min 3s, markdown, 10-line cap
Collapsed thinking summaries vanished too quickly and rendered as plain text. They now stay readable for at least 3 seconds, render as markdown, and cap at 10 lines (Ctrl+O still shows the full thinking).
-
Fullscreen “Thinking for Ns” live counter
In fullscreen the thinking indicator showed once and froze. It now counts up live while the model thinks, and keeps its value if you interrupt mid-thought.
-
Workflow tool inline progress simplified
The Workflow tool’s live agent counts were duplicated across multiple surfaces. They now show only in the persistent workflow status row below the prompt.
-
Post-response timer waits for backgrounded agents and workflows
The post-response timer didn’t account for work still running in the background. It now shows “Waiting for N background agents/workflows to finish” and reports the cumulative time once their results are processed.
-
OTEL
app.entrypointmetric attributeThere was no metric attribute to slice sessions by entrypoint. With
OTEL_METRICS_INCLUDE_ENTRYPOINT=true, metrics now includeapp.entrypoint.
Bug fixes
Plugins & MCP
- Plugin MCP servers with the same command but different environment variables being incorrectly deduplicated — environment variables are now part of the dedup key.
/doctorreporting “marketplace not found” or “plugin not found” for staleenabledPluginsentries referencing removed marketplaces or dropped plugins — stale entries are cleaned up and diagnostics are accurate.- Plugins tracking a git branch silently no longer receiving updates after the plugin registry was rebuilt — tracking is restored.
- Remote MCP servers failing to connect in Claude Code Remote sessions when the egress proxy is enabled — fixed.
Sessions & agents
- Effort-change confirmation dialog appearing on empty conversations or when switching between effort levels that resolve to the same underlying value — only shown for real changes.
- Agent tool description referencing an agent list that is never delivered when running with
--bareor with attachments disabled — the description matches the active mode. - Background worker crash in
claude agentswhen accepting a stale permission prompt after a subagent was cancelled — fixed. - Sessions getting stuck after a model or login switch left stale thinking-block signatures in history — signatures are stripped proactively with a retry safety-net.
Terminal & UI
- Terminal styling degrading in very long sessions — fixed by recycling the renderer’s style pool.
- Sandbox-enabled warning not appearing in condensed startup mode — it now shows in every layout.
- Loading spinner showing “still thinking” / “almost done thinking” while a tool is running — thinking status resets after each tool call.
- Focus mode showing a spurious “N messages hidden” count on turns with no hidden activity — only shown when activity is actually hidden.
- Clicking a link inside an expanded tool result collapsing the section instead of opening the link — the link now opens.
- Markdown table cell borders inheriting the color of inline code, wrapped continuation lines losing their style, and empty header cells showing a label in the narrow-terminal stacked layout — all render correctly.
Telemetry & SDK
cache_creation_input_tokensreporting as 0 in transcript and result usage when the API reports cache writes only via the nestedcache_creationbreakdown — the correct value is reported.- PushNotification tool incorrectly reporting “Mobile push not sent (Remote Control inactive)” in SDK-hosted sessions when Remote Control is enabled — Remote Control state is detected correctly.
Notes
/simplifyis now/code-review --fix: building on the 2.1.147 rename from/simplifyto/code-review, the old name is now an alias that calls the new--fixflag. Beyond reporting correctness bugs, it applies reuse, simplification, and efficiency suggestions to the working tree directly.disallowed-toolsis frontmatter-scoped: it must be declared in the skill or slash-command frontmatter and only takes effect while the skill or command is active. Global tool restrictions are handled separately.SessionStartreloadSkillsenables hot installs: a hook can populate a skill directory and returnreloadSkills: trueso the skill is usable in the same session. No restart needed.pluginSuggestionMarketplacesis a managed setting: not a user toggle. Enterprise admins use it to control which marketplaces’ plugins may be surfaced by context-aware suggestion tips.--fallback-modelswitch behavior: if the primary model disappears (access lost, deprecation, etc.), the session continues on the fallback model instead of failing every request. Costs may differ per model, so verify your fallback choice is appropriate.- Auto mode opt-in removed: the first-use consent gate is gone. Auto mode is usable immediately, including in environments that previously didn’t pass the gate.