Claude Code v2.1.121: MCP alwaysLoad, plugin prune, terminal scroll fixes, and memory leak patches

Anthropic shipped Claude Code v2.1.121 with a solid batch of practical improvements for daily use. Here's what's worth knowing.
MCP: alwaysLoad and hook output replacement
MCP server configs now support alwaysLoad. When set to true, all tools from that server skip the usual tool-search deferral and stay available at all times — no more lazy loading delays for frequently used tool sets.
PostToolUse hooks can now replace tool output for any tool via hookSpecificOutput.updatedToolOutput. Previously this was MCP-only; now it works across all tools.
Plugin management: claude plugin prune
Added claude plugin prune to remove orphaned auto-installed plugin dependencies. Running plugin uninstall --prune cascades cleanup. Handy for keeping the plugin directory tidy.
/skills search and dialog scroll improvements
The /skills command now includes a type-to-filter search box — no more scrolling through long lists. Dialogs that overflow the terminal are now scrollable with arrow keys, PgUp/PgDn, home/end, and mouse wheel in both fullscreen and non-fullscreen modes.
Fullscreen mode also fixed a long-standing annoyance: typing into the prompt no longer jumps the scroll back to the bottom if you've scrolled up to read earlier output. Clicking any line of a long URL that wraps across rows in fullscreen mode now opens the full URL.
SDK and non-interactive improvements
CLAUDE_CODE_FORK_SUBAGENT=1 now works in non-interactive sessions (SDK and claude -p). The mcp_authenticate SDK method now supports redirectUri for custom scheme completion and claude.ai connectors.
Permissions, terminal setup, and retries
--dangerously-skip-permissions no longer prompts for writes to .claude/skills/, .claude/agents/, and .claude/commands/. /terminal-setup now enables iTerm2's clipboard-access setting so /copy works, including from tmux. MCP servers that hit transient errors during startup now auto-retry up to 3 times.
Memory leak fixes
Several important memory issues addressed:
- Fixed unbounded memory growth (multi-GB RSS) when processing many images in a session
- Fixed
/usageleaking up to ~2GB on machines with large transcript histories - Fixed memory leak when long-running tools fail to emit a clear progress event
- Fixed Bash tool becoming permanently unusable when the starting directory is deleted or moved mid-session
- Fixed embedded grep/find/rg shell wrappers failing when the binary is deleted mid-session — now falls back to installed tools
- Reduced peak file descriptor usage during
findin the Bash tool on large directory trees
Other notable fixes
--resumecrashing on startup in external builds fixed; large sessions with corrupted transcript lines now skip the corrupt line- Fixed
thinking.type.enabled is not supportederror with Bedrock application inference profile ARNs - Fixed Microsoft 365 MCP OAuth failing with duplicate or unsupported
promptparameter - Fixed scrollback duplication on Ctrl+L in non-fullscreen mode on tmux, GNOME Terminal, Windows Terminal, and Konsole
- Fixed
NO_PROXYnot respected for all HTTP clients when set viamanaged-settings.json - Fixed
/usagereturning "rate limited" after a stale OAuth token — now auto-refreshes - Fixed
/focusshowing "Unknown command" when fullscreen renderer is off — now explains how to enable it
OpenTelemetry and Vertex AI
LLM request spans now include stop_reason, gen_ai.response.finish_reasons, and user_system_prompt (gated behind OTEL_LOG_USER_PROMPTS). Vertex AI adds support for X.509 certificate-based Workload Identity Federation (mTLS ADC).
📖 Read the full source: GitHub Claude-Code
👀 See Also

Claude AI Shows Repetition Bug with 'Sketcher' Term in QGIS Workflow
A user reported Claude AI repeatedly outputting the word 'sketcher' when providing QGIS guidance for aligning DXF files, suggesting a potential model bug with specific terms. The source includes practical QGIS workflow details for coordinate system alignment.

Claude's policy filter blocks bioinformatics work with pathogen names
A computational virology researcher reports Claude's usage policy filter flags legitimate bioinformatics scripts when pathogens are named, requiring workarounds like describing tasks without organism names or downgrading to Sonnet 4. The issue affects Claude Code, claude.ai, and both Opus 4.6 and Sonnet 4.6 models.

Claude Code v2.1.83 adds managed settings fragments, transcript search, and security improvements
Claude Code v2.1.83 introduces a managed-settings.d/ directory for team policy fragments, transcript search with / and n/N navigation, and CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 to strip credentials from subprocess environments. The release also includes CwdChanged/FileChanged hooks, sandbox.failIfUnavailable setting, and fixes for macOS exit hangs, UI freezes, and memory leaks.

RTX 4090 vs H100 for Fine-Tuning Llama-3-8B: A Cost-Performance Comparison
A developer tested fine-tuning Llama-3-8B on both an RTX 4090 and rented H100 instances. The 4090 setup cost $2,000 upfront and took 24 hours, while H100 rental cost about $80 and completed in 4 hours.