{"version":"2.1.292","anchor":"mcp-connect-timeout-retry-also-forgets-a-stdio-server-that-m","canonical_anchor":"mcp-connect-timeout-retry-also-forgets-a-stdio-server-that-m","heading":"Slow-starting local MCP servers are no longer wrongly remembered as older servers","tier":"notice","area":"MCP","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292\/e\/mcp-connect-timeout-retry-also-forgets-a-stdio-server-that-m","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292","markdown":"### Slow-starting local MCP servers are no longer wrongly remembered as older servers\n\nA local MCP server that answered the protocol check late is no longer remembered as an older server after a connection timeout\n\n**What**\n\nMCP servers are outside programs that give Claude Code extra tools. A stdio server is one that Claude Code starts on your own machine and talks to through the program's text input and output. Before connecting, Claude Code can send a short check, called the discover probe, to learn which version of the MCP protocol the server speaks. This is called negotiation.\n\nWhen a connection attempt fails, Claude Code now checks whether a stdio server using automatic negotiation timed out:\n\n- If the server answered the discover probe late but never finished starting up, Claude Code notes that it speaks the newer protocol and does not remember it as an older (legacy) server.\n\n- Otherwise, Claude Code records the server as legacy, as before.\n\nAutomatic protocol negotiation for stdio servers also now defaults to on when the settings server sends no value. Previously the default was off. The settings server has been answering on for this site's own account and for an anonymous check, first seen on 2026-09-29.\n\n**Why**\n\nA server that is only slow to start is less likely to be marked as legacy by mistake and then handled in a reduced way on every later connection.\n\n- Flag `tengu_mcp_protocol_negotiation_stdio`: On for this account, and not off by default (read for one account on one subscription tier against v2.1.292; this account: on, anonymous baseline: on, compiled default: on) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Flag `tengu_mcp_connect_timeout_retry`: Not enough to say (read for one account on one subscription tier against v2.1.292; this account: no value returned, anonymous baseline: no value returned, compiled default: on) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: MCP\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}