Reference
Command reference
Public CLI surface. Hidden resolvers used only by shell hooks are omitted.
Lifecycle
| Command | Aliases | Description |
|---|---|---|
cvm init <shell> | — | Print hooks for bash, zsh, fish, or powershell. |
cvm update | — | Install the latest GitHub Release binary in place. |
cvm create <env> [--anonymous] [--inherit] [--open] | — | Create ~/.cvm/envs/<env>. Copies global credentials unless --anonymous. --inherit links skills + copies settings. --open launches Claude immediately. |
cvm list | ls | List environments; mark the active one. |
cvm use <env> | activate | Activate in the current shell (needs hooks). Clears auto-pin (CVM_AUTO). |
cvm deactivate | — | Restore global Claude config, prompt, and PATH. |
cvm current | — | Print active environment name. |
cvm remove <env> [-y] | rm | Delete an environment. -y/--yes skips confirm. |
Run & edit
| Command | Description |
|---|---|
cvm edit [env] | Open .env in $VISUAL/$EDITOR (default: active). Creates the file if missing. |
cvm run <env> -- <cmd> | Run a command with env context + bin/ on PATH; parent shell unchanged. |
cvm open <env> | Alias for cvm run <env> -- claude. Safe to parallelize. |
Share
| Command | Description |
|---|---|
cvm export [env] [-o file] | Write YAML manifest (default env: active; default file: cvm.yaml). Never includes secret values. |
cvm import <file> [-n name] | Create/update an env from a manifest; blank .env placeholders for listed names. |
create flags in depth
- default — copy
~/.claude/.credentials.jsonwhen present (file-backed platforms). --anonymous— skip credential copy; empty login state.--inherit— symlink (or copy) each~/.claude/skills/*entry; copysettings.jsonif present.--open— after a successful create, open Claude and exit with its status code.
macOS note: credentials may live in the Keychain. If there is no
.credentials.json file, create still succeeds but you may need to log in once per environment.