vagrant/website/content/docs/cli/init.mdx
2025-11-20 12:41:04 -05:00

75 lines
2.4 KiB
Text

---
layout: docs
page_title: vagrant init - Command-Line Interface
description: |-
The "vagrant init" command is used to initialize the current directory to be
a Vagrant environment by creating an initial Vagrantfile.
---
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
> [!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.
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
# Init
**Command: `vagrant init [name [url]]`**
This initializes the current directory to be a Vagrant environment
by creating an initial [Vagrantfile](/vagrant/docs/vagrantfile/) if
one does not already exist.
If a first argument is given, it will prepopulate the `config.vm.box`
setting in the created Vagrantfile.
If a second argument is given, it will prepopulate the `config.vm.box_url`
setting in the created Vagrantfile.
## Options
- `--box-version` - (Optional) The box version or box version constraint to add
to the `Vagrantfile`.
- `--force` - If specified, this command will overwrite any existing
`Vagrantfile`.
- `--minimal` - If specified, a minimal Vagrantfile will be created. This
Vagrantfile does not contain the instructional comments that the normal
Vagrantfile contains.
- `--output FILE` - This will output the Vagrantfile to the given file.
If this is "-", the Vagrantfile will be sent to stdout.
- `--template FILE` - Provide a custom ERB template for generating the Vagrantfile.
## Examples
Create a base Vagrantfile:
```shell-session
$ vagrant init hashicorp/bionic64
```
Create a minimal Vagrantfile (no comments or helpers):
```shell-session
$ vagrant init -m hashicorp/bionic64
```
Create a new Vagrantfile, overwriting the one at the current path:
```shell-session
$ vagrant init -f hashicorp/bionic64
```
Create a Vagrantfile with the specific box, from the specific box URL:
```shell-session
$ vagrant init my-company-box https://example.com/my-company.box
```
Create a Vagrantfile, locking the box to a version constraint:
```shell-session
$ vagrant init --box-version '> 0.1.5' hashicorp/bionic64
```