Claude Code 2.1.117
Opus 4.7 `/context` now uses the native 1M window, `/model` selections persist across restarts, `/resume` offers to summarize stale large sessions, native builds swap Glob/Grep for bfs/ugrep via Bash, and default effort rises to `high` for Pro/Max.
This article is a summary based on official documentation.
What changed
Claude Code 2.1.117 (April 22, 2026) — Opus 4.7 sessions stop showing inflated /context percentages and autocompacting early: the client now computes against Opus 4.7’s native 1M window instead of 200K. /model selections now persist across restarts, /resume offers to summarize stale, large sessions before re-reading them, macOS and Linux native builds replace Glob/Grep with embedded bfs/ugrep through the Bash tool, and default effort is now high for Pro/Max subscribers on Opus 4.6 and Sonnet 4.6.
New features & improvements
-
Opus 4.7
/contextuses the native 1M windowClaude Code was computing Opus 4.7 context against a 200K window, inflating
/contextpercentages and triggering autocompact too early. It now computes against the model’s native 1M context window. -
/modelselections persist across restartsWhen a project or managed-settings pinned a different model, a user’s
/modelchoice would revert on restart. Selections now persist, and the startup header shows when the active model comes from a project or managed-settings pin. -
/resumesummarize-before-reading for stale large sessions/resumenow offers to summarize stale, large sessions before re-reading them, matching the existing--resumebehavior. -
Native builds: Glob/Grep replaced by
bfs/ugrepvia BashOn macOS and Linux native builds, the
GlobandGreptools are replaced by embeddedbfsandugrepavailable through the Bash tool — faster searches without a separate tool round-trip. Windows and npm-installed builds are unchanged. -
Faster startup with local + claude.ai MCP servers
When both local and claude.ai MCP servers are configured, concurrent connect is now the default, improving startup time.
-
Default effort raised to
highfor Pro/MaxDefault effort for Pro/Max subscribers on Opus 4.6 and Sonnet 4.6 is now
high(wasmedium). -
Forked subagents for external builds
Forked subagents can now be enabled on external builds by setting
CLAUDE_CODE_FORK_SUBAGENT=1. -
Main-thread agents inherit
mcpServersAgent frontmatter
mcpServersare now loaded for main-thread agent sessions via--agent, following thehooks:fix in 2.1.116. -
plugin installtop-ups missing dependenciesplugin installon an already-installed plugin now installs any missing dependencies instead of stopping at “already installed”. -
Clearer plugin dependency errors
Plugin dependency errors now say “not installed” with an install hint, and
claude plugin marketplace addauto-resolves missing dependencies from configured marketplaces. -
Managed-settings plugin policies enforced everywhere
blockedMarketplacesandstrictKnownMarketplacesare now enforced on plugin install, update, refresh, and autoupdate. -
Advisor Tool (experimental) polish
The dialog now carries an “experimental” label, a learn-more link, and a startup notification when enabled. Sessions no longer get stuck with “Advisor tool result content could not be processed” errors on every prompt and
/compact. -
cleanupPeriodDaysretention sweep extendedThe
cleanupPeriodDaysretention sweep now also covers~/.claude/tasks/,~/.claude/shell-snapshots/, and~/.claude/backups/. -
OpenTelemetry enrichment and redaction
user_promptevents now includecommand_nameandcommand_sourcefor slash commands.cost.usage,token.usage,api_request, andapi_errornow include aneffortattribute when the model supports effort levels. Custom and MCP command names are redacted unlessOTEL_LOG_TOOL_DETAILS=1is set. -
Windows
where.execachingPer-process executable lookups are now cached, speeding up subprocess launches on Windows.
Notable fixes
Auth & sessions
- Plain-CLI OAuth sessions dying with “Please run /login” — access tokens are now refreshed reactively on 401 when they expire mid-session.
/loginno-op with expiredCLAUDE_CODE_OAUTH_TOKEN—/loginnow works when launched with that env var and the token later expires.
Models & backends
- Opus 4.7 on Bedrock 400 — Bedrock application-inference-profile requests backed by Opus 4.7 with thinking disabled no longer fail with 400.
- MCP
elicitation/createauto-cancelling in print/SDK mode — requests no longer auto-cancel when the server finishes connecting mid-turn. - SDK
reload_pluginsserial MCP reconnect — user MCP servers now reconnect in parallel. - Subagent malware warning false positive — subagents running a different model than the main agent no longer flag file reads with a malware warning.
Network & tools
WebFetchhanging on very large HTML — input is now truncated before HTML-to-markdown conversion.- Proxy HTTP 204 crash — now surfaces a clear error instead of a
TypeError. NO_PROXYignored under Bun — now respected for remote API requests.
Terminal & input
- Prompt-input
Ctrl+_undo — no longer does nothing immediately after typing, and no longer skips a state on each step. - Spurious escape/return on slow connections — rare mis-triggers when key names arrive as coalesced text are fixed.
Other
- Linux idle re-render loop — background-task presence no longer causes gradual memory growth.
- [VS Code] “Manage Plugins” panel — no longer breaks when multiple large marketplaces are configured.
Notes
- For long Opus 4.7 sessions,
/contextpercentages and autocompact timing will change noticeably. If earlier builds felt like they were compacting too early, that’s the bug this release fixes. - On macOS and Linux native builds, searches now run through Bash’s embedded
bfs/ugrepinstead of the separate Glob/Grep tools. If your.claude/settings.jsonallowlist named Glob/Grep explicitly, verify the Bash rules cover the new path. - Pro/Max default effort rises from
mediumtohighfor Opus 4.6 and Sonnet 4.6; use/effortto dial it down per session if needed.