Command: vagrant package [name|id]

This packages a currently running VirtualBox or Hyper-V environment into a re-usable box. This command can only be used with other providers based on the provider implementation and if the provider supports it.


  • --base NAME - Instead of packaging a VirtualBox machine that Vagrant manages, this will package a VirtualBox machine that VirtualBox manages. NAME should be the name or UUID of the machine from the VirtualBox GUI. Currently this option is only available for VirtualBox.

  • --output NAME - The resulting package will be saved as NAME. By default, it will be saved as package.box.

  • --include x,y,z - Additional files will be packaged with the box. These can be used by a packaged Vagrantfile (documented below) to perform additional tasks.

  • --vagrantfile FILE - Packages a Vagrantfile with the box, that is loaded as part of the Vagrantfile load order when the resulting box is used.

A common misconception is that the --vagrantfile option will package a Vagrantfile that is used when vagrant init is used with this box. This is not the case. Instead, a Vagrantfile is loaded and read as part of the Vagrant load process when the box is used. For more information, read about the Vagrantfile load order.

© 2010–2017 Mitchell Hashimoto
Licensed under the MPL 2.0 License.