Release 2.0.29 (2026-05-21)¶
Bug fixes¶
-
use os.execvp instead of subprocess.call Matches existing pattern in vrg_docker_test.py. Avoids Semgrep subprocess finding. Ref #986.
-
shell-quote workspace path in bash command strings Use shlex.quote on workspace before embedding in bash -lc strings to prevent command injection. Ref #986.
Chores¶
- bump version to 2.0.29
Features¶
-
identity config parser for VM session management Loads ~/.config/vergil/identities.toml, resolves project names to identity VMs and workspace paths. Workspace paths use /projects (the fixed VM mount point). Ref #984.
-
check pre-commit hook content against canonical template
- vrg-session CLI for launching Claude Code in identity VMs SSH into identity VM, forward ANTHROPIC_API_KEY, cd to workspace, launch claude. Includes VM auto-start via limactl. Ref #986.
Refactoring¶
- simplify vrg-session to use limactl native flags Remove API key forwarding, bash/env/shell string construction, and manual VM lifecycle management. Use limactl native --workdir and --start flags instead. Add passthrough of Claude CLI arguments via -- separator. Ref #986