{"record":{"id":"e9798b38e7559e46","repo":"hashicorp/vagrant","slug":"vagrant-provisioners-chef-appended-folder-folde","errorCode":null,"errorMessage":"vagrant.provisioners.chef.#{appended_folder}_folder_not_found_warning","messagePattern":"vagrant\\.provisioners\\.chef\\.#(.+?)_folder_not_found_warning","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"plugins/provisioners/chef/provisioner/chef_solo.rb","lineNumber":95,"sourceCode":"\n          results = []\n          paths.each do |type, path|\n            # Create the local/remote path based on whether this is a host\n            # or VM path.\n            local_path = nil\n            remote_path = nil\n            if type == :host\n              # Get the expanded path that the host path points to\n              local_path = File.expand_path(path, @machine.env.root_path)\n\n              if File.exist?(local_path)\n                # Path exists on the host, setup the remote path. We use\n                # the MD5 of the local path so that it is predictable.\n                key         = Digest::MD5.hexdigest(local_path)\n                remote_path = \"#{guest_provisioning_path}/#{key}\"\n              else\n                appended_folder = \"cookbooks\" if appended_folder.nil?\n                @machine.ui.warn(I18n.t(\"vagrant.provisioners.chef.#{appended_folder}_folder_not_found_warning\",\n                                       path: local_path.to_s))\n                next\n              end\n            else\n              # Path already exists on the virtual machine. Expand it\n              # relative to where we're provisioning.\n\n              # Remove drive letter if running on a windows host. This is a bit\n              # of a hack but is the most portable way I can think of at the moment\n              # to achieve this. Otherwise, Vagrant attempts to share at some crazy\n              # path like /home/vagrant/c:/foo/bar\n              remote_path = File.expand_path(path.sub(/^[a-zA-Z]:\\//, \"/\"), guest_provisioning_path.sub(/^[a-zA-Z]:\\//, \"/\"))\n              remote_path.sub!(/^[a-zA-Z]:\\//, \"/\")\n            end\n\n            # If we have specified a folder name to append then append it\n            if type == :host\n              remote_path += \"/#{appended_folder}\" if appended_folder","sourceCodeStart":77,"sourceCodeEnd":113,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/plugins/provisioners/chef/provisioner/chef_solo.rb#L77-L113","documentation":"Error \"vagrant.provisioners.chef.#{appended_folder}_folder_not_found_warning\" thrown in hashicorp/vagrant.","triggerScenarios":"Thrown at plugins/provisioners/chef/provisioner/chef_solo.rb:95 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5","analyzedAt":"2026-08-21T13:34:32.514Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}