{"record":{"id":"83babd3926a4756c","repo":"hashicorp/vagrant","slug":"feature-will-stop-working-in-the-next-version","errorCode":null,"errorMessage":"feature will stop working in the next version.","messagePattern":"feature will stop working in the next version\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"plugins/commands/box/command/remove.rb","lineNumber":62,"sourceCode":"\n            o.on(\"--all-architectures\", \"Remove all architectures within a provider a version of the box\") do |a|\n              options[:all_architectures] = a\n            end\n          end\n\n          # Parse the options\n          argv = parse_options(opts)\n          return if !argv\n          if argv.empty? || argv.length > 2\n            raise Vagrant::Errors::CLIInvalidUsage,\n              help: opts.help.chomp\n          end\n\n          if argv.length == 2\n            # @deprecated\n            @env.ui.warn(\"WARNING: The second argument to `vagrant box remove`\")\n            @env.ui.warn(\"is deprecated. Please use the --provider flag. This\")\n            @env.ui.warn(\"feature will stop working in the next version.\")\n            options[:provider] = argv[1]\n          end\n\n          @env.action_runner.run(Vagrant::Action.action_box_remove, {\n            box_name:     argv[0],\n            box_architecture: options[:architecture],\n            box_provider: options[:provider],\n            box_version:  options[:version],\n            force_confirm_box_remove: options[:force],\n            box_remove_all_versions: options[:all],\n            box_remove_all_providers: options[:all_providers],\n            box_remove_all_architectures: options[:all_architectures]\n          })\n\n          # Success, exit status 0\n          0\n        end\n      end","sourceCodeStart":44,"sourceCodeEnd":80,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/plugins/commands/box/command/remove.rb#L44-L80","documentation":"Third and final line of the hardcoded deprecation warning in `vagrant box remove` (remove.rb:62): 'feature will stop working in the next version.' Printed after the other two lines when the command receives two positional arguments; execution then continues with options[:provider] set from argv[1], so today the removal still happens.","triggerScenarios":"`vagrant box remove <box-name> <provider>` (two positional args) on current Vagrant; will become a hard usage error (CLIInvalidUsage path / ignored extra arg) once the deprecated form is removed in the next version.","commonSituations":"Users who keep using the old form and treat the warning as noise will find their scripts breaking at the next major upgrade; the 'next version' deadline makes this a time-bomb for unattended automation.","solutions":["Migrate now to `vagrant box remove <name> --provider <provider>`.","Add a lint step or pre-flight check in automation that fails if it detects the two-argument form, so the breakage surfaces before the upgrade.","Re-test all box-removal scripts after each Vagrant upgrade, since the removal of this feature lands silently in release notes."],"exampleFix":"# before\nvagrant box remove hashicorp/bionic64 virtualbox\n\n# after\nvagrant box remove hashicorp/bionic64 --provider virtualbox","handlingStrategy":"validation","validationCode":"# fail fast in automation if the to-be-removed form is detected\nif [[ \"$*\" =~ ^box\\ remove\\ [^ ]+\\ [^ ]+$ ]]; then\n  echo \"legacy positional provider will break next version\" >&2; exit 2\nfi","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Migrate before the next major Vagrant release — the warning explicitly announces removal.","Keep a regression test that greps scripts for the two-arg form.","Subscribe to Vagrant release notes for the removal commit."],"tags":["vagrant","deprecation","box-remove","future-breaking-change"],"backgroundTag":"deprecated-positional-argument","analyzedSha":"35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5","analyzedAt":"2026-08-21T13:34:32.514Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}