{"name":"CLAUDE_CODE_MCP_STARTUP_WAIT_MS","slug":"claude-code-mcp-startup-wait-ms","family":"env","title":"Environment variables","noun":"environment variable","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","description_source":"docs","described_by":{"doc":"claude-code\/env-vars","title":"Environment variables"},"presence":{"first_seen":"2.1.274","removed_in":null,"in_current_build":true,"newest_mined":"2.1.319","builds":42,"mined_builds":159,"first_cited":{"version":"2.1.274","released_at":"2026-09-16 22:36:09","spans":1}},"aliases":[],"entries":[{"version":"2.1.286","anchor":"mcp-connect-relay-hold-can-follow-boot-verdict-tengu-dapper","heading":"Relay workers wait for MCP servers when their relay is no longer usable","line":"A relay-marked worker whose relay can no longer be used now makes its first command wait for MCP servers like an ordinary worker","released_at":"2026-09-30 17:14:38","reason":"found in this entry's text"},{"version":"2.1.284","anchor":"headless-first-turn-mcp-wait-now-holds-for-required-server","heading":"Non-interactive runs wait for required MCP servers before the first turn","line":"In `-p` and SDK sessions, Claude Code now waits for MCP servers it deems required before the first turn, even when loading is deferred","released_at":"2026-09-28 17:11:59","reason":"found in this entry's text"},{"version":"2.1.274","anchor":"new-env-var-capscontrols-mcp-connector-startup-wait","heading":"New env var caps\/controls MCP connector startup wait","line":"New CLAUDE_CODE_MCP_STARTUP_WAIT_MS env var controls how long Claude Code waits for MCP servers to start","released_at":"2026-09-16 22:36:09","reason":"named in this entry, found in this entry's text"}],"entries_total":3,"docs":[{"source":"claude-code","path":"env-vars","title":"Environment variables","documented":true},{"source":"claude-code","path":"agent-sdk\/mcp","title":"Connect to external tools with MCP","documented":false},{"source":"claude-code","path":"self-hosted-environments-configuration","title":"Customize sessions in self-hosted environments","documented":false}],"docs_total":3,"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_HANDED_LISTINGS","slug":"claude-code-mcp-handed-listings","description":"MCP tool lists handed over by the host are now compared with the live server, and CLAUDE_CODE_MCP_HANDED_LISTINGS=0 turns them off"},{"name":"CLAUDE_CODE_MCP_MEMORY_CGROUP","slug":"claude-code-mcp-memory-cgroup","description":"On Linux you can force MCP servers into their own memory cgroup with an environment variable."},{"name":"CLAUDE_CODE_MCP_NO_REDIAL_AFTER_POLICY_REFUSAL","slug":"claude-code-mcp-no-redial-after-policy-refusal","description":"With `CLAUDE_CODE_MCP_NO_REDIAL_AFTER_POLICY_REFUSAL` set, Claude Code can stop redialing MCP servers that the sandbox network policy refused"},{"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"}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-code-mcp-startup-wait-ms","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}