Replace yield break with cancellationToken.ThrowIfCancellationRequested() in BrowseSymbolsAsync so a cancelled browse propagates as OperationCanceledException instead of silently completing with a partial symbol set. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>