![[Project] Human Gate: a fail-closed approval firewall for OpenClaw agent tool calls](https://external-preview.redd.it/hFqgIn4QOCwfLkdHziR8-ALIDPRJ2BhaEnp7G4PeSRo.png?width=1080&crop=smart&auto=webp&s=46b04de21d3bcd62512d95c62a18c67a63c4be0e)
[Project] Human Gate: a fail-closed approval firewall for OpenClaw agent tool calls
Hi,I built Human Gate for OpenClaw because I wanted agents to remain useful without giving them an unlimited execution pass.
It is a TypeScript plugin that intercepts tool calls before execution and routes risky calls through OpenClaw's built-in approval flow.
Examples:
- reads can pass automatically
- tests and development commands can request approval
- force-pushes, recursive deletion, remote pipe-to-shell, and OpenClaw config writes are treated as critical
- approval previews are bounded and redact common secret-like values
- remembered approvals are session-local and expire
- denied actions can enter a short cooldown instead of repeatedly prompting
The project is here:
https://github.com/freshxiaoyao/openclaw-human-gate
Current target: OpenClaw >= 2026.7.1.
I would appreciate feedback from people running real OpenClaw workflows, especially:
Which calls should be auto-approved?
Which calls produce annoying false positives?
Is the approval explanation clear enough?
Should approval reuse be path-scoped, category-scoped, or disabled by default?
This is an early project, so bug reports and design criticism are more useful than general encouragement.