{"record":{"id":"420bae840f6edf77","repo":"hashicorp/vagrant","slug":"the-provider-provider-doesn-t-support-automat","errorCode":null,"errorMessage":"The provider '%{provider}' doesn't support automatic installation. This is a limitation of this provider. Please report this as a feature request to the provider in question. To install this provider, you'll have to do so manually.","messagePattern":"The provider '%(.+?)' doesn't support automatic installation\\. This is a limitation of this provider\\. Please report this as a feature request to the provider in question\\. To install this provider, you'll have to do so manually\\.","errorType":"exception","errorClass":"Vagrant::Errors::ProviderCantInstall","httpStatus":null,"severity":"error","filePath":"plugins/commands/provider/command.rb","lineNumber":61,"sourceCode":"        with_target_vms(argv, single_target: true) do |m|\n          machine = m\n        end\n\n        # Output some machine readable stuff\n        @env.ui.machine(\"provider-name\", machine.provider_name, target: machine.name.to_s)\n\n        # Check if we're just doing a usability check\n        if options[:usable]\n          @env.ui.output(machine.provider_name.to_s)\n          return 0 if machine.provider.class.usable?(false)\n          return 1\n        end\n\n        # Check if we're requesting installation\n        if options[:install]\n          key = \"provider_install_#{machine.provider_name}\".to_sym\n          if !@env.host.capability?(key)\n            raise Vagrant::Errors::ProviderCantInstall,\n              provider: machine.provider_name.to_s\n          end\n\n          @env.host.capability(key)\n          return\n        end\n\n        # No subtask, just output the provider name\n        @env.ui.output(machine.provider_name.to_s)\n\n        # Success, exit status 0\n        0\n      end\n    end\n  end\nend\n","sourceCodeStart":43,"sourceCodeEnd":78,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/plugins/commands/provider/command.rb#L43-L78","documentation":"`vagrant provider --install` looks up the host capability `provider_install_<provider_name>` (e.g. provider_install_hyperv). If @env.host.capability?(key) is false, Vagrant raises Vagrant::Errors::ProviderCantInstall: this provider plugin does not implement automated installation on the current host, so it must be installed manually.","triggerScenarios":"`vagrant provider --install vmware_workstation`, `--install libvirt`, or any provider whose plugin never defined a provider_install_* host capability; also a capability that exists for one host OS being requested on another.","commonSituations":"Providers installed via vendor GUI installers or distro packages (VMware Workstation, VirtualBox on some Linux distros, libvirt via apt/dnf) that Vagrant cannot automate; custom provider plugins missing the capability.","solutions":["Install the provider manually per its documentation (run the VMware/VirtualBox installer or `apt install virtualbox` / `dnf install libvirt` etc.).","Verify afterwards with `vagrant provider --usable`.","If you maintain the provider plugin, implement the provider_install_<name> host capability so --install works."],"exampleFix":"# before\nvagrant provider --install vmware_workstation\n# after\n# 1) install VMware Workstation from the vendor installer\n# 2) vagrant plugin install vagrant-vmware-desktop\n# 3) verify: vagrant provider --usable","handlingStrategy":"validation","validationCode":"name = 'libvirt'\nrequire 'vagrant'\nunless Vagrant.host.capability?(\"provider_install_#{name}\".to_sym)\n  warn 'this provider cannot be auto-installed; install it manually per its docs'\nend","typeGuard":null,"tryCatchPattern":"begin\n  env.cli(['provider', '--install', name])\nrescue Vagrant::Errors::ProviderCantInstall => e\n  warn e.extra_data[:provider] # route to manual install instructions\n  exit 1\nend","preventionTips":["Check provider documentation for automated install support before scripting `provider --install`.","Install providers (VirtualBox, VMware, libvirt) via their official packages first, then verify with `vagrant provider --usable`.","Provider plugin authors: implement the provider_install_<name> host capability to avoid this error for users."],"tags":["vagrant","provider","host-capability","install"],"backgroundTag":"capability-not-supported","analyzedSha":"35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5","analyzedAt":"2026-08-21T13:34:32.514Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}