Gateguard banner
zunoworks zunoworks

Gateguard

AI community

Description

A fact-forcing hook gate for Claude Code. Makes the AI pause and investigate before editing.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

GateGuard

![PyPI](https://img.shields.io/pypi/v/gateguard-ai) ![Python](https://img.shields.io/pypi/pyversions/gateguard-ai) ![License](https://img.shields.io/pypi/l/gateguard-ai) ![CI](https://github.com/zunoworks/gateguard/actions/workflows/ci.yml/badge.svg)

**A fact-forcing hook gate for Claude Code.**

**Not to be confused** with `gateguard-personal` — an internal hook used at ZUNO WORKS with its own version series (`v4.x`). This repository is the public Python package `gateguard-ai` (`v0.x.y` series).

GateGuard makes Claude Code pause and investigate before it edits your files. When Claude tries to modify, create, or run something without having looked first, the gate blocks the attempt and forces Claude to gather concrete facts — who imports this file, what the data actually looks like, what the user's instruction was — before it is allowed to proceed.

Self-evaluation ("are you sure?") doesn't change LLM behavior. Forced investigation does. And since **v0.6.0**, investigation is no longer demanded and then taken on trust: an evidence ledger observes what Claude actually did (`Read` / `Grep` / `Glob` / investigative `Bash`), and the gate opens on observed behavior — never on claims. If Claude already did the homework, no gate fires at all. If it didn't, the gate fires and the homework it then does is recorded, becoming its pass on retry.

Evidence: A/B test results

**Measured on v0.3.0** — when every first Edit/Write was gated. v0.6.0 keeps this exact ceremony for *uninvestigated* targets (the evidence ledger only skips it when the investigation observably already happened), so the mechanism below is still the fallback path — but these numbers have **not** been re-measured on v0.6.0.

**Current-generation evidence lives in [benchmarks/painbench](benchmarks/painbench/RESULTS.md)** (2026-07-27, subject claude-opus-5): trap tasks built from 2026 field reports. Short version — on the 5 family the gate runs at near-zero friction, and