hashicorp/vagrant · info · Vagrant::Errors::BoxAddNoArchitectureSupport

The box you're attempting to add doesn't support the request

Error message

The box you're attempting to add doesn't support the requested
architecture. Please find an alternate box that support the
requested architecture.

Box: %{name}
Address: %{url}
Architecture: %{architecture}

What it means

The same proxy_machine warning appears in the `vagrant rsync-auto` watcher loop (rsync_auto.rb:55-67): before computing the folder diff for each machine, the provider is queried for proxy_machine and, when a proxy is returned, rsync-auto warns that syncing will go to the proxy machine and switches target. As with the one-shot command this is expected for proxy-based providers (docker provider with a host VM); the watcher then monitors the Vagrantfile's host paths and rsyncs into the proxy on change.

Source

Thrown at lib/vagrant/action/builtin/box_add.rb:295

              # Get all versions that support the provider and architecture
              available_versions = metadata.versions(
                provider: provider,
                architecture: architecture
              )

              # If no versions are found, then the box does not provide
              # support for the requested architecture using the requested
              # architecture
              if available_versions.empty?
                supported_providers = metadata.versions(architecture: architecture).map do |v|
                  metadata.version(v).providers(architecture)
                end.compact.uniq.sort

                # If no providers are found, then the box does not
                # have any support for the requested architecture
                if supported_providers.empty?
                  raise Errors::BoxAddNoArchitectureSupport,
                    architecture: display_architecture,
                    name: metadata.name,
                    url: display_url
                end

                raise Errors::BoxAddNoMatchingArchitecture,
                  provider: Array(provider).join(", "),
                  architecture: display_architecture,
                  name: metadata.name,
                  url: display_url,
                  supported_providers: supported_providers
              end

              raise Errors::BoxAddNoMatchingProviderVersion,
                constraints: version || ">= 0",
                provider: Array(provider).join(", "),
                architecture: display_architecture,
                name: metadata.name,

View on GitHub (pinned to 35f3160f4a)

Solutions

  1. No fix required — the message documents the redirection; rsync-auto will keep the proxy VM in sync.
  2. Verify changes propagate into the actual container afterwards (exec a shell in the container and stat the file).
  3. If you did not expect proxying, check which provider each named machine uses: `vagrant status` and target explicitly, e.g. `vagrant rsync-auto <name>`.
Defensive patterns

Strategy: validation

Validate before calling

# Before starting the watcher, know which machines proxy:
vagrant status
# then watch explicitly:
# vagrant rsync-auto <name>

Type guard

# Where you hold a machine object
def rsync_auto_proxied?(machine)
  machine.provider.capability?(:proxy_machine) && machine.provider.capability(:proxy_machine)
end

Prevention

When it happens

Trigger: Starting `vagrant rsync-auto` with machines under a provider that reports a proxy via the proxy_machine capability — typically docker-provider environments on macOS/Windows that ride on a helper VM shared by all containers.

Common situations: Running rsync-auto over a multi-container docker-provider project and seeing every machine report the same proxy; users expecting rsync directly into containers; needs awareness that the boot2docker shared-VM folder filtering (rsync_auto_remove_folder) then applies.

Related errors


AI-assisted analysis of hashicorp/vagrant@35f3160f4a (2026-08-21). Data as JSON: /api/errors/85532cfeb4a4c78e. Report an issue: GitHub.