{"record":{"id":"807145e86b9de422","repo":"hashicorp/vagrant","slug":"could-not-find-a-required-virtualbox-guest-propert-807145","errorCode":null,"errorMessage":"Could not find a required VirtualBox guest property:\n  %{guest_property}\nThis is an internal error that should be reported as a bug.","messagePattern":"Could not find a required VirtualBox guest property:\n  %(.+?)\nThis is an internal error that should be reported as a bug\\.","errorType":"exception","errorClass":"Vagrant::Errors.VirtualBoxGuestPropertyNotFound","httpStatus":null,"severity":"error","filePath":"plugins/providers/virtualbox/driver/version_5_0.rb","lineNumber":605,"sourceCode":"          # If we can't get the guest additions version by guest property, try\n          # to get it from the VM info itself.\n          info = execute(\"showvminfo\", @uuid, \"--machinereadable\", retryable: true)\n          info.split(\"\\n\").each do |line|\n            return $1.to_s if line =~ /^GuestAdditionsVersion=\"(.+?)\"$/\n          end\n\n          return nil\n        end\n\n        def read_guest_ip(adapter_number)\n          ip = read_guest_property(\"/VirtualBox/GuestInfo/Net/#{adapter_number}/V4/IP\")\n          if ip.end_with?(\".1\")\n            @logger.warn(\"VBoxManage guest property returned: #{ip}. Result resembles IP of DHCP server and is being ignored.\")\n            ip = nil\n          end\n\n          if !valid_ip_address?(ip)\n            raise Vagrant::Errors::VirtualBoxGuestPropertyNotFound,\n                  guest_property: \"/VirtualBox/GuestInfo/Net/#{adapter_number}/V4/IP\"\n          end\n\n          return ip\n        end\n\n        def read_guest_property(property)\n          output = execute(\"guestproperty\", \"get\", @uuid, property)\n          if output =~ /^Value: (.+?)$/\n            $1.to_s\n          else\n            raise Vagrant::Errors::VirtualBoxGuestPropertyNotFound, guest_property: property\n          end\n        end\n\n        def read_host_only_interfaces\n          execute(\"list\", \"hostonlyifs\", retryable: true).split(\"\\n\\n\").collect do |block|\n            info = {}","sourceCodeStart":587,"sourceCodeEnd":623,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/plugins/providers/virtualbox/driver/version_5_0.rb#L587-L623","documentation":"The VirtualBox 5.x driver reads the guest's IP from the guest property `/VirtualBox/GuestInfo/Net/<n>/V4/IP` (populated by VirtualBox Guest Additions inside the VM). After fetching it, Vagrant ignores values that look like a DHCP-server address (ending in .1) and then validates the result; if no usable IP remains, it raises VirtualBoxGuestPropertyNotFound blaming the property itself. In practice the property is missing or invalid because Guest Additions are absent, not running, or the guest has not finished booting.","triggerScenarios":"read_guest_ip(adapter_number) is called (e.g. `vagrant up`/`vagrant reload` resolving host-only or forwarded-port networking) and read_guest_property returns nothing usable: the VM is powered off, guest additions are not installed, or the only value reported is the DHCP server IP which Vagrant deliberately filters out.","commonSituations":"Box shipped without matching Guest Additions (very common with third-party boxes); `vbguest` not installed so additions fall out of sync after VirtualBox upgrades; querying the IP too early in the boot sequence; host-only network on adapter 2 whose guest side is unconfigured.","solutions":["Ensure the VM is fully booted before re-running (`vagrant up` again often resolves it once the guest is up)","Install/update matching Guest Additions, e.g. add the vagrant-vbguest plugin (`vagrant plugin install vagrant-vbguest`)","Confirm the property exists: `VBoxManage guestproperty get <uuid> /VirtualBox/GuestInfo/Net/0/V4/IP` (repeat for the adapter number in the error)","Check the guest actually configured the interface (correct adapter number in the private_network config, DHCP working inside the guest)","As a last resort switch that network to a forwarded-port setup which does not need the guest property"],"exampleFix":"// Vagrantfile — before\nconfig.vm.network \"private_network\", ip: \"192.168.33.10\" // guest additions missing -> IP never reported\n// after — keep additions in sync automatically\n//   $ vagrant plugin install vagrant-vbguest\nconfig.vm.network \"private_network\", ip: \"192.168.33.10\"","handlingStrategy":"retry","validationCode":"prop = `VBoxManage guestproperty get #{uuid} /VirtualBox/GuestInfo/Net/#{adapter}/V4/IP`\nreturn nil unless prop =~ /^Value: (\\d+\\.){3}\\d+$/ && !prop.end_with?(\".1\\n\")  # not yet ready; wait and retry","typeGuard":"def guest_ip_ready?(uuid, adapter)\n  out = `VBoxManage guestproperty get #{uuid} /VirtualBox/GuestInfo/Net/#{adapter}/V4/IP 2>/dev/null`\n  m = out.match(/^Value: ((?:\\d+\\.){3}\\d+)/)\n  !m.nil? && !m[1].end_with?('.1')\nend","tryCatchPattern":null,"preventionTips":["Install vagrant-vbguest so Guest Additions always match the VirtualBox version","Choose boxes that ship with Guest Additions when you need host-only networking","Give slow guests time to boot before expecting an IP; re-run `vagrant up` once fully booted"],"tags":["virtualbox","guest-additions","guest-property","network","ip-detection"],"backgroundTag":"virtualbox-guest-additions-missing","analyzedSha":"35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5","analyzedAt":"2026-08-21T13:34:32.514Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}