{"record":{"id":"f13246506e0eba68","repo":"hashicorp/vagrant","slug":"vagrant-box-outdated","errorCode":null,"errorMessage":"vagrant.box_outdated","messagePattern":"vagrant\\.box_outdated","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"plugins/commands/box/command/outdated.rb","lineNumber":97,"sourceCode":"              next\n            end\n\n            box_versions = md.versions(provider: box.provider, architecture: box.architecture)\n\n            if box_versions.empty?\n              latest_box_version = box_versions.last.to_i\n            else\n              latest_box_version = box_versions.last\n            end\n\n            if !md.compatible_version_update?(box.version, latest_box_version, provider: box.provider, architecture: box.architecture)\n              @env.ui.success(I18n.t(\n                \"vagrant.box_up_to_date\",\n                name: box.name,\n                provider: box.provider,\n                version: box.version))\n            else\n              @env.ui.warn(I18n.t(\n                \"vagrant.box_outdated\",\n                name: box.name,\n                provider: box.provider,\n                current: box.version,\n                latest: latest_box_version.to_s,))\n            end\n          end\n        end\n      end\n    end\n  end\nend\n","sourceCodeStart":79,"sourceCodeEnd":110,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/plugins/commands/box/command/outdated.rb#L79-L110","documentation":"Warning emitted by `vagrant box outdated` / `vagrant outdated` (plugins/commands/box/command/outdated.rb) after it fetches the box catalog metadata and metadata-compare (md.compatible_version_update?) reports that a newer version exists for the box's provider and architecture. It prints the current vs latest version ('* <name> for <provider> is outdated! Current: X. Latest: Y'). Note the numeric branch: when versions are integers it coerces with to_i, which can mis-compare unless-quoted versions.","triggerScenarios":"Running `vagrant box outdated` (or `vagrant outdated` which iterates machines) when the locally installed box version is lower than the latest version advertised in the box's catalog metadata URL for that provider/architecture.","commonSituations":"Routine drift: a base image team publishes 1.2.x while developers still have 1.1.x cached; boxes installed from a shrunken or custom catalog; version strings in the catalog stored unquoted so YAML parses them as integers and the comparison path differs.","solutions":["Update the box: run `vagrant box update` in the project (or `vagrant box update --box <name>`) to pull the latest version.","After updating, rebuild the machine to actually use it: `vagrant destroy && vagrant up` (or `vagrant box outdated --global` then prune).","If you intentionally pin an older version, set a version constraint in the Vagrantfile (config.vm.box_version) so the check knows your target, and ignore the warning.","Clean stale versions afterwards with `vagrant box prune` to reclaim disk space."],"exampleFix":"# before\nVagrant.configure(\"2\") do |config|\n  config.vm.box = \"ubuntu/jammy64\"        # always floats to latest, warning reappears\nend\n\n# after (pinned)\nVagrant.configure(\"2\") do |config|\n  config.vm.box = \"ubuntu/jammy64\"\n  config.vm.box_version = \"20240101.0.0\"  # pin the version you test against\nend","handlingStrategy":"validation","validationCode":"# Vagrantfile: pin the tested version so drift is intentional\nVagrant.configure(\"2\") do |config|\n  config.vm.box = \"ubuntu/jammy64\"\n  config.vm.box_version = \"20240101.0.0\"\nend","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pin config.vm.box_version in projects that must not float.","Schedule `vagrant box update && vagrant destroy && vagrant up` refresh cycles rather than acting on each warning.","Run `vagrant box prune` after updates to remove the old versions the warning was about."],"tags":["vagrant","box-version","outdated-check","cli"],"backgroundTag":"outdated-package-version","analyzedSha":"35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5","analyzedAt":"2026-08-21T13:34:32.514Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}