{"version":"2.1.323","anchor":"mcp-set-servers-waits-for-pending-mcp-servers-before-dialing","canonical_anchor":"mcp-set-servers-waits-for-pending-mcp-servers-before-dialing","heading":"mcp_set_servers gains a sign-in hint and waits for servers that are still connecting","tier":"notice","area":"SDK","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323\/e\/mcp-set-servers-waits-for-pending-mcp-servers-before-dialing","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323","markdown":"### mcp_set_servers gains a sign-in hint and waits for servers that are still connecting\n\nThe `mcp_set_servers` control message can carry a hint such as a connector sign-in, and Claude Code then waits for connecting servers before dialing them\n\n**What**\n\nMCP servers are outside services that give Claude Code extra tools. `mcp_set_servers` is a control message that a controlling program, such as the service behind a remote session, sends to tell Claude Code which MCP servers to use. It changes in two ways:\n\n- The message gains an optional `hint` field that says why the set was sent, for example `connector_signed_in`. It is described as \"a hint, not a grant\": Claude Code still works out its own set of MCP servers.\n\n- When a sign-in hint is passed, Claude Code now waits for each server to finish connecting, leaving the 'pending' state, before acting. A server that then needs sign-in ('needs-auth') is connected with the context 'MCP server set'. If the wait runs out first, it logs 'Still connecting when the wait after the sign-in hint ended, so it is not dialed again'. Before, every server needing sign-in was dialed right away.\n\nThe `read_file` control request, when it asks for a live reply (`liveReply`), now joins `mcp_authenticate` and `mcp_status` in the set of requests that are only answered live.\n\n**Why**\n\nAfter you sign in to a connector in a remote session, Claude Code should no longer try to connect the same server twice while it is still connecting. The hint does not give the controlling program extra power over which servers are used.\n\n- Area: SDK\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}