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)
uninstall—Remove an installed tool version
listlsList installed tools and available runtimes
versions—Show available versions for a tool
whichwhereShow the path of the currently active tool
switch—Switch to a different installed version
search—Search for available tools
test—Test runtime availability and provider functionality
globalgManage globally installed packages (isolated)
shim—Expose runtimes as plain commands (jq instead of vx jq)

Project Management ​

CommandAliasDescription
init—Initialize a new vx.toml for the project
add—Add a tool requirement to vx.toml
removermRemove a tool from vx.toml
sync—Sync project tools with vx.toml
lock—Generate/update vx.lock for reproducible environments
check—Check version constraints and tool availability
bundle—Offline development environment packaging
analyze—Analyze 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
shell—Shell integration (init, completions)

Extensions & Plugins ​

CommandAliasDescription
extextensionManage vx extensions
x—Execute extension commands
plugin—Manage 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.