{"version":"2.1.281","anchor":"model-level-tool-use-name-cap-and-mcp-stdio-restart-on-32","canonical_anchor":"model-level-tool-use-name-cap-and-mcp-stdio-restart-on-32","heading":"Model-level tool_use name cap and MCP stdio restart on -32022 protocol-version rejection","tier":null,"area":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/model-level-tool-use-name-cap-and-mcp-stdio-restart-on-32","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Model-level `tool_use` name cap and MCP stdio restart on -32022 protocol-version rejection\n\nA local MCP server that rejects the protocol version after a timed-out version check is now restarted once without that check\n\n**Unclear.** The title mentions a model-level cap on `tool_use` names, but the finding gives no details about it.\n\n**What**\n\nMCP servers are external tools Claude Code connects to. A stdio server is one that Claude Code runs as a local program. When connecting in automatic negotiation mode, Claude Code first sends a probe to work out which protocol version to use. If that probe timed out, and the server then refuses the start-up request (`initialize`) with error -32022 (`UnsupportedProtocolVersion`), Claude Code now restarts the server once and skips the probe. This retry is labelled `era_locked_after_probe_timeout`.\n\nThe features Claude Code tells a server it supports, called client capabilities, are now chosen according to the negotiation mode in use.\n\n**Why**\n\nA server that is slow to answer the version probe no longer fails to connect. It gets one clean second attempt."}