Skip to content

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

irm https://rampart.sh/install.ps1 | iex

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

rampart 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

rampart serve

Note: On Windows, use rampart serve --background for the current login session and rampart serve stop to 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

rampart 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):

# Delete Rampart files
Remove-Item -Recurse -Force ~\.rampart

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:

$env:PATH = "$env:USERPROFILE\.rampart\bin;$env:PATH"

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

  1. Verify hooks are installed: rampart doctor
  2. Check settings file exists: Test-Path ~\.claude\settings.json
  3. Re-run setup: rampart setup claude-code --force

Policy not blocking commands

  1. Make sure rampart serve is running
  2. Check the serve URL matches (default: http://localhost:9090)
  3. 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