{"record":{"id":"96b6a0379cbfe2c2","repo":"hashicorp/vagrant","slug":"guest-machine-using-provider-provider-name","errorCode":null,"errorMessage":"Guest '%{machine}' using provider '%{provider_name}' has provider specific config options for a provider other than '%{provider_name}'. These provider config options will be ignored for this guest","messagePattern":"Guest '%(.+?)' using provider '%(.+?)' has provider specific config options for a provider other than '%(.+?)'\\. These provider config options will be ignored for this guest","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"plugins/kernel_v2/config/disk.rb","lineNumber":202,"sourceCode":"        end\n\n        if @type == :dvd && @primary\n          errors << I18n.t(\"vagrant.config.disk.dvd_type_primary\", name: @name, machine: machine.name)\n        end\n\n        if @file\n          if !@file.is_a?(String)\n            errors << I18n.t(\"vagrant.config.disk.invalid_file_type\", file: @file, machine: machine.name)\n          elsif !File.file?(@file)\n            errors << I18n.t(\"vagrant.config.disk.missing_file\", file_path: @file,\n                             name: @name, machine: machine.name)\n          end\n        end\n\n        if @provider_config\n          if !@provider_config.empty?\n            if !@provider_config.key?(machine.provider_name)\n              machine.env.ui.warn(I18n.t(\"vagrant.config.disk.missing_provider\",\n                                         machine: machine.name,\n                                         provider_name: machine.provider_name))\n            end\n          end\n        end\n\n        if !@name\n          errors << I18n.t(\"vagrant.config.disk.no_name_set\", machine: machine.name)\n        end\n\n        errors\n      end\n\n      # The String representation of this Disk.\n      #\n      # @return [String]\n      def to_s\n        \"disk config\"","sourceCodeStart":184,"sourceCodeEnd":220,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/plugins/kernel_v2/config/disk.rb#L184-L220","documentation":"A disk's provider-specific options (collected via add_provider_config from `provider__option: value` keys or `{provider: {...}}` hashes) only apply to the provider actually in use. During disk config validation, if provider_config is non-empty but has no key matching machine.provider_name, those options cannot be used, so Vagrant warns they will be ignored; the disk itself still validates.","triggerScenarios":"A Vagrantfile sets disk options like `virtualbox__disk_type: \"hdd\"` (double-underscore provider prefix) or provider_config = {virtualbox: {...}}, but the machine runs under a different provider (e.g. `vagrant up --provider=vmware_desktop` or hyperv).","commonSituations":"Vagrantfiles shared across hypervisors; switching the default provider; typos in the provider prefix of the option name.","solutions":["Add options under the active provider's key so provider_config includes machine.provider_name (e.g. vmware_desktop__...)","Keep provider-agnostic settings (size, name, type, file) at the top level so they apply under any provider","Confirm the active provider with `vagrant status` or the --provider flag and align the option prefixes","Check the spelling of the `provider__option` double-underscore prefix — unknown shapes are logged and dropped by add_provider_config"],"exampleFix":"# before\nconfig.vm.disk :disk, name: \"data\", size: \"10GB\", virtualbox__disk_type: \"hdd\"\n# (warns when machine runs under vmware_desktop)\n# after\nconfig.vm.disk :disk, name: \"data\", size: \"10GB\", vmware_desktop__disk_type: \"hdd\"","handlingStrategy":"type-guard","validationCode":"# Tooling: assert disk provider options cover the provider about to run\nmissing = disks.select { |d| !d.provider_config.empty? && !d.provider_config.key?(provider_name) }","typeGuard":"def disk_options_apply?(disk, provider_name)\n  disk.provider_config.empty? || disk.provider_config.key?(provider_name)\nend","tryCatchPattern":null,"preventionTips":["Use the exact provider symbol as the option prefix (vmware_desktop__..., virtualbox__...)","Keep provider-agnostic disk settings at the top level","Pin the provider explicitly with `vagrant up --provider=<name>` so the mapping is obvious"],"tags":["vagrant","disk","provider-config","config-validation"],"backgroundTag":"config-section-ignored","analyzedSha":"35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5","analyzedAt":"2026-08-21T13:34:32.514Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}