hashicorp/vagrant · warning
No URL was provided to upload the provider You will need to
Error message
No URL was provided to upload the provider You will need to run the `vagrant cloud provider upload` command to provide a box
What it means
Warning from `vagrant cloud provider create` (plugins/commands/cloud/provider/create.rb) when no --url was supplied. The provider record is still created on Vagrant Cloud, but without a hosted box file URL, so the message reminds you that you must later run `vagrant cloud provider upload` to attach the actual box file. It is a workflow hint, not a failure (the create proceeds).
Source
Thrown at plugins/commands/cloud/provider/create.rb:74
end
# Create a provider for the box version
#
# @param [String] org Organization name
# @param [String] box Box name
# @param [String] version Box version
# @param [String] provider Provider name
# @param [String] url Provider asset URL
# @param [String] access_token User Vagrant Cloud access token
# @param [Hash] options
# @option options [String] :architecture Architecture of guest box
# @option options [String] :checksum Checksum of the box asset
# @option options [String] :checksum_type Type of the checksum
# @option options [Boolean] :default_architecture Default architecture for named provider
# @return [Integer]
def create_provider(org, box, version, provider, url, access_token, options={})
if !url
@env.ui.warn(I18n.t("cloud_command.upload.no_url"))
end
account = VagrantCloud::Account.new(
custom_server: api_server_url,
access_token: access_token
)
with_version(account: account, org: org, box: box, version: version) do |version|
provider = version.add_provider(provider, options[:architecture])
provider.checksum = options[:checksum] if options.key?(:checksum)
provider.checksum_type = options[:checksum_type] if options.key?(:checksum_type)
provider.architecture = options[:architecture] if options.key?(:architecture)
provider.default_architecture = options[:default_architecture] if options.key?(:default_architecture)
provider.url = url if url
provider.save
@env.ui.success(I18n.t("cloud_command.provider.create_success",
architecture: options[:architecture], provider: provider.name, org: org, box_name: box, version: version.version))
format_box_results(provider, @env)View on GitHub (pinned to 35f3160f4a)
Solutions
- Finish the workflow: upload the file with `vagrant cloud provider upload org/box 1.0.0 virtualbox --file /path/to.box`.
- Or avoid the split entirely by passing --url <https://host/box.box> at create time if you self-host the artifact.
- Alternatively use the single-shot `vagrant cloud publish org/box 1.0.0 virtualbox /path/to.box` which creates and uploads in one command.
- Verify the provider is complete before releasing: `vagrant cloud box show org/box` should list a URL or your uploaded file.
Example fix
# before vagrant cloud provider create myorg/app 1.0.0 virtualbox # -> No URL was provided ... (provider exists but has no box file) # after (one-shot create + upload) vagrant cloud publish myorg/app 1.0.0 virtualbox ./app.box --release
Defensive patterns
Strategy: validation
Validate before calling
URL=${BOX_URL:-}
if [ -z "$URL" ] && [ ! -f "$BOX_FILE" ]; then
echo "either --url or a follow-up 'cloud provider upload' is required" >&2; exit 1
fi Prevention
- Prefer one-shot `vagrant cloud publish org/box v p file.box` when the artifact is local.
- Track 'provider created but not uploaded' steps in a checklist or pipeline state file.
- Verify with `vagrant cloud box show` that a URL/file exists before releasing the version.
When it happens
Trigger: Running `vagrant cloud provider create org/box 1.0.0 virtualbox` with no --url flag; the provider shell is created with checksum/architecture metadata but no asset URL.
Common situations: Split publish workflows where metadata is created first and the large box file is uploaded separately (common for slow links); forgetting the second step and shipping a provider entry users cannot download; CI jobs that create providers from templates and inject the file later.
Related errors
- No URL was provided to upload the provider You will need to
- 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
- 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/d5829f5c243e31aa.
Report an issue: GitHub.