A JavaScript-based tool for writing shell-style scripts, wrapping child_process with safe argument escaping and cross-platform helpers.
hashicorp/vagrant
A CLI tool for building and distributing reproducible development environments on VirtualBox, VMware, AWS, OpenStack, Docker and more.
- Stars
- 27,219
- Forks
- 4,423
- Open issues
- 759
- Last commit
- 2 days ago
What is it?
Vagrant is a tool for building and distributing development environments. It uses a single configuration format to describe a complete portable environment, which can then be brought up with commands such as `vagrant init` and `vagrant up`.
Environments managed by Vagrant can run on local virtualization platforms such as VirtualBox or VMware, in the cloud through AWS or OpenStack, or inside containers such as Docker or raw LXC. The same environment definition is portable across Windows, macOS and Linux, so a team can share one setup instead of maintaining machine-specific instructions.
Vagrant downloads base images, called boxes, on demand when they are not already present locally. Its quick start uses VirtualBox because it is free and runs on all major platforms.
Key features
- 01Describes complete development environments in a single portable configuration.
- 02Supports local providers such as VirtualBox and VMware, plus AWS, OpenStack, Docker and LXC.
- 03Downloads base boxes automatically when they are not present locally.
- 04Runs on Windows, macOS and Linux.
Use cases
- Giving a team an identical development environment that matches production-like settings.
- Spinning up disposable test machines on VirtualBox or in the cloud.
- Sharing a reproducible setup for onboarding new developers.
Quick start
- 1
Install VirtualBox and download the Vagrant package for your OS from the downloads page
- 2
Initialize a project with the bionic64 box
vagrant init hashicorp/bionic64 - 3
Bring up the virtual environment
vagrant up
Things to know
- Requires bsdtar and curl available on the system PATH.
- Installing from source is documented separately and is intended for bleeding-edge use.
- HCP Vagrant is being deprecated, though this does not affect the Vagrant CLI.
Topics
FAQ
- What is vagrant?
- A CLI tool for building and distributing reproducible development environments on VirtualBox, VMware, AWS, OpenStack, Docker and more. Vagrant is a tool for building and distributing development environments. It uses a single configuration format to describe a complete portable environment, which can then be brought up with commands such as `vagrant init` and `vagrant up`.
- Is vagrant free to use? What license does it have?
- vagrant is open source under the Other license. Check the license terms before using it in commercial products.
- Is vagrant still maintained?
- Actively maintained. The last commit to vagrant was on Oct 19, 2026.
- What can I use vagrant for?
- Giving a team an identical development environment that matches production-like settings. Spinning up disposable test machines on VirtualBox or in the cloud. Sharing a reproducible setup for onboarding new developers.
- How do I install vagrant?
- Install VirtualBox and download the Vagrant package for your OS from the downloads page Initialize a project with the bionic64 box: vagrant init hashicorp/bionic64 Bring up the virtual environment: vagrant up
- Where can I get vagrant?
- The source code and installation instructions are on GitHub: https://github.com/hashicorp/vagrant
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Official command-line tool for Lark/Feishu, letting developers and AI Agents operate messages, docs, calendars, mail, tasks and more from the terminal.
A fast, cross-platform task runner written in Go, inspired by Make and configured through a Taskfile YAML file.
A free, open source GUI for managing WSL distros on Windows, and native Linux/macOS VMs on Mac.
Self-hosted control center for running coding agents like OpenHands, Claude Code and Codex across local, remote and cloud backends.
An open source, general-purpose AI agent that runs on your machine as a desktop app, CLI, or embeddable API, for code and non-code tasks.