Skip to content

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 / Grep with bfs / 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.

Agentic coding scores per effort level for Opus 4.7 and Opus 4.6

Three factors are called out as the main causes.

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

Claude Code's "We recommend medium effort for Opus" startup banner

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.

Intended vs actual handling of thinking after an idle resume

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.

https://www.anthropic.com/engineering/april-23-postmortem
www.anthropic.com

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.

Pricing comparison table showing Claude Code restricted to Max only

Anthropic followed up with a statement that existing Pro subscribers would not be affected.

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.

Is Claude Code going to cost $100/month? Probably not—it’s all very confusing
Anthropic today quietly (as in silently, no announcement anywhere at all) updated their claude.com/pricing page (but not their Choosing a Claude plan page, which shows up first for me on …
simonwillison.net

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.

Project Deal: our Claude-run marketplace experiment | Anthropic
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.
www.anthropic.com

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.

Scaling Managed Agents: Decoupling the brain from the hands
Anthropic is an AI safety and research company that's working to build reliable, interpretable, and steerable AI systems.
www.anthropic.com

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.

Code execution with MCP: building more efficient AI agents
Learn how code execution with the Model Context Protocol enables agents to handle more tools while using fewer tokens, reducing context overhead by up to 98.7%.
www.anthropic.com

Claude Code Changelog

v2.1.116 (24 changes)

v2.1.116

Faster MCP / plugin startup

Faster MCP startup when multiple stdio servers are configured; resources/templates/list is 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-plugins and 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-setup now 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/rmdir targeting /, $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)

v2.1.117

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 Glob and Grep tools are replaced by embedded bfs and ugrep available 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.

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 (was medium)

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 /resume command now offers to summarize stale, large sessions before re-reading them, matching the existing --resume behavior

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 install on 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, and claude plugin marketplace add now 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)

v2.1.118

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 /cost and /stats into /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 a themes/ 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.

Claude Code settings - Claude Code Docs
Configure Claude Code with global and project-level settings, and environment variables.
code.claude.com

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.

Hooks reference - Claude Code Docs
Reference for Claude Code hook events, configuration schema, JSON input/output formats, exit codes, async hooks, HTTP hooks, prompt hooks, and MCP tool hooks.
code.claude.com

DISABLE_UPDATES environment variable

Added DISABLE_UPDATES env var to completely block all update paths including manual claude update. Stricter than DISABLE_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" in autoMode.allow, autoMode.soft_deny, or autoMode.environment to 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 tag to 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)

v2.1.119

/config settings persisted and joining the precedence chain

/config settings (theme, editor mode, verbose, etc.) now persist to ~/.claude/settings.json and 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.

Claude Code settings - Claude Code Docs
Configure Claude Code with global and project-level settings, and environment variables.
code.claude.com

Added prUrlTemplate setting 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-pr now 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_CWD environment 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: PostToolUse and PostToolUseFailure hook inputs now include duration_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.

Hooks reference - Claude Code Docs
Reference for Claude Code hook events, configuration schema, JSON input/output formats, exit codes, async hooks, HTTP hooks, prompt hooks, and MCP tool hooks.
code.claude.com

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.

cl update downgrading from 2.1.120 to 2.1.119, with the CHANGELOG diff that removed the 2.1.120 section

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.

chore: Update CHANGELOG.md · anthropics/claude-code@7e93645
github.com

Closing

Thank you for reading!

claude-code/CHANGELOG.md at main · anthropics/claude-code
Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflo...
github.com