{"version":"2.1.309","anchor":"mcp-401-handshake-answers-recorded-for-ccr-sign-in","canonical_anchor":"mcp-401-handshake-answers-recorded-for-ccr-sign-in","heading":"MCP connections now track lapsed CCR sign-ins","tier":"internal","area":"MCP","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309\/e\/mcp-401-handshake-answers-recorded-for-ccr-sign-in","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309","markdown":"### MCP connections now track lapsed CCR sign-ins\n\nMCP connections now record lapsed CCR sign-ins in lapsedCcrSignIns when a server answers 401, and the remote auto-connect check changed\n\n**What**\n\nMCP servers are outside tools Claude Code can connect to. Some need you to sign in. Claude Code now keeps track of CCR sign-ins that have lapsed:\n\n- The code that makes requests to MCP servers now takes an extra id. When a server answers 401 (not authorised), or that id has already lapsed, it records this with `noteCcrHandshakeAnswer`.\n\n- These lapsed sign-ins are kept in `lapsedCcrSignIns` in the MCP connection cache.\n\n- The check that decides whether a remote session should connect was rewritten to check each server on its own.\n\n**Why**\n\nBefore, the request code just returned the server's answer. Now a refused sign-in is remembered, so remote sessions can notice when a connector's sign-in has lapsed and handle it differently.\n\n- Area: MCP\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}