hashicorp/vagrant · error · Vagrant::Errors::CantReadMACAddresses

The provider you are using ('%{provider}') doesn't support

Error message

The provider you are using  ('%{provider}') doesn't support the
"nic_mac_addresses" provider capability which is required
for advanced networking to work with this guest OS. Please inform
the author of the provider to add this feature.

Until then, you must remove any networking configurations other
than forwarded ports from your Vagrantfile for Vagrant to continue.

What it means

Error "The provider you are using ('%{provider}') doesn't support the "nic_mac_addresses" provider capability which is required for advanced networking to work with this guest OS. Please inform the author of the provider to add this feature. Until then, you must remove any networking configurations other than forwarded ports from your Vagrantfile for Vagrant to continue." thrown in hashicorp/vagrant.

Source

Thrown at plugins/guests/windows/cap/configure_networks.rb:55

                  network[:netmask])
              elsif network_type == :dhcp
                guest_network.configure_dhcp_interface(
                  interface[:index],
                  interface[:net_connection_id])
              else
                raise "#{network_type} network type is not supported, try static or dhcp"
              end
            end
          end

          if machine.config.windows.set_work_network
            guest_network.set_all_networks_to_work
          end
        end

        def self.create_vm_interface_map(machine, guest_network)
          if !machine.provider.capability?(:nic_mac_addresses)
            raise Vagrant::Errors::CantReadMACAddresses,
              provider: machine.provider_name.to_s
          end

          driver_mac_address = machine.provider.capability(:nic_mac_addresses).invert
          @@logger.debug("mac addresses: #{driver_mac_address.inspect}")

          vm_interface_map = {}
          guest_network.network_adapters.each do |nic|
            @@logger.debug("nic: #{nic.inspect}")
            naked_mac = nic[:mac_address].gsub(':','')
            # If the :net_connection_id entry is nil then it is probably a virtual connection
            # and should be ignored.
            if driver_mac_address[naked_mac] && !nic[:net_connection_id].nil?
              vm_interface_map[driver_mac_address[naked_mac]] = {
                net_connection_id: nic[:net_connection_id],
                mac_address: naked_mac,
                interface_index: nic[:interface_index],
                index: nic[:index] }

View on GitHub (pinned to 35f3160f4a)

When it happens

Trigger: Thrown at plugins/guests/windows/cap/configure_networks.rb:55 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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