diff --git a/packages/acp-bridge/src/session-control-plane.ts b/packages/acp-bridge/src/session-control-plane.ts index c4e5403b95..106b1eface 100644 --- a/packages/acp-bridge/src/session-control-plane.ts +++ b/packages/acp-bridge/src/session-control-plane.ts @@ -16173,7 +16173,12 @@ export function createSessionControlPlane( const addSkipped = (response as { skipped?: boolean }).skipped === true; if (!addSkipped) { const ok = response as AddOk; - runtimeMcpServerChannelId = info.id; + // Names recorded on a replaced child are gone with it; do not let + // a later add on the new child inherit them. + if (runtimeMcpServerChannelId !== info.id) { + runtimeMcpServerNames.clear(); + runtimeMcpServerChannelId = info.id; + } runtimeMcpServerNames.add(ok.name); broadcastWorkspaceEvent({ type: 'mcp_server_added',