Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.246 ·

Per-class memory caps on spawned processes, wired through but off for everything except Bash

Memory limits now reach npm, git, tmux, LSP, MCP and hooks, but everything except Bash is excluded.

Nothing to try yet No documentation found In Development
JSON All of v2.1.246
Nothing to try yetTier: how much it should matter to you
2Useful: my rating, 1 to 5
0Signal: worth watching, 1 to 5
SandboxArea: what it touches
In DevelopmentKind: in v2.1.246,
In DevelopmentSection of the release

Per-class memory capping is wired to nearly every spawn site, but the exclusion list defaults to all new classes.

What

Claude Code can put the processes it spawns into a Linux cgroup with a memory limit, and this build makes that decision per class of process rather than all at once. The plumbing now reaches nearly every launch site: npm, git, tmux, systemctl, xdg-open, LSP, MCP, plugin installs and hooks. In practice nothing new is capped in this build, because the exclusion list falls back to the entire set of new classes, leaving only the pre-existing Bash shell path limited.

Details
  • The whole subsystem sits behind the server-side flag tengu_tool_memory_cgroup, which falls back to off, unless CLAUDE_CODE_TOOL_MEMORY_LIMIT is set.
  • Which classes are exempt comes from CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE as a comma-separated list, else the server value tengu_tool_cgroup_exclude_classes, whose fallback is empty and is treated as excluding all seven new classes: mcp, lsp, hooks, plugin, tmux, helper and agent, so only shell is capped.
  • The literal all-new in the exclusion list expands to every non-shell class.
  • A spawn that does not name a class is treated as helper, and capping is skipped whenever the class is in the exclusion set.
  • MCP is returned to the exclusion set even when otherwise enabled, unless CLAUDE_CODE_MCP_MEMORY_CGROUP or the server value tengu_mcp_memory_cgroup opts it back in.
  • The first time a given class is actually capped, the code reports class_enabled.
  • Alongside it: out-of-memory kills are counted by parsing oom_kill (\d+) from the cgroup, and a cgroup directory deleted underneath a running process is self-healed and reported as either recreated or vanished.
Evidence

CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE, tengu_tool_cgroup_exclude_classes

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Read from
Feature flag
tengu_tool_memory_cgroup Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.246: not a boolean we can read

tengu_tool_cgroup_exclude_classes Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.246: not a boolean we can read

tengu_mcp_memory_cgroup Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.246: not a boolean we can read

Read once, for one account on one subscription tier, against v2.1.246. It isn't a statement about your account. What a flag value here can and cannot tell you

What has happened since
Flag reading moved The flag server now returns off for tengu_mcp_memory_cgroup, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns nothing at all, having stopped carrying it for tengu_mcp_memory_cgroup, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.

See this across every release →

How sure we are
One source agreesOne thing we can check says the same as this entry.
The name it cites is new in this buildNew in this build: CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE

See this entry in the whole of v2.1.246 →

Feedback