{"version":"2.1.300","anchor":"mcp-task-endings-are-persisted-so-a-restart-doesnt-lose-the","canonical_anchor":"mcp-task-endings-are-persisted-so-a-restart-doesnt-lose-the","heading":"MCP task endings survive a restart, and there are new failure reasons","tier":"notice","area":"MCP","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300\/e\/mcp-task-endings-are-persisted-so-a-restart-doesnt-lose-the","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300","markdown":"### MCP task endings survive a restart, and there are new failure reasons\n\nMCP task endings are saved before notifying so a restart keeps them, with new `needs_sign_in` and `answered_with_errors` ending reasons\n\n**What**\n\nAn MCP task is a long-running job run by an MCP server, an outside program that gives Claude Code extra tools. How these tasks end has changed:\n\n- When a task finishes, its ending is now saved to a separate file before the notification about it is sent, so a restart does not lose it. If saving fails, Claude Code reports that it \"could not save the ending of task\".\n\n- The notification now carries a run ID and the origin of the task.\n\n- The list of ending reasons gains `needs_sign_in` and `answered_with_errors`. Before, a reconnect failure could only end as `reconnect_failed` or `ttl_expired`.\n\n- A server that asks you to sign in while Claude Code is checking on a task is now handled separately from a lost connection.\n\n**Why**\n\nLong-running MCP tasks are less likely to vanish when Claude Code restarts. When one fails, the reason is more specific, so you can tell \"needs sign-in\" apart from a dropped connection.\n\n- Area: MCP\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}