{"record":{"id":"3d998bc595bad793","repo":"hashicorp/vagrant","slug":"the-box-you-re-adding-has-a-name-different-from-th","errorCode":null,"errorMessage":"The box you're adding has a name different from the name you\nrequested. For boxes with metadata, you cannot override the name.\nIf you're adding a box using `vagrant box add`, don't specify\nthe `--name` parameter. If the box is being added via a Vagrantfile,\nchange the `config.vm.box` value to match the name below.\n\nRequested name: %{requested_name}\nActual name: %{actual_name}","messagePattern":"The box you're adding has a name different from the name you\nrequested\\. For boxes with metadata, you cannot override the name\\.\nIf you're adding a box using `vagrant box add`, don't specify\nthe `--name` parameter\\. If the box is being added via a Vagrantfile,\nchange the `config\\.vm\\.box` value to match the name below\\.\n\nRequested name: %(.+?)\nActual name: %(.+?)","errorType":"exception","errorClass":"Vagrant::Errors::BoxAddNameMismatch","httpStatus":null,"severity":"warning","filePath":"lib/vagrant/action/builtin/box_add.rb","lineNumber":256,"sourceCode":"            metadata_path = download(\n              authenticated_url, env, json: true, ui: false)\n            return if @download_interrupted\n\n            File.open(metadata_path) do |f|\n              metadata = BoxMetadata.new(f, url: authenticated_url)\n            end\n          rescue Errors::DownloaderError => e\n            raise if !expanded\n            raise Errors::BoxAddShortNotFound,\n              error: e.extra_data[:message],\n              name: display_original_url,\n              url: display_url\n          ensure\n            metadata_path.delete if metadata_path && metadata_path.file?\n          end\n\n          if env[:box_name] && metadata.name != env[:box_name]\n            raise Errors::BoxAddNameMismatch,\n              actual_name: metadata.name,\n              requested_name: env[:box_name]\n          end\n\n          metadata_version  = metadata.version(\n            version || \">= 0\",\n            provider: provider,\n            architecture: architecture,\n          )\n\n          if !metadata_version\n            if provider\n              # If no version found that supports the provider, then the\n              # box has no support for the provider\n              if !metadata.version(\">= 0\", provider: provider)\n                raise Errors::BoxAddNoMatchingProvider,\n                  name: metadata.name,\n                  requested: Array(provider).join(\", \"),","sourceCodeStart":238,"sourceCodeEnd":274,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/lib/vagrant/action/builtin/box_add.rb#L238-L274","documentation":"PodmanProvisioner::Installer#ensure_installed (installer.rb:15-21) mirrors the Docker installer: if `@machine.guest.capability?(:podman_installed)` is false it warns — via a hardcoded string rather than an I18n key — \"Podman can not be installed\" and returns false, skipping detection and installation. The wording is misleading: the actual condition is that Vagrant cannot DETECT whether Podman is installed for this guest OS; it is not a statement that installation is impossible. Everything after (pull/build/run via podman) then depends on Podman already being in the box.","triggerScenarios":"Using `config.vm.provision \"podman\"` on a guest whose OS is not handled by a guest plugin registering podman_installed (only a small set of guests implement it), so ensure_installed short-circuits before the podman_install capability is ever invoked.","commonSituations":"Custom or LTS boxes where the podman capability is missing; podman genuinely not installed, causing the later container steps to fail with 'podman: command not found'; users misled by the message into thinking the install itself is broken rather than the detection.","solutions":["Check reality first: `vagrant ssh -c 'command -v podman && podman --version'`.","Preinstall Podman with a shell provisioner (dnf/apt/zypper) before the podman provisioner runs.","Use a base box matching a guest that implements podman_installed (recent Fedora/CentOS/Ubuntu boxes with a current Vagrant).","Upgrade Vagrant so newer podman guest capabilities apply."],"exampleFix":"# Vagrantfile — before\nconfig.vm.provision \"podman\" do |p|\n  p.pull_image \"quay.io/libpod/alpine\"\nend\n\n# after (detection unsupported: install explicitly)\nconfig.vm.provision \"shell\", inline: \"command -v podman >/dev/null || sudo dnf -y install podman\"\nconfig.vm.provision \"podman\" do |p|\n  p.pull_image \"quay.io/libpod/alpine\"\nend","handlingStrategy":"fallback","validationCode":"# Pre-flight: confirm podman exists in the guest before the podman provisioner runs\nvagrant ssh -c 'command -v podman && podman --version'","typeGuard":"# Where you hold a machine object (plugin/pry context)\ndef podman_verifiable?(machine)\n  machine.guest.capability?(:podman_installed)\nend","tryCatchPattern":null,"preventionTips":["Install Podman yourself (shell provisioner or Packer bake) when the guest lacks the podman_installed capability.","Remember the message text means 'detection unsupported', not 'installation impossible' — check the box, not Vagrant, first.","Verify with `podman --version` over SSH after up so later pull/build steps do not fail blindly."],"tags":["podman","vagrant","guest-detection","provisioning"],"backgroundTag":"guest-capability-unsupported","analyzedSha":"35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5","analyzedAt":"2026-08-21T13:34:32.514Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}