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

Vagrant was instructed to configure the %{device} network de

Error message

Vagrant was instructed to configure the %{device} network device to
be managed by NetworkManager. However, the configured guest VM does
not have NetworkManager installed. To fix this error please remove
the `nm_controlled` setting from local Vagrantfile. If NetworkManager
is required to manage the network devices, please use a box with
NetworkManager installed.

What it means

Error "Vagrant was instructed to configure the %{device} network device to be managed by NetworkManager. However, the configured guest VM does not have NetworkManager installed. To fix this error please remove the `nm_controlled` setting from local Vagrantfile. If NetworkManager is required to manage the network devices, please use a box with NetworkManager installed." thrown in hashicorp/vagrant.

Source

Thrown at plugins/guests/debian/cap/configure_networks.rb:73

                end
                if network[:gateway]
                  entry["gateway4"] = network[:gateway]
                end
              end
              e_nets[interfaces[network[:interface]]] = e_config
            end
          end

          # By default, netplan expects the renderer to be systemd-networkd,
          # but if any device is managed by NetworkManager, then we use that renderer
          # ref: https://netplan.io/reference
          if systemd_networkd?(comm)
            renderer = "networkd"
            ethernets.keys.each do |k|
              if nm_controlled?(comm, k)
                renderer = "NetworkManager"
                if !nmcli?(comm)
                  raise Vagrant::Errors::NetworkManagerNotInstalled, device: k
                end
                break
              end
            end
          elsif nmcli?(comm)
            renderer = "NetworkManager"
          else
            raise Vagrant::Errors::NetplanNoAvailableRenderers
          end

          np_config = {"network" => {"version" => NETPLAN_DEFAULT_VERSION,
            "renderer" => renderer, "ethernets" => ethernets}}

          remote_path = upload_tmp_file(comm, np_config.to_yaml)
          dest_path = "#{NETPLAN_DIRECTORY}/50-vagrant.yaml"
          comm.sudo(["mv -f '#{remote_path}' '#{dest_path}'",
            "chown root:root '#{dest_path}'",
            "chmod 0644 '#{dest_path}'",

View on GitHub (pinned to 35f3160f4a)

When it happens

Trigger: Thrown at plugins/guests/debian/cap/configure_networks.rb:73 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/743acd5d2315e13d. Report an issue: GitHub.