There is a case where this manage_user function gets called with no options set. It is only for Solaris, when chef is changing only the user's password (usermod is not used for setting the password). In that case, it needs to not shell out because the command fails when no options are set. As far as I know the universal_options variable is never nil.