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.

🔗 Official announcement →

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 /context uses the native 1M window

    Claude Code was computing Opus 4.7 context against a 200K window, inflating /context percentages and triggering autocompact too early. It now computes against the model’s native 1M context window.

  • /model selections persist across restarts

    When a project or managed-settings pinned a different model, a user’s /model choice would revert on restart. Selections now persist, and the startup header shows when the active model comes from a project or managed-settings pin.

  • /resume summarize-before-reading for stale large sessions

    /resume now offers to summarize stale, large sessions before re-reading them, matching the existing --resume behavior.

  • Native builds: Glob/Grep replaced by bfs/ugrep via Bash

    On macOS and Linux native builds, 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 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 high for Pro/Max

    Default effort for Pro/Max subscribers on Opus 4.6 and Sonnet 4.6 is now high (was medium).

  • 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 mcpServers

    Agent frontmatter mcpServers are now loaded for main-thread agent sessions via --agent, following the hooks: fix in 2.1.116.

  • plugin install top-ups missing dependencies

    plugin install on 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 add auto-resolves missing dependencies from configured marketplaces.

  • Managed-settings plugin policies enforced everywhere

    blockedMarketplaces and strictKnownMarketplaces are 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.

  • cleanupPeriodDays retention sweep extended

    The cleanupPeriodDays retention sweep now also covers ~/.claude/tasks/, ~/.claude/shell-snapshots/, and ~/.claude/backups/.

  • OpenTelemetry enrichment and redaction

    user_prompt events now include command_name and command_source for slash commands. cost.usage, token.usage, api_request, and api_error now include an effort attribute when the model supports effort levels. Custom and MCP command names are redacted unless OTEL_LOG_TOOL_DETAILS=1 is set.

  • Windows where.exe caching

    Per-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.
  • /login no-op with expired CLAUDE_CODE_OAUTH_TOKEN/login now 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/create auto-cancelling in print/SDK mode — requests no longer auto-cancel when the server finishes connecting mid-turn.
  • SDK reload_plugins serial 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

  • WebFetch hanging 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_PROXY ignored 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, /context percentages 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/ugrep instead of the separate Glob/Grep tools. If your .claude/settings.json allowlist named Glob/Grep explicitly, verify the Bash rules cover the new path.
  • Pro/Max default effort rises from medium to high for Opus 4.6 and Sonnet 4.6; use /effort to dial it down per session if needed.