Skip to content

CLI Overview

vx provides a comprehensive command-line interface for managing development tools, project environments, and development workflows.

Basic Syntax

bash
# Subcommand mode
vx [OPTIONS] <COMMAND> [ARGS]

# Direct execution mode (transparent proxy)
vx [OPTIONS] <TOOL> [TOOL_ARGS]

Global Options

OptionDescription
--verbose, -vEnable verbose output
--debugEnable debug output
--use-system-pathUse system PATH instead of vx-managed tools
--no-auto-installDisable auto-installation of missing tools
--help, -hShow help
--version, -VShow version

Commands at a Glance

Tool Management

CommandAliasDescription
installiInstall tool versions (vx install node@22 python@3.12)
uninstallRemove an installed tool version
listlsList installed tools and available runtimes
versionsShow available versions for a tool
whichwhereShow the path of the currently active tool
switchSwitch to a different installed version
searchSearch for available tools
testTest runtime availability and provider functionality
globalgManage globally installed packages (isolated)

Project Management

CommandAliasDescription
initInitialize a new vx.toml for the project
addAdd a tool requirement to vx.toml
removermRemove a tool from vx.toml
syncSync project tools with vx.toml
lockGenerate/update vx.lock for reproducible environments
checkCheck version constraints and tool availability
bundleOffline development environment packaging
analyzeAnalyze project dependencies, scripts, and tools

Scripts & Environment

CommandDescription
runRun scripts defined in vx.toml
devEnter development environment (interactive shell)
setupInstall all project tools and run setup hooks
envManage virtual environments

Configuration & Shell

CommandAliasDescription
configcfgManage global and project configuration
shellShell integration (init, completions)

Extensions & Plugins

CommandAliasDescription
extextensionManage vx extensions
xExecute extension commands
pluginManage provider plugins

System & Maintenance

CommandDescription
infoShow system information, capabilities, and diagnostics
metricsView execution performance metrics
cacheCache management (info, list, prune, purge)
self-updateUpdate vx itself
versionShow vx version
migrateMigrate configuration and data formats
hookManage lifecycle hooks
servicesDevelopment service management
containerContainer/Dockerfile management
authAuthentication management

Direct Tool Execution

Run any managed tool by using it as the command:

bash
vx node --version        # Run Node.js
vx python script.py      # Run Python script
vx go build ./...        # Build Go project
vx cargo test            # Run Rust tests
vx uv run pytest         # Run Python tests via uv

Tools are automatically installed on first use. Dependencies are resolved and installed as well (e.g., vx npm install ensures Node.js is available).

Package Execution Syntax

Execute packages on-demand using the unified syntax:

vx <ecosystem>[@runtime_version]:<package>[@version][::executable] [args...]

Examples

bash
# Run package executables
vx npm:typescript::tsc --version     # TypeScript compiler
vx pip:httpie::http GET example.com  # HTTPie client
vx cargo:ripgrep::rg "pattern" .     # ripgrep search

# Scoped npm packages
vx npm:@biomejs/biome::biome check .

# With version pinning
vx npm:typescript@5.3::tsc --version
vx pip:ruff@0.3 check .

# With runtime version
vx npm@20:typescript::tsc --version  # Use Node.js 20

Supported Ecosystems

EcosystemRuntimeExample
npmNode.jsvx npm:typescript::tsc
pip / uvPythonvx pip:httpie::http
cargoRustvx cargo:ripgrep::rg
goGovx go:golangci-lint
bunBunvx bun:typescript::tsc
yarn / pnpmNode.jsvx yarn:typescript::tsc

Use :: when the package name differs from the executable name.

Exit Codes

CodeMeaning
0Success
1General error
2Command not found
3Tool not installed
4Configuration error

Environment Variables

VariableDescription
VX_HOMEOverride vx data directory
VX_ENVCurrent environment name
VX_AUTO_INSTALLEnable/disable auto-install (true/false)
VX_VERBOSEEnable verbose output
VX_DEBUGEnable debug output
VX_CDN_ENABLEDEnable CDN acceleration

Getting Help

bash
# General help
vx --help

# Command-specific help
vx install --help
vx env --help
vx global --help

Released under the MIT License.