{"name":"CLAUDE_CODE_MCP_MEMORY_CGROUP","slug":"claude-code-mcp-memory-cgroup","family":"env","title":"Environment variables","noun":"environment variable","description":"On Linux you can force MCP servers into their own memory cgroup with an environment variable.","description_source":"entry","described_by":{"version":"2.1.239","anchor":"mcp-servers-can-be-put-in-their-own-memory-cgroup-on-linux"},"presence":{"first_seen":"2.1.239","removed_in":null,"in_current_build":true,"newest_mined":"2.1.308","builds":59,"mined_builds":149,"first_cited":null},"aliases":[],"entries":[{"version":"2.1.246","anchor":"per-class-memory-caps-on-spawned-processes-wired-through-but","heading":"Per-class memory caps on spawned processes, wired through but off for everything except Bash","line":"Memory limits now reach npm, git, tmux, LSP, MCP and hooks, but everything except Bash is excluded.","released_at":"2026-08-25 19:17:34","reason":"found in this entry's text"},{"version":"2.1.246","anchor":"tool-subprocesses-can-be-launched-inside-a-memory-capped-cgr","heading":"Tool subprocesses can be launched inside a memory-capped cgroup","line":"MCP servers, hooks, plugin installs and tmux sessions can run under a memory cap, dark-launched here.","released_at":"2026-08-25 19:17:34","reason":"found in this entry's text"},{"version":"2.1.239","anchor":"mcp-servers-can-be-put-in-their-own-memory-cgroup-on-linux","heading":"MCP servers can be put in their own memory cgroup on Linux","line":"On Linux you can force MCP servers into their own memory cgroup with an environment variable.","released_at":"2026-08-21 17:18:54","reason":"named in this entry, found in this entry's text"}],"entries_total":3,"docs":[],"docs_total":0,"gates":[],"related":[{"name":"CLAUDE_CODE_MCP_ALLOWLIST_ENV","slug":"claude-code-mcp-allowlist-env","description":"Set to `1` to spawn stdio MCP servers with only a safe baseline environment plus the server's configured `env`, instead of inheriting your shell environment"},{"name":"CLAUDE_CODE_MCP_ALWAYS_LOAD_JOIN_BEFORE_INPUT","slug":"claude-code-mcp-always-load-join-before-input","description":"A new environment variable, `CLAUDE_CODE_MCP_ALWAYS_LOAD_JOIN_BEFORE_INPUT`, affects always-load MCP servers when set to exactly `true`"},{"name":"CLAUDE_CODE_MCP_APPS_HOST","slug":"claude-code-mcp-apps-host","description":"With CLAUDE_CODE_MCP_APPS_HOST set to true, Claude Code tells MCP servers it accepts MCP App content"},{"name":"CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS","slug":"claude-code-mcp-auto-background-ms","description":"Elapsed time in milliseconds before a still-running MCP tool call [moves to a background task](\/docs\/en\/mcp#automatic-backgrounding-of-long-tool-calls) (default: 120000, or 2 minutes). Set to `0` to turn automatic backgrounding off. Requires Claude Code v2.1.212 or later"},{"name":"CLAUDE_CODE_MCP_CONNECTOR_PREWAIT_MS","slug":"claude-code-mcp-connector-prewait-ms","description":"New CLAUDE_CODE_MCP_CONNECTOR_PREWAIT_MS environment variable overrides how long Claude Code waits for remote MCP servers to start"},{"name":"CLAUDE_CODE_MCP_PREWAIT_SERVERS","slug":"claude-code-mcp-prewait-servers","description":"`CLAUDE_CODE_MCP_PREWAIT_SERVERS` and `CLAUDE_CODE_MCP_PREWAIT_SERVERS_MS` name MCP servers for remote worker sessions to wait for before the first turn"},{"name":"CLAUDE_CODE_MCP_PREWAIT_SERVERS_MS","slug":"claude-code-mcp-prewait-servers-ms","description":"`CLAUDE_CODE_MCP_PREWAIT_SERVERS` and `CLAUDE_CODE_MCP_PREWAIT_SERVERS_MS` name MCP servers for remote worker sessions to wait for before the first turn"},{"name":"CLAUDE_CODE_MCP_STARTUP_WAIT_MS","slug":"claude-code-mcp-startup-wait-ms","description":"How long in milliseconds the first turn of a [non-interactive](\/docs\/en\/headless) session waits for MCP servers that are still connecting, in place of the default [first-turn wait](\/docs\/en\/agent-sdk\/mcp#connection-timing). When set, the wait covers every pending server. Set to `0` to skip the wait. A [`--permission-prompt-tool`](\/docs\/en\/cli-reference#cli-flags) server keeps its own `MCP_TIMEOUT` wait regardless of the value. Requires Claude Code v2.1.274 or later"},{"name":"CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT","slug":"claude-code-mcp-tool-idle-timeout","description":"Idle timeout in milliseconds for MCP tool calls. When a stdio, HTTP, SSE, WebSocket, or [claude.ai connector](\/docs\/en\/mcp#use-mcp-servers-from-claude-ai) MCP server sends no response and no progress notification for this long, the tool call aborts with an error instead of waiting for the overall `MCP_TOOL_TIMEOUT`. Overrides the per-transport defaults of 300000 (5 minutes) for network servers and 1800000 (30 minutes) for stdio servers. Set to `0` to disable the idle check. Values below 1000 are raised to one second, and the value is capped at the effective `MCP_TOOL_TIMEOUT`. A per-server `timeout` in `.mcp.json` of at least 1000 raises that server's idle window to at least the `timeout` value. Doesn't apply to IDE servers or SDK in-process servers. Requires Claude Code v2.1.187 or later. Before v2.1.203, stdio servers were exempt from the idle timeout"}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-code-mcp-memory-cgroup","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}