---
layout: docs
page_title: vagrant package - Command-Line Interface
description: |-
  The "vagrant package" command is used to package a currently-running
  VirtualBox or Hyper-V vagrant environment into a reusable Vagrant box.
---

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
> [!IMPORTANT]  
> **Documentation Update:** Product documentation previously located in `/website` has moved to the [`hashicorp/web-unified-docs`](https://github.com/hashicorp/web-unified-docs) repository, where all product documentation is now centralized. Please make contributions directly to `web-unified-docs`, since changes to `/website` in this repository will not appear on developer.hashicorp.com.
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

# Package

**Command: `vagrant package [name|id]`**

This packages a currently running _VirtualBox_ or _Hyper-V_ environment into a
re-usable [box](/vagrant/docs/boxes). This command can only be used with
other [providers](/vagrant/docs/providers/) based on the provider implementation
and if the provider supports it.

## Options

- `--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. 
  **In a multi-machine environment, the UUID is required.** This info can be 
  gathered in two different ways `ls -l ~/VirtualBox\ VMs` or `vboxmanage list vms`.

- `--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.

- `--info path/to/info.json` - The package will include a custom JSON file containing
  information to be displayed by the [list](/vagrant/docs/cli/box#box-list) command when invoked
  with the `-i` flag

- `--vagrantfile FILE` - Packages a Vagrantfile with the box, that is loaded
  as part of the [Vagrantfile load order](/vagrant/docs/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](/vagrant/docs/vagrantfile/#load-order).
