Claude Code 2.1.238 stops memory growth in long sessions

The August 20 release fixes what got in the way during long stretches of work rather than adding features. Tool results returned by subagents are now freed as soon as they leave the recent-view window, so memory in long interactive sessions stops growing without a ceiling. The release also fixes custom output styles sliding back to the default tone mid-session, along with a run of stalls in Remote Control. A new keybindingFlavor setting restores Bash behavior, where Ctrl+W deletes back to the previous space, and claude mcp list no longer starts disabled servers just to check their status.

Version 2.1.238 shipped on August 20, and it is a fix release rather than a feature one. Most of the list covers behavior that only became annoying once a session ran long: memory growth, response tone reverting to the default, and dropped connections during remote work. A handful of settings also change daily work, from the keyboard to how plugins are confirmed at install time. Memory in a long session no longer grows without end Claude Code used to hold tool results returned by subagents in memory for the whole session. They are now freed as soon as they leave the recent-view window, which closes the cause of unbounded memory growth in long interactive sessions. The update check also no longer fires at the same moment the program starts; it waits about 10 seconds, so it stops competing for the processor at launch, and the macOS launcher reaches the prompt faster. Output style stays where you set it Custom output styles, including those from a project or a plugin, could slide back to the default tone mid-session. That is fixed, so the style you pick holds until you stop working. For anyone with Bash keybindings in their fingers, the new keybindingFlavor setting takes readline, which makes Ctrl+W delete back to the previous space in the prompt. The default value, classic, is unchanged. Ctrl+L and Cmd+K in full-screen mode now only redraw the view. A double press no longer clears the conversation. claude mcp list and claude mcp get show disabled servers as Disabled instead of connecting to them to read their status. Text wrapping in the diff view no longer truncates lines that contain emoji and tabs. Plugins can now issue their own headers Plugin marketplaces and individual catalog entries gain a headersHelper field. It runs a command that issues HTTP headers, such as a short-lived token, both for fetching the catalog and for archives from the same source. The guardrails arrived with the feature, not after it. A command from a catalog entry runs only when that plugin is installed or updated, and only after it has been shown to you. claude plugin install and claude plugin update ask for confirmation unless you pass -y. headersHelper in a project .mcp.json , and bundled MCP servers in project agent files, require that you already accepted the trust dialog for that folder — including when running with -p. A helper from a project, a plugin, or an agent file runs without inherited environment variables that carry credentials. Runners you host yourself claude self-hosted-runner gains two options for working behind a corporate network. The --defer-shutdown-max-min flag makes a runner keep serving already-attached sessions after a shutdown signal, then drain the rest and exit once the given number of minutes has passed. The --proxy-authorization-command and --proxy-authorization-file flags are for proxies that demand a freshly issued Proxy-Authorization header on every connection. A bug that let the server remove a healthy runner after a single slow or lost request is also fixed. Remote work The longest part of the list covers Remote Control, which drives a session from a phone or a browser. Messages sent while Claude is mid-turn no longer vanish from the transcript once the turn ends. A model chosen on the phone now shows in the terminal too. A brief network drop while refreshing the login no longer kills the connection with an expired-account message. Short-lived rejections from a network edge or a proxy are tolerated for up to 3 minutes, and when a block persists, the message names who is doing the blocking.