{"record":{"id":"a80e30139f6ab243","repo":"hashicorp/vagrant","slug":"the-guest-implementation-explicitly-specified-in-y","errorCode":null,"errorMessage":"The guest implementation explicitly specified in your Vagrantfile\n(\"%{value}\") could not be found. Please verify that the plugin is\ninstalled which implements this guest and that the value you\nused for `config.vm.guest` is correct.","messagePattern":"The guest implementation explicitly specified in your Vagrantfile\n\\(\"%(.+?)\"\\) could not be found\\. Please verify that the plugin is\ninstalled which implements this guest and that the value you\nused for `config\\.vm\\.guest` is correct\\.","errorType":"exception","errorClass":"Vagrant::Errors::GuestExplicitNotDetected","httpStatus":null,"severity":"error","filePath":"lib/vagrant/guest.rb","lineNumber":38,"sourceCode":"  #\n  # This system allows for maximum flexibility and pluginability for doing\n  # guest OS specific operations.\n  class Guest\n    include CapabilityHost\n\n    def initialize(machine, guests, capabilities)\n      @capabilities = capabilities\n      @guests       = guests\n      @machine      = machine\n    end\n\n    # This will detect the proper guest OS for the machine and set up\n    # the class to actually execute capabilities.\n    def detect!\n      guest_name = @machine.config.vm.guest\n      initialize_capabilities!(guest_name, @guests, @capabilities, @machine)\n    rescue Errors::CapabilityHostExplicitNotDetected => e\n      raise Errors::GuestExplicitNotDetected, value: e.extra_data[:value]\n    rescue Errors::CapabilityHostNotDetected\n      raise Errors::GuestNotDetected\n    end\n\n    # See {CapabilityHost#capability}\n    def capability(*args)\n      super\n    rescue Errors::CapabilityNotFound => e\n      raise Errors::GuestCapabilityNotFound,\n        cap: e.extra_data[:cap],\n        guest: name\n    rescue Errors::CapabilityInvalid => e\n      raise Errors::GuestCapabilityInvalid,\n        cap: e.extra_data[:cap],\n        guest: name\n    end\n\n    # Returns the specified or detected guest type name.","sourceCodeStart":20,"sourceCodeEnd":56,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/lib/vagrant/guest.rb#L20-L56","documentation":"Raised as Vagrant::Errors::GuestExplicitNotDetected from Vagrant::Guest#detect! (lib/vagrant/guest.rb:38): when config.vm.guest is set explicitly, initialize_capabilities! (capability_host.rb:35) raises CapabilityHostExplicitNotDetected because no registered guest matches that name, and Guest converts it into this error carrying the configured value. Unlike auto-detection failure (which raises GuestNotDetected), the explicit name must exist in the guest registry.","triggerScenarios":"A Vagrantfile with config.vm.guest = :someos where :someos is not registered — the guest ships in a plugin that is not installed, the name is missyped, or the guest was removed/renamed in a newer Vagrant (e.g. distro guests that moved into plugins). Any action calling machine.guest.detect! (most up/provision/ssh flows) triggers it.","commonSituations":"Setting config.vm.guest to force an OS and mistyping it; Vagrantfiles written for plugin-provided guests (smartos, old coreos, etc.) on installs lacking the plugin; Vagrant upgrades renaming guest symbols.","solutions":["Remove the config.vm.guest line and let Vagrant detect the guest from the box","If you must pin it, use a registered guest name (e.g. :ubuntu, :linux, :windows, :darwin) and fix the typo","Install the plugin that provides the guest: `vagrant plugin install <name>`","Re-run `vagrant up` / `vagrant ssh` to confirm detection succeeds"],"exampleFix":"# before\nconfig.vm.guest = :coreos   # not registered in this Vagrant install\n\n# after\nconfig.vm.guest = :linux     # or delete the line to let Vagrant detect the OS from the box","handlingStrategy":"validation","validationCode":"guest = env.vagrantfile.config.vm.guest\nregistered = Vagrant.plugin(\"2\").manager.guests.keys\nif guest && !registered.include?(guest.to_sym)\n  raise ArgumentError, \"config.vm.guest=#{guest} unknown; registered: #{registered.inspect}\"\nend","typeGuard":null,"tryCatchPattern":"begin\n  machine.guest.detect!\nrescue Vagrant::Errors::GuestExplicitNotDetected => e\n  abort \"Guest #{e.extra_data[:value]} not found — fix config.vm.guest or install its plugin\"\nend","preventionTips":["Let Vagrant detect the guest from the box metadata; pin config.vm.guest only when necessary","Check plugin guest names with `vagrant plugin list` and docs before pinning","Re-test pinned guest names after every Vagrant/plugin upgrade"],"tags":["vagrant","guest","configuration","plugin","capability-host"],"backgroundTag":"unsupported-config-value","analyzedSha":"35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5","analyzedAt":"2026-08-21T13:34:32.514Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}