{"version":"2.1.314","anchor":"mcp-authenticate-registration-unavailable-error-and-org-pin","canonical_anchor":"mcp-authenticate-registration-unavailable-error-and-org-pin","heading":"MCP sign-in failures get their own code when a server has no client registration","tier":"notice","area":"Agents","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314\/e\/mcp-authenticate-registration-unavailable-error-and-org-pin","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314","markdown":"### MCP sign-in failures get their own code when a server has no client registration\n\nA failed `mcp_authenticate` can now return the code `mcp_client_registration_unavailable`, and `claude_authenticate` has a new check that can refuse login\n\n**What**\n\nApps that drive Claude Code, such as those built on the Agent SDK, use `mcp_authenticate` to sign in to an MCP server (an outside service that gives Claude extra tools) and `claude_authenticate` to sign in to Claude itself. Three things changed:\n\n- When `mcp_authenticate` fails a client registration check, the error now carries the code `mcp_client_registration_unavailable`. Before, these errors had no code.\n\n- When the MCP server requires a client registration, Claude Code no longer sends a redirect address.\n\n- `claude_authenticate` has an additional check that can refuse a login.\n\n**Why**\n\nApps can now recognise MCP servers that have no client registration available and tell the user why sign-in failed, instead of showing a generic error.\n\n- Area: Agents\n- Names: `mcp_authenticate`, `claude_authenticate`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}