Jenkins refuses to enable "Uninstall" button for a plugin that is an optional dependency of another plugin. For example if I install "git" plugin (Jenkins CLI's "install-plugin git" command), it doesn't install, for example, "token-macro" plugin that is an optional dependency for git plugin. But if I then happen to install token-macro plugin, Jenkins refuses to enable Uninstall button for it with following message:
"This plugin cannot be uninstalled. It has one or more installed dependants: Git plugin."
This also happens with other plugins that are/have optional dependencies. Jenkins should be able to uninstall plugins that are not a required dependency of any other plugin.