
Sign up to save your podcasts
Or


What's new in Claude Code v2.1.118
A meaty release. Vim users finally get visual mode (v) and visual-line mode (V) in the prompt editor. Hooks can now invoke MCP tools directly via a new type: "mcp_tool" action — a real declarative-pipeline unlock. /cost and /stats merge into /usage, and there's a real custom theme system that plugins can ship into. Plus a stricter DISABLE_UPDATES env var, WSL inheriting Windows-side managed settings, an auto-mode $defaults sentinel that fixes a common config footgun, a claude plugin tag command for plugin authors, smarter --continue/--resume for monorepo subprojects, /color sync to Remote Control, and gateway model-name overrides honored by /model.
Vim visual mode (v) and visual-line mode (V) land in the prompt editor
Why: Vim-mode users had motions and operators but no selection primitive, so half of vim's real power was missing from the prompt editor.
What: Adds visual mode (v) and visual-line mode (V) with selection, operators, and visual feedback to the built-in vim editor.
How: Enable vim mode, then press v or V in the prompt editor to start a selection.
/usage merges /cost and /stats
Why: Two overlapping commands for billing and session stats made users hunt for the right one.
What: Merges /cost and /stats into a single /usage command; both old names remain as typing shortcuts that open the relevant tab.
How: Type /usage for the consolidated view; /cost and /stats still work and jump straight to their tab.
Named custom themes plus plugin-shipped themes
Why: Theme customization was limited to a fixed set, and plugin authors couldn't ship branded styling.
What: Adds named custom themes via /theme, hand-editable JSON files in ~/.claude/themes/, and a themes/ directory plugins can ship themes from.
How: Run /theme, create a named theme, or drop JSON into ~/.claude/themes/; plugin authors add a themes/ directory.
Hooks can invoke MCP tools directly
Why: Hooks wanting to call an MCP tool had to shell out to a command or HTTP request, breaking declarative hook config.
What: Adds a new hook action type: "mcp_tool" that invokes an MCP tool directly from a hook definition.
How: In your hook config, set type: "mcp_tool" with the target server and tool name.
DISABLE_UPDATES env var blocks all update paths
Why: DISABLE_AUTOUPDATER stopped background updates but claude update could still run, leaving change-controlled environments exposed.
What: Adds a new DISABLE_UPDATES env var that blocks all update paths including manual claude update.
How: export DISABLE_UPDATES=1 in your shell profile or deployment environment.
WSL inherits Windows-side managed settings
Why: Enterprise admins had to apply managed settings twice — once for Windows, once for each WSL distro — doubling policy drift risk.
What: Adds wslInheritsWindowsSettings policy key so WSL on Windows can inherit Windows-side managed settings.
How: Set wslInheritsWindowsSettings: true in the managed-settings policy.
Auto mode $defaults sentinel
Why: Adding a single custom rule to autoMode.allow/soft_deny/environment silently replaced the entire built-in list — a common footgun.
What: Adds a "$defaults" sentinel you can include in autoMode.allow, autoMode.soft_deny, or autoMode.environment to preserve the built-in list alongside your custom rules.
How: Include "$defaults" in the array to keep built-ins; omit it to replace them.
"Don't ask again" on the auto mode opt-in prompt
Why: Users re-approving auto mode on every launch got prompt fatigue.
What: Adds a "Don't ask again" option to the auto mode opt-in prompt.
How: Check "Don't ask again" when prompted.
claude plugin tag for plugin authors
Why: Plugin authors had to create release tags manually, and version validation was ad-hoc.
What: Adds claude plugin tag which creates release git tags for plugins with version validation.
How: Run claude plugin tag in the plugin directory.
--continue / --resume finds sessions added via /add-dir
Why: Monorepo users pulling subprojects with /add-dir couldn't resume those sessions from elsewhere in the tree.
What: --continue and --resume now find sessions that added the current directory via /add-dir, not only sessions natively rooted there.
How: claude --continue or claude --resume from any directory that was added to a prior session via /add-dir.
/color syncs accent color to Remote Control
Why: Remote Control sessions on mobile/web didn't match the accent color set in the terminal.
What: /color now syncs the session accent color to claude.ai/code when Remote Control is connected.
How: Run /color in a Remote Control-connected session; the color propagates to the web/mobile view.
/model picker honors gateway default overrides
Why: Enterprise users on a custom ANTHROPIC_BASE_URL gateway had the default model names/descriptions show as upstream defaults instead of their overrides.
What: /model picker now honors ANTHROPIC_DEFAULT_*_MODEL_NAME and ANTHROPIC_DEFAULT_*_MODEL_DESCRIPTION overrides when using a custom ANTHROPIC_BASE_URL.
How: Set the env vars alongside ANTHROPIC_BASE_URL; /model reflects them.
Plugin auto-update skips surface in /doctor and /plugin Errors
Why: When auto-update skipped a plugin because another plugin's version constraint blocked it, users had no way to see what got held back.
What: When auto-update skips a plugin due to another plugin's version constraint, the skip now appears in /doctor and the /plugin Errors tab.
How: Check /doctor or the /plugin Errors tab to see skip reasons.
Hosts: Alex Chen & Sarah Kim · Generated from the official Claude Code CHANGELOG.
Full changelog: github.com/anthropics/claude-code/CHANGELOG.md
Claude Code docs: code.claude.com/docs
By AndreiWhat's new in Claude Code v2.1.118
A meaty release. Vim users finally get visual mode (v) and visual-line mode (V) in the prompt editor. Hooks can now invoke MCP tools directly via a new type: "mcp_tool" action — a real declarative-pipeline unlock. /cost and /stats merge into /usage, and there's a real custom theme system that plugins can ship into. Plus a stricter DISABLE_UPDATES env var, WSL inheriting Windows-side managed settings, an auto-mode $defaults sentinel that fixes a common config footgun, a claude plugin tag command for plugin authors, smarter --continue/--resume for monorepo subprojects, /color sync to Remote Control, and gateway model-name overrides honored by /model.
Vim visual mode (v) and visual-line mode (V) land in the prompt editor
Why: Vim-mode users had motions and operators but no selection primitive, so half of vim's real power was missing from the prompt editor.
What: Adds visual mode (v) and visual-line mode (V) with selection, operators, and visual feedback to the built-in vim editor.
How: Enable vim mode, then press v or V in the prompt editor to start a selection.
/usage merges /cost and /stats
Why: Two overlapping commands for billing and session stats made users hunt for the right one.
What: Merges /cost and /stats into a single /usage command; both old names remain as typing shortcuts that open the relevant tab.
How: Type /usage for the consolidated view; /cost and /stats still work and jump straight to their tab.
Named custom themes plus plugin-shipped themes
Why: Theme customization was limited to a fixed set, and plugin authors couldn't ship branded styling.
What: Adds named custom themes via /theme, hand-editable JSON files in ~/.claude/themes/, and a themes/ directory plugins can ship themes from.
How: Run /theme, create a named theme, or drop JSON into ~/.claude/themes/; plugin authors add a themes/ directory.
Hooks can invoke MCP tools directly
Why: Hooks wanting to call an MCP tool had to shell out to a command or HTTP request, breaking declarative hook config.
What: Adds a new hook action type: "mcp_tool" that invokes an MCP tool directly from a hook definition.
How: In your hook config, set type: "mcp_tool" with the target server and tool name.
DISABLE_UPDATES env var blocks all update paths
Why: DISABLE_AUTOUPDATER stopped background updates but claude update could still run, leaving change-controlled environments exposed.
What: Adds a new DISABLE_UPDATES env var that blocks all update paths including manual claude update.
How: export DISABLE_UPDATES=1 in your shell profile or deployment environment.
WSL inherits Windows-side managed settings
Why: Enterprise admins had to apply managed settings twice — once for Windows, once for each WSL distro — doubling policy drift risk.
What: Adds wslInheritsWindowsSettings policy key so WSL on Windows can inherit Windows-side managed settings.
How: Set wslInheritsWindowsSettings: true in the managed-settings policy.
Auto mode $defaults sentinel
Why: Adding a single custom rule to autoMode.allow/soft_deny/environment silently replaced the entire built-in list — a common footgun.
What: Adds a "$defaults" sentinel you can include in autoMode.allow, autoMode.soft_deny, or autoMode.environment to preserve the built-in list alongside your custom rules.
How: Include "$defaults" in the array to keep built-ins; omit it to replace them.
"Don't ask again" on the auto mode opt-in prompt
Why: Users re-approving auto mode on every launch got prompt fatigue.
What: Adds a "Don't ask again" option to the auto mode opt-in prompt.
How: Check "Don't ask again" when prompted.
claude plugin tag for plugin authors
Why: Plugin authors had to create release tags manually, and version validation was ad-hoc.
What: Adds claude plugin tag which creates release git tags for plugins with version validation.
How: Run claude plugin tag in the plugin directory.
--continue / --resume finds sessions added via /add-dir
Why: Monorepo users pulling subprojects with /add-dir couldn't resume those sessions from elsewhere in the tree.
What: --continue and --resume now find sessions that added the current directory via /add-dir, not only sessions natively rooted there.
How: claude --continue or claude --resume from any directory that was added to a prior session via /add-dir.
/color syncs accent color to Remote Control
Why: Remote Control sessions on mobile/web didn't match the accent color set in the terminal.
What: /color now syncs the session accent color to claude.ai/code when Remote Control is connected.
How: Run /color in a Remote Control-connected session; the color propagates to the web/mobile view.
/model picker honors gateway default overrides
Why: Enterprise users on a custom ANTHROPIC_BASE_URL gateway had the default model names/descriptions show as upstream defaults instead of their overrides.
What: /model picker now honors ANTHROPIC_DEFAULT_*_MODEL_NAME and ANTHROPIC_DEFAULT_*_MODEL_DESCRIPTION overrides when using a custom ANTHROPIC_BASE_URL.
How: Set the env vars alongside ANTHROPIC_BASE_URL; /model reflects them.
Plugin auto-update skips surface in /doctor and /plugin Errors
Why: When auto-update skipped a plugin because another plugin's version constraint blocked it, users had no way to see what got held back.
What: When auto-update skips a plugin due to another plugin's version constraint, the skip now appears in /doctor and the /plugin Errors tab.
How: Check /doctor or the /plugin Errors tab to see skip reasons.
Hosts: Alex Chen & Sarah Kim · Generated from the official Claude Code CHANGELOG.
Full changelog: github.com/anthropics/claude-code/CHANGELOG.md
Claude Code docs: code.claude.com/docs