Skip to content
Unverified: This page has not yet been anchored to automated code tests.

Installing Vox

This is the canonical installation page. Every other install snippet in the repository is one command plus a link back here.

Vox is pre-1.0 (workspace version 0.6.0). The path that works today is cargo install from a checkout. voxup is the intended rustup-style installer, but there are no published GitHub Releases for it to download — see Packaging status.

Prerequisites: Rust 1.98.1 (rust-toolchain.toml; workspace rust-version is 1.96), Node.js >= 18 (frontend scaffolding), pnpm >= 9, and a C compiler (gcc / clang / MSVC).

Terminal window
git clone https://github.com/vox-foundation/vox.git
cd vox
cargo install --locked --path crates/vox-cli
vox doctor

Always pass --locked: it installs against the workspace Cargo.lock. This exact argument vector is the CARGO_INSTALL_CLI_FROM_SOURCE constant in crates/vox-cli/src/utils/install_policy/mod.rs.

Restart your terminal if vox is not on PATH, then verify:

Terminal window
vox --version

cargo install puts vox on your Cargo bin path (~/.cargo/bin by default).

When a published (non-draft) GitHub Release exists, voxup is the intended one-liner. Do not pipe the live URL into a shell today — https://voxlang.org/voxup has 404’d, and voxup ignores draft releases that CI creates.

The in-repo scripts (no arguments, no flags) are what the published URLs will serve:

Terminal window
sh scripts/install.sh # macOS / Linux
.\scripts\install.ps1 # Windows (PowerShell)

docs-astro/public/voxup and docs-astro/public/voxup.ps1 must stay byte-identical to scripts/install.sh and scripts/install.ps1 (enforced by documented_install_urls_are_served). Edit one, copy to the other in the same commit.

What the script will do once releases exist:

  1. Detect your platform and map it to a release target (x86_64-unknown-linux-gnu, x86_64-apple-darwin, aarch64-apple-darwin, x86_64-pc-windows-msvc). aarch64 Linux has no release asset and the script tells you to build from source.
  2. Query the GitHub Releases API for the newest published release of vox-foundation/vox (drafts are skipped).
  3. Download voxup-<tag>-<target>.tar.gz and checksums.txt, and verify SHA-256.
  4. Extract and run voxup install default.

Targets and artifact layout: binary release contract.

When that path works, it will install:

PathContents
~/.vox/bin/voxThe Vox CLI (real binary from the release archive)
~/.vox/bin/vox-lspThe standalone Language Server Protocol binary — vox lsp and editor integrations (e.g. the VS Code extension) spawn this from PATH
~/.vox/bin/voxupThe installer binary (used by voxup update)
~/.vox/toolchains/vox-<version>/Versioned toolchain directory
~/.vox/toolchains/activeActive version number (plain text)

~/.vox/bin is appended to your shell PATH. Update with voxup update once a newer published release exists.

For a development build without installing:

Terminal window
cargo build -p vox-cli
Terminal window
cargo install --locked --path crates/voxup
voxup install default

cargo install --locked --path crates/vox-cli and voxup give you the CLI only. vox doctor will keep reporting these as missing until you add them separately — see CONTRIBUTING.md for the full table.

The one that is easy to get wrong:

Terminal window
cargo install --locked --path crates/vox-ml-cli --features populi

populi is a non-default feature of vox-ml-cli. A bare cargo install --path crates/vox-ml-cli compiles the default mens-base feature set and yields a binary with no mesh transport, so vox populi cannot serve. The path and required feature are recorded as SOURCE_INSTALL_ML_CLI_REL_PATH and CARGO_INSTALL_ML_CLI_FROM_SOURCE in crates/vox-cli/src/utils/install_policy/mod.rs.

vox lsp (crates/vox-cli/src/commands/lsp.rs) does not run the language server in-process — it spawns a separate vox-lsp binary from PATH and proxies its stdio. cargo install --locked --path crates/vox-cli does not build or install vox-lsp; you must install it separately:

Terminal window
cargo install --locked --path crates/vox-lsp

Once published releases exist, voxup’s default and full tiers install vox-lsp alongside vox automatically (see the Packaging status table above for why the one-liner doesn’t work yet). The VS Code extension (apps/editor/vox-vscode) defaults to cargo run -p vox-lsp --release -- in a dev checkout, or a custom vox.lsp.serverPath setting pointing at an installed vox-lsp binary.

ChannelStatus today
cargo install --locked --path crates/vox-cliWorking. Requires a checkout and a Rust toolchain.
voxup one-liner (https://voxlang.org/voxup, /voxup.ps1)Not published. Script exists in-repo; live URL has 404’d; voxup needs a published (non-draft) GitHub Release.
GitHub Release archivesNot published. CI can create draft releases; nothing is published for voxup to consume.
Homebrew tapNot published. The release job builds and hashes a macOS tarball but the tap-update step is a placeholder; no vox-foundation/homebrew-vox formula is dispatched.
Windows .msiNot published. The cargo wix --no-build job has no preceding cargo build --profile dist, so it has no binary to package, and nothing is uploaded.
Debian .debNot published. cargo deb does build the package, but no step uploads it to the release.

Do not tell users to brew install, download an .msi, or apt install vox until those jobs actually publish artifacts.

Terminal window
vox doctor
CheckRequired?How to fix
Rust 1.98.1 (rust-toolchain.toml; workspace rust-version is 1.96)Yesrustup.rs
Node.js >= 18Optionalnodejs.org
pnpm >= 9Optionalpnpm.io
GitYesgit-scm.com
C compiler (MSVC / gcc / clang)YesPlatform-specific, see below
clang / LLVMOptionalThe workspace patches aegis with pure-rust defaults, so a typical Windows + MSVC build does not need clang-cl for Turso. Install LLVM only if you hit a toolchain that still expects native crypto builds.
Google AI Studio keyRecommendedFree at aistudio.google.com/apikey
OpenRouter keyOptionalopenrouter.ai/keys
OllamaOptionalollama.com
VoxDB directory writableYes~/.vox/ must exist and be writable

Example output:

✓ Rust / Cargo cargo 1.98.1
✓ Node.js v20.11.0 (>= v18)
✓ pnpm v9.1.0 (>= v9)
✓ Git git version 2.44.0
✓ C Compiler MSVC Build Tools found
✓ Google AI Studio Key configured (free Gemini models available)
○ OpenRouter Key (optional) not configured
○ Ollama Local (optional) not running
✓ VoxDB directory C:\Users\you\.vox (writable)
✓ All checks passed — you're ready to build with Vox!

Vox uses a three-layer model cascade — you get free AI with just a Google account.

No credit card required. Provides Gemini 2.5 Flash, Flash-Lite, and Pro.

Terminal window
export GEMINI_API_KEY=YOUR_KEY

A free key unlocks dozens of :free models; a paid key unlocks frontier models.

Terminal window
export OPENROUTER_API_KEY=YOUR_KEY

Zero-auth local inference. Install Ollama, pull a model, and Vox auto-detects it on localhost:11434.

Terminal window
ollama pull llama3.2
Terminal window
# Build from source
docker build -t vox .
# Optional: image with `vox populi` (HTTP control plane)
docker build -t vox:mens --build-arg VOX_CLI_FEATURES=mens .
# Run MCP server
docker run -e GEMINI_API_KEY=... -p 3000:3000 vox
# MCP + in-container mens sidecar (background `vox populi serve` on 9847)
docker run -e VOX_MESH_MESH_SIDECAR=1 -e GEMINI_API_KEY=... -p 3000:3000 -p 9847:9847 vox:mens
# Full stack with docker compose
cp .env.example .env # fill in GEMINI_API_KEY
docker compose up

An example multi-service mens compose file lives at examples/mens-compose.yml.

  • MSVC (C++): winget install -e --id Microsoft.VisualStudio.2022.BuildTools (include the Desktop development with C++ workload when prompted).
  • clang-cl (Turso / aegis): winget install -e --id LLVM.LLVM so clang-cl.exe is on PATH (usually C:\Program Files\LLVM\bin). Only needed if a native crypto build is required.
  • WSL: running sh scripts/install.sh inside WSL avoids MSVC / clang-cl friction for some workflows.
  • C compiler: xcode-select --install (ships clang).
  • Turso: usually satisfied by the Xcode Command Line Tools; if aegis still fails, brew install llvm and follow Homebrew’s PATH notes.
  • C compiler: sudo apt-get install build-essential (Debian / Ubuntu).
  • clang (recommended for Turso): sudo apt-get install clang.