{"version":"2.1.323","anchor":"early-mcp-start-up-round-for-headless-sessions","canonical_anchor":"early-mcp-start-up-round-for-headless-sessions","heading":"Non-interactive runs start connecting MCP servers right after startup","tier":"notice","area":"MCP","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323\/e\/early-mcp-start-up-round-for-headless-sessions","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323","markdown":"### Non-interactive runs start connecting MCP servers right after startup\n\nIn non-interactive runs, Claude Code now connects configured MCP servers before the first turn needs them, so that turn can start sooner\n\n**What**\n\nMCP servers are outside programs that give Claude Code extra tools. In a non-interactive session, such as one started with `-p` that runs a single request and exits, Claude Code now begins connecting your MCP servers immediately after startup, before the first turn needs them. This happens when all of these hold:\n\n- The session is non-interactive.\n\n- The session is not a remote one (`CLAUDE_CODE_REMOTE` is not set).\n\n- Claude Code is not in a restricted or bare mode.\n\n- At least one configured MCP server is not one supplied through the SDK.\n\nIf this early round fails, Claude Code connects the servers at the usual point instead.\n\n**Why**\n\nScripted runs that rely on MCP servers should reach their first answer sooner, because the connections are already under way.\n\n- Area: MCP\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}