{"record":{"id":"9a3c52a785e3cca4","repo":"hashicorp/vagrant","slug":"the-box-name-for-the-provider-provider-i","errorCode":null,"errorMessage":"The box '%{name}' for the provider '%{provider}' isn't installed\nfor the architecture '%{architecture}'. Please double-check and\ntry again. The installed architectures for the box are shown\nbelow:\n\n%{architectures}","messagePattern":"The box '%(.+?)' for the provider '%(.+?)' isn't installed\nfor the architecture '%(.+?)'\\. Please double-check and\ntry again\\. The installed architectures for the box are shown\nbelow:\n\n%(.+?)","errorType":"exception","errorClass":"Vagrant::Errors::BoxNotFoundWithProviderArchitecture","httpStatus":null,"severity":"error","filePath":"plugins/commands/box/command/update.rb","lineNumber":104,"sourceCode":"              provider: provider.to_s,\n              providers: box_info.keys.map(&:to_s).sort.join(\", \")\n          end\n\n          version = box_info[provider].keys.sort_by{ |v| Gem::Version.new(v) }.last\n          architecture_list = box_info[provider][version]\n\n          if !architecture\n            if architecture_list.size > 1\n              raise Vagrant::Errors::BoxUpdateMultiArchitecture,\n                name: name.to_s,\n                provider: provider.to_s,\n                version: version.to_s,\n                architectures: architecture_list.sort.join(\", \")\n            end\n\n            architecture = architecture_list.first\n          elsif !architecture_list.include?(architecture)\n            raise Vagrant::Errors::BoxNotFoundWithProviderArchitecture,\n              name: name.to_s,\n              provider: provider.to_s,\n              version: version.to_s,\n              architecture: architecture,\n              architectures: architecture_list.sort.join(\", \")\n          end\n\n          # Architecture gets cast to a string when collecting information\n          # above. Convert it back to a nil if it's empty\n          architecture = nil if architecture.to_s.empty?\n\n          box = @env.boxes.find(name, provider, version, architecture)\n          box_update(box, \"> #{version}\", @env.ui, download_options, force)\n        end\n\n        def update_vms(argv, provider, download_options, force)\n          machines = {}\n","sourceCodeStart":86,"sourceCodeEnd":122,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/plugins/commands/box/command/update.rb#L86-L122","documentation":"Raised by `vagrant box update` when --architecture is passed but that architecture is not among the ones installed for the resolved provider and newest version (`!architecture_list.include?(architecture)`). The message lists the architectures actually installed for that version so the correct value can be chosen.","triggerScenarios":"`vagrant box update --box mybox --provider virtualbox --architecture i386` when only amd64 and arm64 are installed; passing an arch string that differs in case or spelling from the stored value.","commonSituations":"Porting scripts from x86-only to ARM hosts; assuming a 32-bit variant exists; arch naming mismatches (x86_64 vs amd64).","solutions":["Use one of the architectures listed in the message (e.g. amd64 or arm64)","If you need a different architecture, add the box for it first with `vagrant box add`","Check `uname -m` and the box catalog page for supported architecture names"],"exampleFix":"# before\nvagrant box update --box mybox --provider virtualbox --architecture i386\n# error: architecture 'i386' not installed; installed: amd64, arm64\n\n# after\nvagrant box update --box mybox --provider virtualbox --architecture arm64","handlingStrategy":"validation","validationCode":"# bash: only pass architectures actually installed (shown by vagrant box list)\nARCH=${ARCH:-$(uname -m)}\nvagrant box list | grep \"^$BOX \" | grep \"$PROVIDER\" | grep -q \"$ARCH\" ||\n  { echo \"$ARCH not installed for $BOX/$PROVIDER - pick from:\"; vagrant box list | grep \"^$BOX \"; exit 1; }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use the architecture names Vagrant prints (amd64/arm64), not uname spellings blindly","Map uname -m (x86_64) to box arch names (amd64) in wrapper scripts","Add the box for the missing architecture instead of updating a non-installed one"],"tags":["box","update","architecture","not-found"],"backgroundTag":"resource-not-found","analyzedSha":"35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5","analyzedAt":"2026-08-21T13:34:32.514Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}