{"record":{"id":"7a9dce9d39ae22b6","repo":"hashicorp/vagrant","slug":"you-requested-to-update-the-box-name-v-vers","errorCode":null,"errorMessage":"You requested to update the box '%{name}' (v%{version}) with provider\n'%{provider}'. This box has multiple architectures. You must explicitly\nselect a single architecture to update with `--architecture`.","messagePattern":"You requested to update the box '%(.+?)' \\(v%(.+?)\\) with provider\n'%(.+?)'\\. This box has multiple architectures\\. You must explicitly\nselect a single architecture to update with `--architecture`\\.","errorType":"exception","errorClass":"Vagrant::Errors::BoxUpdateMultiArchitecture","httpStatus":null,"severity":"error","filePath":"plugins/commands/box/command/update.rb","lineNumber":95,"sourceCode":"              raise Vagrant::Errors::BoxUpdateMultiProvider,\n                name: name.to_s,\n                providers: box_info.keys.map(&:to_s).sort.join(\", \")\n            end\n\n            provider = box_info.keys.first\n          elsif !box_info[provider]\n            raise Vagrant::Errors::BoxNotFoundWithProvider,\n              name: name.to_s,\n              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","sourceCodeStart":77,"sourceCodeEnd":113,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/plugins/commands/box/command/update.rb#L77-L113","documentation":"Raised by `vagrant box update` when, after resolving the box and provider to its newest installed version (versions sorted with Gem::Version, last one wins), that exact version is installed for more than one architecture and --architecture was not passed. The message lists the architectures of that resolved version.","triggerScenarios":"`vagrant box update --box mybox --provider virtualbox` where the newest installed version has both amd64 and arm64 variants; multi-arch boxes on Apple Silicon or ARM CI hosts.","commonSituations":"Mixed fleets of Intel and Apple Silicon machines sharing scripts; newer Vagrant box distributions that ship per-architecture packages.","solutions":["Add --architecture matching one of the listed values: `vagrant box update --box mybox --provider virtualbox --architecture arm64`","Run `uname -m` (or check the host arch) to decide which architecture to select","Pin --architecture in shared scripts to keep updates deterministic"],"exampleFix":"# before\nvagrant box update --box mybox --provider virtualbox\n# error: multiple architectures, must select one (amd64, arm64)\n\n# after\nuname -m   # e.g. arm64\nvagrant box update --box mybox --provider virtualbox --architecture arm64","handlingStrategy":"validation","validationCode":"# bash: pass --architecture explicitly on mixed-arch fleets\nARCH=$(uname -m)                 # e.g. arm64 / x86_64\nvagrant box update --box \"$BOX\" --provider \"$PROVIDER\" --architecture \"$ARCH\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Derive --architecture from `uname -m` in scripts instead of omitting it","Check `vagrant box list` for architecture variants of the newest version before updating","Pin provider and architecture in shared scripts to avoid ambiguity errors"],"tags":["box","update","architecture","ambiguity"],"backgroundTag":"ambiguous-resource-selection","analyzedSha":"35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5","analyzedAt":"2026-08-21T13:34:32.514Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}