Skip to main content
Get up and running with Vers in under 10 minutes. This guide takes you from install to your first branched virtual machine.

What You’ll Accomplish

  • Install the Vers CLI
  • Set up authentication
  • Create your first project
  • Launch a virtual machine
  • Experience the power of VM branching

Step 1: Install the CLI

Install the latest version of the Vers CLI with a single command:
The installer detects your platform and places the binary at /usr/local/bin/vers. You may be prompted for admin privileges.
Verify the install:
You should see the Vers version number. For alternate install methods (source build, manual binary), see Installation.

Step 2: Authentication

Log In to Vers

Paste in the API Key you created by following get your api key

Alternatively, if you want to create a vers account with your github email from CLI:

This opens your browser to authenticate with your Vers account. It pulls the email from your git config (git config user.email) and your SSH public key from ~/.ssh/, then:
  1. Sends a verification email to that address
  2. You click the link in the email (10 min verification window)
  3. You pick an org if you belong to multiple
  4. CLI auto-creates an API key labeled vers-cli-<hostname> and saves it in ~/.versrc
Once complete, you’re all set.

Verify Authentication

If authentication was successful, you’ll see cluster information (likely empty for new accounts).

Step 3: Your First Project

Create a Project Directory

Initialize the Project

This creates:
  • vers.toml - Configuration file specifying VM resources and environment
  • .vers/ - Local repository for managing VM states and branches

Understanding vers.toml

The generated configuration looks like this:
This creates a basic Ubuntu environment. For real projects, you’ll often customize these settings.

Step 4: Launch Your First VM

Start the Environment

This command:
  1. Creates a new environment
  2. Launches the root VM with the specified configuration
  3. Sets your HEAD to the new VM
You’ll see output like:

Check the Status

You should see something like:
This shows your running VM that HEAD points to.

Step 5: Connect to Your VM

SSH Into the VM

This automatically:
  • Manages SSH keys
  • Connects you to the running VM
  • Drops you into a terminal session
You’re now inside a fresh Ubuntu environment! Try some commands:

Step 6: Experience VM Branching

This is where Vers gets powerful. Instead of starting over, you can branch your VM state.

Create a Branch

This creates a complete copy of your VM, including:
  • All installed software
  • Your files (test.txt is still there)
  • Running processes
  • Memory state

Switch Between Branches

Inside the experiment VM:

Compare States

Inside the main VM:
This is the power of Vers: multiple VM states that diverged from the same starting point, without rebuilding from scratch.

Step 7: Clean Up (Optional)

Stop Your Environment

This removes your VMs.

What’s Next?

Now that you understand the basics, explore these resources:

Common Patterns

Development Workflow:
Testing Workflow:

Key Commands Reference

Troubleshooting

”Command not found: vers”

The binary isn’t in your PATH. Either:
  • Move it to /usr/local/bin/ (macOS/Linux)
  • Add its location to your PATH environment variable
  • Run it with the full path: ./vers-macos-arm64 --version

”Authentication failed"

"No VMs found”

You haven’t created any VMs yet:

VM won’t start

Check your configuration in vers.toml. The default settings work for most systems, but you might need to adjust memory allocation on resource-constrained machines.

What’s next

Agent swarms

Fork one golden VM into parallel agents. Full-stack app in ~60 seconds.

Parallel web testing

Navigate to a form once, branch to test every input path in parallel.

Database state testing

Snapshot a seeded DB, branch per migration, compare outcomes.

Architecture

How branching and commits work under the hood.

Support