hashicorp/vagrant · warning
This will completely remove provider %{provider} with archit
Error message
This will completely remove provider %{provider} with architecture %{architecture}
on version %{version} from %{box} on Vagrant Cloud. This cannot be undone. What it means
Destructive-action warning from `vagrant cloud provider delete` (plugins/commands/cloud/provider/delete.rb). It resolves the architecture (from argv[3] or interactively via select_provider_architecture when multiple architectures exist for the provider), warns 'This will completely remove provider X with architecture Y on version V from B on Vagrant Cloud. This cannot be undone.', and unless --force was given prompts 'Do you wish to continue? [y/N]' returning exit 1 on anything but 'y'.
Source
Thrown at plugins/commands/cloud/provider/delete.rb:51
help: opts.help.chomp
end
org, box_name = argv.first.split('/', 2)
provider_name = argv[1]
version = argv[2]
architecture = argv[3]
@client = client_login(@env)
account = VagrantCloud::Account.new(
custom_server: api_server_url,
access_token: @client.token
)
if architecture.nil?
architecture = select_provider_architecture(account, org, box_name, version, provider_name)
end
@env.ui.warn(I18n.t("cloud_command.provider.delete_warn",
architecture: architecture, provider: provider_name, version: version, box: argv.first))
if !options[:force]
cont = @env.ui.ask(I18n.t("cloud_command.continue"))
return 1 if cont.strip.downcase != "y"
end
delete_provider(org, box_name, version, provider_name, architecture, account, options)
end
def select_provider_architecture(account, org, box, version, provider)
with_version(account: account, org: org, box: box, version: version) do |box_version|
list = box_version.providers.map(&:architecture)
return list.first if list.size == 1
@env.ui.info(I18n.t("cloud_command.provider.delete_multiple_architectures",
org: org, box_name: box, provider: provider))
list.each do |provider_name|View on GitHub (pinned to 35f3160f4a)
Solutions
- List before deleting: `vagrant cloud box show org/box` to get exact version/provider/architecture values.
- Pass the architecture explicitly as the 4th argument to skip the interactive selector, and use --force only after a dry verification.
- If the prompt stopped you, re-run and answer 'y', or add --force once you are sure.
- If you removed the wrong architecture, re-publish it with `vagrant cloud provider create ... --architecture <arch>` plus upload.
Example fix
# before vagrant cloud provider delete myorg/app 1.0.0 virtualbox # -> interactive architecture prompt, then [y/N] confirm # after (fully specified, non-interactive) vagrant cloud provider delete myorg/app 1.0.3 virtualbox arm64 --force
Defensive patterns
Strategy: validation
Validate before calling
# require all four arguments in wrappers around provider delete
[ $# -eq 4 ] || { echo "usage: cloud provider delete org/box VERSION PROVIDER ARCH" >&2; exit 2; }
# existence check first:
vagrant cloud box show "$1" | grep -q "$2/$3/$4" || { echo "no such provider entry" >&2; exit 1; } Prevention
- Always pass architecture explicitly to avoid the hidden interactive selector in scripts.
- Delete providers before versions before boxes — never the reverse order.
- Keep published box files for one release so a mistaken delete can be re-uploaded.
When it happens
Trigger: Running `vagrant cloud provider delete org/box 1.0.0 virtualbox` (architecture omitted so the interactive selector may appear first) or with a 4th architecture argument, without --force; the deletion removes that provider/architecture entry from the version.
Common situations: Removing a botched arm64 upload while keeping amd64; the architecture argument being forgotten so the command hangs waiting for the interactive architecture prompt in scripts; deleting the last provider of a version and accidentally making the version un-downloadable.
Related errors
- cloud_command.box.delete_warn
- You are about to publish a box on Vagrant Cloud with the fol
- This command was not invoked properly. The help for this com
- This command was not invoked properly. The help for this com
- This command was not invoked properly. The help for this com
AI-assisted analysis of hashicorp/vagrant@35f3160f4a (2026-08-21).
Data as JSON: /api/errors/245f3b75de378cba.
Report an issue: GitHub.