Skip to content
Back to skills

Hermes Windows Setup

CSecurity

Install and configure a repo-centric Hermes agent workspace on Windows. Covers prerequisites, repo cloning, Python/uv environment, skills system, memory bridge, and multi-agent coordination — the Windows equivalent of the Linux workspace-hub pattern.

  • 17 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 9, 2026
ai-agentspythongoshellbashnodegitapi

Works with

  • claude code
  • terminal
  • cli
  • api

Security analysis

C67/100
  • criticalPipes output to a shell interpreter
  • mediumInstalls packages at runtime which could introduce malicious dependencies
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 2 files and shows the line behind each finding

Scanned September 28, 2026

npx -y skills add vamseeachanta/workspace-hub --skill hermes-windows-setup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Hermes Windows Setup?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Hermes Windows Setup
[![Security: C — Skills Directory](https://www.skillsdirectory.com/api/skills/vamseeachanta-hermes-windows-setup/badge)](https://www.skillsdirectory.com/skills/vamseeachanta-hermes-windows-setup)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: hermes-windows-setup
description: Install and configure a repo-centric Hermes agent workspace on Windows. Covers prerequisites, repo cloning, Python/uv environment, skills system, memory bridge, and multi-agent coordination — the Windows equivalent of the Linux workspace-hub pattern.
version: 1.0.0
tags: [hermes, windows, setup, repo-centric, workspace, installation]
related_skills: [hermes-agent, Codex]
---

# Hermes Windows Setup

Repo-centric Hermes agent installation and configuration for Windows machines. This produces the same workspace pattern as the Linux workspace-hub: skills, memory, and configs live inside the git repo so all agents share them.

## ⚠️ Rules for This Skill

- This skill is **Windows-only**. On Linux, use the standard workspace-hub pattern.
- The workspace repo (`.claude/`) is the **source of truth** — not any global agent config.
- All skills and memory files **MUST be git-tracked**.
- Never commit `.env` files or API keys.
- Use `python` not `python3` on Windows.
- Use `uv run <script.py>` for script execution.
- Git `core.autocrlf` MUST be `true` on Windows.

## Phase 1: Prerequisites

### 1.1 — Git for Windows

```powershell
git --version
```

If not installed, download from https://git-scm.com/download/win
During install: use defaults, ensure "Git from command line" is enabled.

### 1.2 — Python 3.12+

```powershell
python --version
```

If missing, install from https://python.org
**CRITICAL:** Check "Add Python to PATH" during install.

### 1.3 — uv Package Manager

```powershell
uv --version
```

If missing:
```powershell
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
```
Restart terminal after install so `uv` is on PATH.

### 1.4 — GitHub CLI

```powershell
gh --version
```

If missing:
```powershell
winget install GitHub.cli
```

Then authenticate:
```powershell
gh auth login
```
Follow interactive flow (browser-based OAuth recommended).

### 1.5 — Windows Terminal (Recommended)

Install from Microsoft Store or:
```powershell
winget install Microsoft.WindowsTerminal
```

PowerShell 7+ is strongly preferred over cmd.exe for better Unicode, pipelining, and git integration.

## Phase 2: Workspace Directory Structure

```powershell
# Create workspace root
mkdir C:\workspace-hub
cd C:\workspace-hub

# Clone the main workspace-hub repo
git clone <workspace-hub-repo-url> .

# Clone additional repos as subdirectories (if applicable)
git clone <digitalmodel-repo-url> digitalmodel
```

On Windows, paths use `\` but git/tools also accept `/`.

## Phase 3: Python Environment

```powershell
cd C:\workspace-hub

# Create virtual environment
uv venv

# Activate
.\.venv\Scripts\activate

# Install dependencies (if requirements.txt exists)
uv pip install -r requirements.txt

# Core packages if no requirements.txt:
uv pip install python-dotenv openai anthropic requests pyyaml rich click
```

On Windows, use `python` directly after activation, or `uv run script.py` without activation:
```powershell
# Both work:
python -c "import yaml; print('ok')"
uv run python -c "import yaml; print('ok')"
```

## Phase 4: Agent Installation

### Option A — Hermes Agent

```powershell
# Install via installer script
irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1 | iex

# Verify
hermes --version

# Run setup wizard
hermes setup

# Configure workspace path in config.yaml
hermes config edit
```

In `config.yaml`, set external skill directories:
```yaml
skills:
  external_dirs:
    - C:\workspace-hub\.claude\skills
```

### Option B — Claude Code

```powershell
npm install -g @anthropic-ai/claude-code
claude --help
```

Claude Code reads `.claude/CLAUDE.md` and `.claude/skills/` automatically from the workspace directory.

## Phase 5: Skills System (Repo-Centric)

The skills system is the core of repo-centric agent memory. Skills live in the repo, not in a global directory, so all agents share them.

### 5.1 — Create Structure

```powershell
mkdir -p C:\workspace-hub\.claude\skills
mkdir -p C:\workspace-hub\.claude\memory
```

### 5.2 — Key Skill Files to Ensure Exist

Copy or create these in `.claude/skills/`:
- `workspace-cli/` — CLI conventions
- `repo-structure/` — source layout conventions
- `clean-code/` — coding standards
- `memory-bridge-operation/` — Hermes ↔ repo memory sync
- `repo-structure/` — project directory conventions

If cloning from an existing workspace-hub repo, these are already present.

### 5.3 — How External Skills Work

Hermes indexes `.claude/skills/` as an external skill directory:
- **Read-only** — Hermes reads but never writes to external skills
- **Full integration** — appear in system prompt, skills_list, and slash commands
- **Local precedence** — local `~/.hermes/skills/` overrides external if same name

## Phase 6: Memory Bridge

The memory bridge syncs agent memory into git-tracked files:

```powershell
# Create memory files
New-Item -Path "C:\workspace-hub\.claude\memory\user.md" -ItemType File -Force
New-Item -Path "C:\workspace-hub\.claude\memory\project.md" -ItemType File -Force
```

These files are git-tracked and serve as persistent memory accessible to ALL agents working in this workspace.

Configure your agent to read these files at session start. For Hermes, add to config:
```yaml
memory:
  memory_enabled: true
  user_profile_enabled: true
```

## Phase 7: Git Configuration

```powershell
cd C:\workspace-hub
git config user.name "Your Name"
git config user.email "you@example.com"
git config core.autocrlf true
git config core.eol crlf

# SSH agent (if using SSH)
Start-Service ssh-agent
```

Create `.gitignore` if not present:
```
.venv/
__pycache__/
*.pyc
.env
node_modules/
*.log
.DS_Store
```

## Phase 8: Verification

Run these checks in order:

```powershell
# 1. Clean working tree
git status

# 2. Python version
uv run python -c "import sys; print(sys.version)"

# 3. GitHub auth
gh auth status

# 4. Agent test — simple task
hermes chat -q "List all .md files in .claude/skills/"
```

Expected:
1. `git status` → clean working tree (or untracked `.env` is OK)
2. Python 3.12+ shown
3. "Logged in to github.com" shown
4. Agent completes task without errors

## Phase 9: First Run

Start your agent pointing at `C:\workspace-hub`:

```powershell
cd C:\workspace-hub
hermes
```

Test prompt: "Read .claude/AGENTS.md and confirm you understand the workspace conventions."

## Multi-Agent Coordination on Windows

### Running Multiple Agents

All agents (Hermes, Claude Code, Codex) point at the same `C:\workspace-hub` directory and read from the same `.claude/skills/` and `.claude/memory/`.

### Git Contention Prevention

When running multiple agents simultaneously:

```powershell
# Use git worktree mode in Hermes
hermes -w  # or --worktree

# Or use separate worktrees for each agent
git worktree add ../workspace-hub-agent-a
git worktree add ../workspace-hub-agent-b
```

### Windows-Specific Notes for Background Processes

```powershell
# Background with Start-Process (PowerShell)
Start-Process -NoNewWindow -FilePath "uv" -ArgumentList "run", "script.py"

# Background with hermes
hermes chat -q "Long running task"  # Fire-and-forget mode
```

## Windows vs Linux Differences

| Aspect | Linux | Windows |
|--------|-------|---------|
| Python command | `uv run python3` or `python3` | `python` or `uv run python` |
| Path separator | `/` | `\` (but `/` works too) |
| Shebangs | `#!/usr/bin/env python3` | Don't rely — use `uv run` |
| Git line endings | `core.autocrlf=input` | `core.autocrlf=true` |
| Background | `&` or `nohup` | `Start-Process` |
| Terminal | bash/zsh | PowerShell 7+ |
| SSH agent | `eval $(ssh-agent)` | `Start-Service ssh-agent` |
| Home dir | `~/.hermes/` | `%USERPROFILE%\.hermes\` |

## Workspace-Hub Parity Audit Findings (2026-04-11)

When using Claude Code directly on a Windows machine inside the workspace-hub ecosystem, the repo preserves most Hermes advantages via git-tracked `.claude/skills/`, `.claude/memory/`, `.claude/state/`, and exported orchestrator logs. However, full parity is **not automatic** yet. Apply these checks before calling the setup complete:

### Required for high-confidence parity

1. **Git Bash is required** — current Claude project hooks invoke `bash` commands extensively.
2. **Node.js + Claude Code auth must be working** — verify with `claude --version` and `claude auth status --text`.
3. **Install `uv` on Windows Git Bash unless you have patched the hooks** — several tracked hooks still call `uv run ...`.
4. **Provide a `python3` shim/alias or patch hooks to use `python`** — some hooks still call `python3` even though Windows conventions say `python`.
5. **`jq` should be installed in Git Bash** — readiness and hook scripts expect it.

### Repo-side caveats to check

- `scripts/readiness/harness-config.yaml` may still have `licensed-win-1.ws_hub_path: null`. Set the actual Windows workspace path (for example `<workspace-root>\\workspace-hub`) when hardening a real machine.
- A tracked readiness proof file should exist after setup: `.claude/state/harness-readiness-ace-win-1.yaml`.
- Windows write-back parity is still incomplete if issue `#1918` (Windows auto-memory sync back to repo) is still open. Windows can consume shared context now, but may not automatically publish all new learnings back into the ecosystem.
- Treat Windows as **repo-parity first**: Claude Code reads `.claude/` directly, so you retain most Hermes advantages even without installing Hermes locally.

### Practical interpretation

If the machine can:
- `git pull`
- run Claude Code from repo root
- execute `.claude/settings.json` hooks successfully under Git Bash
- see shared `.claude/skills/`, `.claude/memory/`, `.claude/state/`

then it is good enough for productive Claude-on-Windows work, even if full Hermes runtime parity is not yet complete.

## Common Windows Pitfalls

### Antivirus Blocking

Windows Defender or enterprise AV may block `uv`, `hermes`, or Python scripts. Add exclusions:
```powershell
# Example: Add Windows Defender exclusion
Add-MpPreference -ExclusionPath "C:\workspace-hub"
```

### PowerShell Execution Policy

If scripts won't run:
```powershell
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
```

### Path Length Limit

Windows has MAX_PATH=260. Enable long paths:
```powershell
# Registry
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1
# Or group policy: Computer Configuration → Administrative Templates → System → Filesystem → Enable Win32 long paths
```

### Python in VS Code Terminal

If Python isn't found in VS Code integrated terminal:
1. VS Code may use cmd.exe by default — switch to PowerShell
2. Ensure Python is in system PATH (not just user PATH)
3. Restart VS Code after PATH changes

### WSL2 (Optional)

If you need Linux compatibility:
```powershell
wsl --install
```

Keep workspace files on Windows filesystem (`/mnt/c/workspace-hub`) for cross-tool accessibility. WSL2 tools can access Windows files, but Windows tools CANNOT access WSL2 files (`\\wsl$\`).

## Troubleshooting

### "uv is not recognized"
- The installer added uv to user PATH but terminal wasn't restarted
- Close and reopen PowerShell, or run: `$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")`

### "python is not recognized"
- Python wasn't added to PATH during install
- Reinstall Python and check "Add to PATH", or manually add to PATH

### Git SSL certificate errors
- Corporate proxy may be interfering
- Configure git proxy: `git config --global http.proxy http://proxy.company.com:8080`
- Or disable SSL verification (not recommended): `git config --global http.sslVerify false`

### Skills not loading
- Check `hermes config edit` → `skills.external_dirs` points to correct path
- Verify `.claude/skills/` exists and has `SKILL.md` files
- Restart Hermes session with `/new` to reload skills

### Memory not persisting
- Check `.claude/memory/` files exist and are not empty
- Verify config has `memory.memory_enabled: true`
- Check the memory bridge script runs on session start

Files in this skill

  • SKILL.md11.9 KB
  • references/windows-setup.md4.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.