Is `!$this->in_shell` required here? Isn't `$this->getCommandName($input) === null`sufficient?