Bug Description
hermes update fails on systems where Hermes was installed via uv tool install hermes-agent, because _cmd_update_pip() runs uv pip install --upgrade hermes-agent which requires an active virtual environment.
Steps to Reproduce
- Install Hermes via
uv tool install hermes-agent (standard install script)
- Run
hermes update
- See error:
→ Running: /home/user/.local/bin/uv pip install --upgrade hermes-agent
error: No virtual environment found; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment
✗ Update failed
Root Cause
In hermes_cli/main.py, function _cmd_update_pip() (line 7724):
uv = shutil.which("uv")
if uv:
cmd = [uv, "pip", "install", "--upgrade", "hermes-agent"]
uv pip install requires a virtual environment, but uv tool install installs globally — there is no venv.
Fix
Detect the installation method and use the correct command:
uv = shutil.which("uv")
if uv:
tool_check = subprocess.run(
[uv, "tool", "list"],
capture_output=True, text=True, timeout=15,
)
is_uv_tool = "hermes-agent" in tool_check.stdout
if is_uv_tool:
cmd = [uv, "tool", "upgrade", "hermes-agent"]
else:
cmd = [uv, "pip", "install", "--upgrade", "--system", "hermes-agent"]
Environment
- OS: Linux (Debian)
- Hermes version: 0.14.0
- Installation method: standard install script (
curl ... | bash)
Bug Description
hermes updatefails on systems where Hermes was installed viauv tool install hermes-agent, because_cmd_update_pip()runsuv pip install --upgrade hermes-agentwhich requires an active virtual environment.Steps to Reproduce
uv tool install hermes-agent(standard install script)hermes updateRoot Cause
In
hermes_cli/main.py, function_cmd_update_pip()(line 7724):uv pip installrequires a virtual environment, butuv tool installinstalls globally — there is no venv.Fix
Detect the installation method and use the correct command:
Environment
curl ... | bash)