Claude Code Weekly Updates (2.1.116 - 2.1.119)
Here are the Claude Code changes from April 20 to April 26, 2026 that caught my attention.
TL;DR
version: 2.1.116 -> 2.1.119 (Changes: 137)
Important topics:
- Native builds replace
Glob/Grepwithbfs/ugrep - Anthropic’s official postmortem on the Claude Code quality regression
- Hooks can invoke MCP tools directly
Claude Code Topics
Root cause of the Claude Code quality regression
Around March, complaints about Claude Code’s quality dropping were spreading on Twitter. Anthropic has now shared an investigation into what caused it. The headline conclusion is that the regression was not the model itself: it came from configuration changes and bugs on the Claude Code and Agent SDK harness side.

Three factors are called out as the main causes.
- The default Claude Code Thinking Effort had been changed from high to medium
- A cache-optimization bug cleared past reasoning on every turn instead of just once
- The
/contextcalculation for Opus 4.7 was using a 200K window, so autocompact fired before reaching the actual 1M context

The second one (the cache-optimization bug) is non-obvious in its behavior: after a /resume, every subsequent turn kept clearing thinking. The intended versus actual behavior is much easier to grasp visually.

The third issue (the /context miscalculation) was already fixed in v2.1.117 (CHANGELOG: Fixed Opus 4.7 sessions showing inflated /context percentages and autocompacting too early). For the first one (the effort default), v2.1.117 also rolled the Pro / Max default for Opus 4.6 / Sonnet 4.6 back to high.
The postmortem also calls out a third factor related to this regression: a verbosity-suppressing system prompt added on April 16 had a side effect of reducing coding quality, so it was reverted on April 20. As of April 23, Anthropic also reset usage limits (5-hour and weekly caps) for affected users.
The takeaway “the model didn’t get worse, the harness had bugs” is reassuring. Practical mitigations on your side are to either explicitly raise /effort or to keep up with the latest releases.
Claude Code briefly removed from the Pro $20 plan
Claude Code disappeared from the Free / Pro rows on the official pricing page, leaving it visible only on Max 5x / Max 20x. This kicked off a heated “Has Claude Code been removed from the $20 Pro plan?” debate on X.

Anthropic followed up with a statement that existing Pro subscribers would not be affected.
For clarity, we're running a small test on ~2% of new prosumer signups. Existing Pro and Max subscribers aren't affected.
Anthropic just pulled Claude Code from the Pro plan. Pro users wanting it need Max now. $100/month minimum. 5x jump. I'm on Max 20x so I'm fine. Flagging for anyone on Pro who's about to find out. No announcement. Just a pricing page edit.
The pricing page and support documents were later reverted to their original state (Pro can use Claude Code). According to Anthropic’s Head of Growth Amol Avasare, this was a small test targeting 2% of new prosumer signups, and that test is still ongoing under the hood. Simon Willison wrote up a useful timeline of the whole situation, and his piece is the easiest way to get the full picture.
Personally, I think keeping flat-rate plans viable gets harder as the user base grows, and a real rollback like this one is something that could very well happen for keeps.
Other Topics
Project Deal: Anthropic’s internal SF-office marketplace experiment
Anthropic ran a research experiment called Project Deal: a marketplace inside their San Francisco office, with 69 employees participating, where Claude acted as everyone’s agent and handled all the buying, selling, and negotiation on their behalf.
The interesting angle is the implication for AI-agent economics: when both sides delegate to agents, the gap in model capability between buyer and seller turns directly into a negotiation gap. The experiment shows this in microcosm. Run A and Run D used Opus 4.5 across the board, while Run B and Run C mixed Haiku 4.5 and Opus 4.5 50:50 among participants. Per-item, Opus-represented sellers earned about $2.68 more on average and buyers saved about $2.45, with Opus users completing roughly 2.07 more deals overall.
New Anthropic research: Project Deal. We created a marketplace for employees in our San Francisco office, with one big twist. We tasked Claude with buying, selling and negotiating on our colleagues’ behalf.
Anthropic’s articles on MCP for production agents
Anthropic published a write-up on how production agents should use MCP. It walks through the characteristics of API calls, CLIs, and MCP, then makes the case that as cloud-hosted agents become the norm, MCP is what fills the gap, and that combining MCP with Skills (and layering them well) is what matters.
In a world where cloud agents are the default, local-only CLI tools cannot reach things like authenticated SaaS or internal infrastructure, and that’s exactly where MCP fits. The Anthropic Engineering “Scaling Managed Agents” post goes a step further into a Session / Harness / Sandbox three-layer separation, and notes that Claude Code itself shares the same harness engine as Managed Agents.
Alongside that, “Code execution with MCP” was published the same week, focused on combining MCP with code execution for token efficiency. By presenting MCP tools as APIs you call from code, the article reports a 98.7% reduction in token usage compared to pre-loading all tool definitions into context.
Claude Code Changelog
v2.1.116 (24 changes)

Faster MCP / plugin startup
Faster MCP startup when multiple stdio servers are configured;
resources/templates/listis now deferred to first@-mention
Startup is faster on setups with multiple stdio MCP servers, and the initial resources/templates/list fetch is now deferred until the first @ mention. A direct improvement for the “MCP servers make startup heavy” problem.
/reload-pluginsand background plugin auto-update now auto-install missing plugin dependencies from marketplaces you’ve already added
/reload-plugins and background auto-update now auto-install missing plugin dependencies from marketplaces you have already added.
Smoother fullscreen scrolling
Smoother fullscreen scrolling in VS Code, Cursor, and Windsurf terminals.
/terminal-setupnow configures the editor’s scroll sensitivity
Fullscreen scrolling is smoother in VS Code / Cursor / Windsurf terminals, and /terminal-setup now configures the editor-side scroll sensitivity.
Tighter sandbox safety
Security: sandbox auto-allow no longer bypasses the dangerous-path safety check for
rm/rmdirtargeting/,$HOME, or other critical system directories
Sandbox auto-allow no longer skips the dangerous-path check for rm / rmdir against /, $HOME, or other critical system directories. The precedence between auto-allow and the dangerous-path check is now explicit.
v2.1.117 (28 changes)

This is the version where the native-binary work (v2.1.113) starts paying off at the tool level. The headline change is that Glob / Grep are replaced wholesale by embedded bfs / ugrep. The same release also rolls the Pro / Max default effort back from medium to high, addressing one of the factors called out in the quality-regression postmortem.
Native builds swap Glob / Grep for bfs / ugrep
Native builds on macOS and Linux: the
GlobandGreptools are replaced by embeddedbfsandugrepavailable through the Bash tool, faster searches without a separate tool round-trip (Windows and npm-installed builds unchanged)
On macOS / Linux native builds, the Glob and Grep tools are replaced by embedded bfs and ugrep reachable through the Bash tool. Removing the dedicated tool round-trip makes searches noticeably faster.
This only applies to the native-binary build. Windows and npm-installed builds continue to use Glob / Grep as before. The architectural shift from npm distribution to a CLI native-binary distribution (v2.1.113) is now visibly benefiting the tool layer too.
This is the post that surfaced the change publicly.
After 2.1.117, you may notice that Claude doesn't call its Grep or Glob Tool anymore. YES!!! It only took four months. It's faster than ever and it's all Bash. It's so much harder to take things away than to add them. Enjoy.
Pro / Max default effort for Opus 4.6 / Sonnet 4.6 back to high
Default effort for Pro/Max subscribers on Opus 4.6 and Sonnet 4.6 is now
high(wasmedium)
The Pro / Max default effort for Opus 4.6 / Sonnet 4.6 has been rolled back from medium to high. For users who never set /effort explicitly, reasoning quality changes the moment they upgrade to this version.
/resume summarizes large stale sessions before reloading
The
/resumecommand now offers to summarize stale, large sessions before re-reading them, matching the existing--resumebehavior
For large, stale sessions, /resume now offers to summarize them before reloading. The interactive side now matches the behavior --resume already had.
Stronger plugin install dependency resolution
plugin installon an already-installed plugin now installs any missing dependencies instead of stopping at “already installed” Plugin dependency errors now say “not installed” with an install hint, andclaude plugin marketplace addnow auto-resolves missing dependencies from configured marketplaces
plugin install now back-fills missing dependencies for already-installed plugins, and claude plugin marketplace add auto-resolves missing dependencies from your configured marketplaces.
v2.1.118 (34 changes)

Vim visual mode (v / V) added
Added vim visual mode (
v) and visual-line mode (V) with selection, operators, and visual feedback
A proper visual mode (v) and visual-line mode (V) have landed in Vim mode, with selection highlighting, operator application, and visual feedback. Typical Vim flows like v + motion + d/y/c now work directly in the prompt input. For users who have been editing Claude Code input the Vim way, this is the version where it finally feels like “actual Vim.”
/cost and /stats merged into /usage
Merged
/costand/statsinto/usage. Both remain as typing shortcuts that open the relevant tab
/cost and /stats are now part of /usage, with the old commands kept as typing shortcuts that open the matching tab. Pricing and session stats live in one window, and the command surface is easier to remember.
Named custom themes
Create and switch between named custom themes from
/theme, or hand-edit JSON files in~/.claude/themes/; plugins can also ship themes via athemes/directory
You can now create and switch between named custom themes from /theme. The JSON files under ~/.claude/themes/ can be edited by hand, and plugins can ship themes through a themes/ directory. The theme JSON has a name / id / author / colors shape, with color values written as either rgb(r,g,b) or ansi:<name>. Color keys include autoAccept, bashBorder, claude, permission, planMode, text, background, and others.
Hooks can now invoke MCP tools directly
Hooks can now invoke MCP tools directly via
type: "mcp_tool"
Setting type: "mcp_tool" in a hook lets it call MCP tools directly. You no longer need a shell command wrapper to fire MCP tools on hook events, which simplifies the automation stack.
DISABLE_UPDATES environment variable
Added
DISABLE_UPDATESenv var to completely block all update paths including manualclaude update. Stricter thanDISABLE_AUTOUPDATER
DISABLE_UPDATES blocks every update path, including a manual claude update. It is stricter than DISABLE_AUTOUPDATER.
Auto mode "$defaults" augmentation
Auto mode: include
"$defaults"inautoMode.allow,autoMode.soft_deny, orautoMode.environmentto add custom rules alongside the built-in list instead of replacing it
Putting "$defaults" into autoMode.allow / soft_deny / environment makes your custom rules add to the built-in list instead of replacing it. The “keep the built-ins, just add my rules on top” use case for Auto mode is now easy to express.
claude plugin tag for release tagging
Added
claude plugin tagto create release git tags for plugins with version validation
claude plugin tag creates release git tags for plugins, with version-consistency validation built in.
v2.1.119 (51 changes)

/config settings persisted and joining the precedence chain
/configsettings (theme, editor mode, verbose, etc.) now persist to~/.claude/settings.jsonand participate in project/local/policy override precedence
The theme, editor mode, verbose, and similar settings changed via /config now persist to ~/.claude/settings.json and participate in the project / local / policy override precedence. Settings that used to live only inside a session can now travel across restarts and machines.
A specific bug (“verbose output setting disappears after restart”) is also fixed in this release, so the persistence and behavior are now aligned. The full precedence chain (managed → project → local → user) and combinations with things like apiKeyHelper are documented in the official Settings reference.
prUrlTemplate for redirecting the footer PR badge
Added
prUrlTemplatesetting to point the footer PR badge at a custom code-review URL instead of github.com
With prUrlTemplate, the footer PR badge can point at a code-review URL other than github.com (an internal review tool, for example). The owner/repo#N shorthand links also now use the host of your git remote.
--from-pr accepts GitLab / Bitbucket / GHE
--from-prnow accepts GitLab merge-request, Bitbucket pull-request, and GitHub Enterprise PR URLs
--from-pr now accepts GitLab merge-request, Bitbucket pull-request, and GitHub Enterprise PR URLs. PR-based session startup works on hosts other than GitHub.com.
CLAUDE_CODE_HIDE_CWD environment variable
Added
CLAUDE_CODE_HIDE_CWDenvironment variable to hide the working directory in the startup logo
CLAUDE_CODE_HIDE_CWD hides the working-directory line in the startup logo. Useful for screen recordings or demos where you don’t want path information leaking.
PowerShell tool auto-approve
PowerShell tool commands can now be auto-approved in permission mode, matching Bash behavior
PowerShell tool commands can be auto-approved in permission mode, matching Bash. Day-to-day operation on Windows becomes a notch more practical.
duration_ms on PostToolUse hooks
Hooks:
PostToolUseandPostToolUseFailurehook inputs now includeduration_ms(tool execution time, excluding permission prompts and PreToolUse hooks)
PostToolUse and PostToolUseFailure hook inputs now include duration_ms (tool execution time, excluding permission prompts and PreToolUse hooks). Writing observability or performance-monitoring hooks gets noticeably easier. The Hooks reference lists every input field (tool_input, tool_response, duration_ms, etc.) and the firing conditions of PostToolUseFailure.
Aside: the Claude Code 2.1.120 release rollback
v2.1.120 was released over the weekend, complete with a CHANGELOG entry, but the entire CHANGELOG entry was later reverted on GitHub. On the CLI side, running claude update produced a 2.1.120 -> 2.1.119 downgrade.

The reverted CHANGELOG entries included quite a lot: dropping the Git for Windows (Git Bash) requirement on Windows, a new claude ultrareview [target] subcommand, Skills referring to ${CLAUDE_EFFORT}, traffic attribution via the AI_AGENT environment variable, and others. A re-release may skip the version number, so if claude update puts you back on 119, the safe bet is to wait for the next release.
The revert commit on GitHub is below.
Closing
Thank you for reading!