Windows Setup Guide¶
Rampart builds and tests its policy engine plus Claude Code, Codex, Cline, Cursor, Copilot, and Antigravity setup paths on Windows CI. Physical Windows host E2E is still pending, and Unix-specific integration modes remain unavailable.
Quick Install¶
This downloads and validates the latest release, transactionally installs it to ~\.rampart\bin, and adds that directory to your user PATH. It deliberately does not modify agent configuration. Run rampart protect afterward to detect, configure, and behaviorally verify supported installed agents.
Manual install: Download the .zip from GitHub Releases, extract rampart.exe, and add to your PATH.
Setup Claude Code¶
This adds lifecycle hooks to ~\.claude\settings.json. Claude Code routes hook-visible Bash and PowerShell calls through Rampart.
Basic Hook Protection Is Configured¶
After setup, matched hook-visible calls can be denied locally without rampart serve. This does not create an OS sandbox or cover host actions that Claude does not emit to hooks.
Optional: Policy Server¶
Run rampart serve if you want: - Live dashboard — rampart watch shows real-time decisions - External/headless approval flow — Claude's native ask prompt itself does not require serve - Centralized audit — stream events to the dashboard
Note: On Windows, use
rampart serve --backgroundfor the current login session andrampart serve stopto stop it. Automatic boot-service installation is not available; use Task Scheduler or NSSM for startup.
Verify Installation¶
# Check version
rampart version
# Health check
rampart doctor
# Test a command against your policy
rampart test "rm -rf /"
Windows-Specific Notes¶
What Works¶
| Feature | Status |
|---|---|
rampart serve | ✅ Foreground or --background |
rampart setup / rampart protect | ✅ Claude Code, Codex, Cline, Cursor, Copilot, and Antigravity |
rampart hook | ✅ Works |
rampart test | ✅ Works |
rampart watch | ✅ Works |
rampart mcp | ✅ Works |
| Path-based policies | ✅ Works (auto-converts \ to /) |
Limitations¶
| Feature | Status | Notes |
|---|---|---|
rampart serve install | ❌ | Use Task Scheduler or NSSM for automatic startup |
rampart upgrade | ❌ Re-run installer | Binary self-upgrade is intentionally disabled; --no-binary can refresh policies |
rampart wrap | ❌ Unix only | Uses $SHELL |
rampart preload | ❌ Unix only | Source-built native library; macOS SIP and hardened-runtime limits apply |
For every binary upgrade, rerun irm https://rampart.sh/install.ps1 | iex. The installer verifies the archive checksum and embedded version in a staging directory before it stops the managed Rampart process or moves the current installation. If replacement fails, it restores the prior installation. It also repairs the legacy ~\.rampart ACL found on affected v1.2.x installations.
If Windows or PowerShell stops during the brief directory-swap window, the next installer run reports any preserved .install-backup-* or .install-stage-* directory. Rampart does not delete those recovery files automatically; verify the active installation before removing them.
Path Matching¶
Rampart automatically normalizes Windows paths for policy matching:
# This policy works on both Windows and Unix:
- name: block-ssh-keys
match:
tool: [read]
rules:
- action: deny
when:
path_matches:
- "**/.ssh/id_*"
message: "SSH key access blocked"
C:\Users\dev\.ssh\id_rsa will match **/.ssh/id_* correctly.
Uninstall¶
Remove each configured integration with its rampart setup <agent> --remove command before deleting the binary and data directory.
Manual cleanup (if rampart command isn't working):
Then remove %USERPROFILE%\.rampart\bin from PATH: Settings → System → About → Advanced system settings → Environment Variables.
Troubleshooting¶
Windows Defender / Antivirus Warnings¶
Rampart is an unsigned binary that modifies other programs' configurations (Claude Code hooks). This may trigger security warnings:
SmartScreen "Windows protected your PC": 1. Click "More info" 2. Click "Run anyway"
Windows Defender quarantine: 1. Open Windows Security → Virus & threat protection 2. Click "Protection history" 3. Find Rampart, select "Restore" and "Allow on device"
Corporate antivirus blocking: Contact your IT team to whitelist rampart.exe, or install to a location your AV trusts.
Why does this happen? Rampart hooks into other programs and intercepts command execution — behaviors that look suspicious to antivirus heuristics. The binary is not code-signed (certificates cost ~$400/year). We're working on getting Rampart whitelisted with major AV vendors.
"rampart is not recognized"¶
The installer refreshes PATH automatically, but if it doesn't work:
Or restart your terminal.
Installation fails with "Access Denied"¶
If a previous install left files with broken permissions:
# Run as Administrator
takeown /f "$env:USERPROFILE\.rampart" /r /d y
icacls "$env:USERPROFILE\.rampart" /grant "$($env:USERNAME):F" /t
Remove-Item -Recurse -Force "$env:USERPROFILE\.rampart"
# Then re-run installer
irm https://rampart.sh/install.ps1 | iex
Claude Code not seeing hooks¶
- Verify hooks are installed:
rampart doctor - Check settings file exists:
Test-Path ~\.claude\settings.json - Re-run setup:
rampart setup claude-code --force
Policy not blocking commands¶
- Make sure
rampart serveis running - Check the serve URL matches (default:
http://localhost:9090) - Test directly:
rampart test "your-command"
Known Behavior¶
action: ask in --dangerously-skip-permissions mode¶
action: ask shows the native approval prompt even when Claude Code is launched with --dangerously-skip-permissions. Claude Code honors hook-returned permission decisions regardless of the bypass flag.
Next Steps¶
- Customizing Policy — customize what's allowed
- Native Ask Prompt — inline approval dialogs for sensitive commands
- Live Dashboard — monitor in real-time with
rampart watch