I think this is a naming problem. CLI is usually the name for the interface to an application. A Shell is the interface to the OS. Nonetheless agree with your post but this might be part of the difficulty in the discussion
But the point is none of that is intrinsic or interesting to the underlying idea, it’s just of annoying practical relevance to interfacing with APIs today