{"version":"2.1.251","anchor":"cancelling-an-orphaned-mcp-task-no-longer-hangs","canonical_anchor":"cancelling-an-orphaned-mcp-task-no-longer-hangs","heading":"Cancelling an orphaned MCP task no longer hangs","tier":"notice","area":"MCP","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.251\/e\/cancelling-an-orphaned-mcp-task-no-longer-hangs","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.251","markdown":"### Cancelling an orphaned MCP task no longer hangs\n\nCancelling leftover work after an MCP server dies now times out instead of hanging.\n\n**What**\n\nAfter an MCP server process is killed, the request that cancels its leftover task now carries a timeout instead of running unbounded.\n\n**Details**\n\n- Applied on every cancel through this path.\n\n**Evidence**\n\n`cancelTask(c, { signal: AbortSignal.timeout(oce) })`, `AbortSignal.timeout(oce)`\n\n- Area: MCP\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5"}