hashicorp/vagrant · info

Ignoring provider config for validation...

Error message

Ignoring provider config for validation...

What it means

`vagrant validate -p / --ignore-provider` mocks all providers and skips provider-config validation (config/vm.rb passes ignore_provider through to validate). When a machine has provider config and validation runs in that mode, this notice is printed instead of validating those blocks; VM-level validation still runs normally.

Source

Thrown at plugins/kernel_v2/config/vm.rb:982

        # Validate clout_init_configs
        @cloud_init_configs.each do |c|
          error = c.validate(machine)
          errors.concat error if !error.empty?
        end

        # We're done with VM level errors so prepare the section
        errors = { "vm" => errors }

        # Validate only the _active_ provider
        if machine.provider_config
          if !ignore_provider
            provider_errors = machine.provider_config.validate(machine)
            if provider_errors
              errors = Vagrant::Config::V2::Util.merge_errors(errors, provider_errors)
            end
          else
            machine.ui.warn(I18n.t("vagrant.config.vm.ignore_provider_config"))
          end
        end

        # Validate provisioners
        @provisioners.each do |vm_provisioner|
          if vm_provisioner.invalid?
            name = vm_provisioner.name.to_s
            name = vm_provisioner.type.to_s if name.empty?
            errors["vm"] << I18n.t("vagrant.config.vm.provisioner_not_found",
                                   name: name)
            next
          end

          provisioner_errors = vm_provisioner.validate(machine, @provisioners)
          if provisioner_errors
            errors = Vagrant::Config::V2::Util.merge_errors(errors, provisioner_errors)
          end

View on GitHub (pinned to 35f3160f4a)

Solutions

  1. Treat it as informational — it only states that provider blocks were not validated in this run
  2. Run `vagrant validate` without -p on a machine where the provider is installed for full validation
  3. Run `vagrant up` or `vagrant status`, whose action chains always validate the active provider's config

Example fix

# before
vagrant validate --ignore-provider   # warns when provider blocks exist
# after
vagrant validate                      # full validation when provider is installed
Defensive patterns

Strategy: validation

Validate before calling

# Preflight: know whether the provider is usable before choosing validate mode
vagrant plugin list | grep -i virtualbox || echo "provider not installed; use --ignore-provider and expect the notice"

Prevention

When it happens

Trigger: Running `vagrant validate --ignore-provider` on a Vagrantfile that contains `config.vm.provider "..."` blocks; ConfigValidate runs with env[:ignore_provider] set, taking the warn branch instead of calling machine.provider_config.validate.

Common situations: CI linting of Vagrantfiles on machines without any hypervisor installed; validating shared configs on developer laptops that lack the provider plugins.

Related errors


AI-assisted analysis of hashicorp/vagrant@35f3160f4a (2026-08-21). Data as JSON: /api/errors/7c1342e3eeaddf22. Report an issue: GitHub.