cvm
Documentation
GitHub
Overview

cvm documentation

Technical reference for isolating and sharing Claude Code environments with cvm.

What cvm is

cvm (Claude Virtualenv Manager) isolates Claude Code configuration the way Python venv isolates packages. Each environment is a directory under ~/.cvm/envs/<name>. When active, cvm points Claude Code at that directory via CLAUDE_CONFIG_DIR — without patching Claude Code.

Beyond isolation, cvm shares reproducible setups through a secrets-free cvm.yaml, can seed environments from ~/.claude, auto-activates from a project .cvm file, and runs several Claude sessions in parallel.

Audience

Mental model

  1. Create an environment — directory, optional credentials, optional inherited skills, bin/ shims.
  2. Activate with cvm use (shell hooks) or run once with cvm open / cvm run.
  3. Claude Code reads and writes under that environment’s config directory.
  4. Optionally export / import the non-secret surface as cvm.yaml.
Shell integration is required for use / deactivate. A child process cannot mutate its parent shell. Install hooks with cvm init.

How-to guides