---
title: "Claude Code v2.1.238: Fixes Memory Leak in Long Sessions, Adds Plugin headersHelper and Runner Proxy Auth"
source: "Claude Code：GitHub Releases（RSS）"
source_tier: "t1_5"
url: "https://github.com/anthropics/claude-code/releases/tag/v2.1.238"
permalink: "https://feed.astralor.com/items/itm_dd949f3e0d3dd50c57d84d02"
published: "2026-08-20T20:33:51.000Z"
score: 80
channel: "ai"
tags: ["Anthropic","Claude Code","MCP","Remote Control","Plugin Marketplace","Self-hosted Runner"]
---

# Claude Code v2.1.238: Fixes Memory Leak in Long Sessions, Adds Plugin headersHelper and Runner Proxy Auth

## AI commentary

> This patch looks granular, but the unbounded memory growth fix and Remote Control 403 resilience hit real production pain points—team operators should prioritize upgrading. For individual developers, the new keybindingFlavor and faster macOS startup are clear quality-of-life wins.

## At a glance

Claude Code v2.1.238 ships with a new keybindingFlavor setting for readline-style Ctrl+W deletion, plugin marketplaces supporting headersHelper to mint short-lived HTTP headers, and self-hosted runner flags for deferred shutdown and proxy authorization. This patch fixes unbounded memory growth in long interactive sessions, Remote Control disconnection and 403 resilience, MCP initialization ordering, and prompt display clipping. Security hardening now requires folder trust for MCP headersHelper helpers. Startup is faster on macOS. A notable change: fullscreen Ctrl+L/Cmd+K now only repaints, removing the double-press clear shortcut.

## Key points

- Added keybindingFlavor setting for Bash-style Ctrl+W whitespace deletion; fullscreen Ctrl+L/Cmd+K now only repaints, removing the double-press clear shortcut
- Plugin marketplaces support headersHelper to mint short-lived HTTP headers; self-hosted runners gain --defer-shutdown-max-min and proxy authorization command/file flags
- Fixed unbounded memory growth in long sessions, Remote Control disconnection/403 tolerance, MCP initialization ordering, and other stability issues
- MCP headersHelper now requires folder trust and no longer inherits credential env vars, raising the security bar

## Full text

What's changed Added a keybindingFlavor setting: set it to "readline" to make Ctrl+W in the prompt delete back to the previous whitespace, as in Bash; the default ("classic") is unchanged Plugin marketplaces: headersHelper on a url marketplace or a catalog entry runs a command that mints HTTP headers (e.g. a short-lived token) for catalog and same-origin archive fetches A catalog entry's headersHelper runs only when you install or update that plugin, after its command is shown; claude plugin install/update ask [y/N] (or pass -y) Added claude self-hosted-runner --defer-shutdown-max-min <minutes>: on SIGTERM, keep serving attached sessions, park what is left after that many minutes, then exit Added claude self-hosted-runner --proxy-authorization-command / --proxy-authorization-file for egress proxies that require a freshly issued Proxy-Authorization header on every connection Fixed unbounded memory growth in long interactive sessions: subagent tool results are now released once they leave the recent display window Fixed custom, project, and plugin output styles drifting back to the default voice mid-session Fixed CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=true not keeping prompt suggestions on when your account is near, but not over, its usage limit Fixed worktree-isolation Bash refusals telling you to remove a redirect when the command had none Fixed self-hosted runners occasionally being removed by the server after a single slow or lost poll request, handing their healthy session to another runner Fixed MCP elicitation dialogs showing nothing for URLs longer than 4,096 characters, and permission prompts dropping the "don't ask again" option when the project path didn't fit the terminal width Fixed leftover /tmp/claude-*-cwd files when a Bash command is killed, times out, or is interrupted Fixed held Backspace being ignored on terminals that send Ctrl+H for Backspace when keystrokes arrive in large bursts (slow SSH/mosh links) Fixed text-wrapping in permission prompt diffs: lines containing wide multi-code-point characters (such as emoji) or tabs are no longer clipped Fixed killing a suspended (Ctrl+Z) session sometimes leaving the terminal in bracketed-paste mode with the cursor hidden Fixed stdio MCP servers receiving a server/discover request before initialize, forcing lazy servers to start their backend on every session open Fixed a proxy's refusal of a connection being reported as a generic network error instead of naming the proxy Fixed the /model and /effort cache-miss warning appearing when the prompt cache had already expired Fixed per-task Stop from the Remote Control tasks panel doing nothing on CLI-hosted sessions Fixed remote sessions exiting when a client delivered a user message without a valid role Fixed Remote Control sessions started by claude remote-control inheriting session-scoped environment variables from the launching shell Fixed a Remote Control session whose process crashed staying unavailable until claude remote-control was restarted; it can now be reused when you next message it Fixed Remote Control messages sent from the web or Desktop while Claude is mid-turn disappearing from the transcript after the turn finishes Fixed Remote Control model picks made on a phone or web not updating the model shown in the terminal Fixed Remote Control disconnecting with "login expired" when a brief network hiccup delays renewing your sign-in; it now retries and stays connected Fixed Remote Control reporting a failed reconnect on sign-out; signing out now ends the session with a clear message Fixed ListAgents/SendMessage reporting "Remote Control is not connected" in sessions run by claude remote-control (server mode) or Desktop/IDE hosts; they now list and reach Remote Control peers Fixed ListAgents and SendMessage exposing the idle worker that the agent view pre-warms for your next background session; it now appears only once a task claims it Cross-session messaging: sending to a session on this machine that refuses inbound messages (e.g. crossSessionInbound: "refuse") now reports "refused" to the sender instead of a silent success Cross-session messaging: a session whose inbox drops your messages (rate limit or full queue) now tells your session, instead of the messages vanishing silently Improved startup: bare claude starts sooner on macOS Improved Bash tool permission checking for zsh-specific syntax in shell conditionals Improved Remote Control connection resilience: brief HTTP 403 refusals from a network edge, VPN, or proxy are now tolerated for up to 3 minutes, with the refusing party named when a block persists Improved startup responsiveness: the automatic update check now runs about 10 seconds after launch instead of competing with startup for CPU Updated the bundled claude-api skill for the Managed Agents Aug 19 release: web search/fetch domain settings and memory stores on self-hosted sandboxes Changed Ctrl+L and Cmd+K in fullscreen to always just repaint — the double-press /clear shortcut was removed, and 1-row nvim terminals no longer trigger automatic /clear loops Changed claude mcp list and claude mcp get to show disabled servers as ⊘ Disabled instead of connecting to them for a health check MCP headersHelper in a project .mcp.json, and inline MCP servers in project or --add-dir agent files, now require that folder's trust dialog to have been accepted (also under claude -p) MCP headersHelper from a project .mcp.json, plugin, or agent file runs without inherited credential env vars; user, managed and claude.ai-scope helpers now run from the Claude config dir

---

Verify against the original before citing; curated by Astral Feed: https://feed.astralor.com/items/itm_dd949f3e0d3dd50c57d84d02
