@espectalll a large part is that gui’s don’t lend themselves to outputting information in a generic way, and then that gui’s by design are set up to sit and wait for input to tell it what to do. The information expected is a mixture of data, processing instructions and output formatting details.
The short of it is a GUI is a platform for organizing a series of steps, a cli tool is simply one of those steps.