failshut
Audits Codex permission hooks and deny/ask rules to verify they fail shut rather than silently fail open.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
failshut
Tell you, in one command, whether your AI coding-agent permission hooks and deny/ask rules actually fail shut — or silently fail open.
You configured deny/ask/hooks for Claude Code, Codex, or OpenCode. After an upgrade, does policy still hold — or did a harness quirk turn it into a silent allow? failshut audit pressurizes the config manifold and reports every joint that bubbles.
Pain this comes from (see Coverage for what v0.1 actually detects): claude-code#32990 · claude-code#102649 · opencode#55728 · opencode#55814 · opencode#55909 · codex#54298 · codex#54440 · codex#54448 · claude-code#102582
Install
# Linux amd64 example — see Releases for darwin/windows + arm64
curl -sL https://github.com/Blackman99/failshut/releases/download/v0.1.3/failshut_0.1.3_linux_amd64.tar.gz | tar xz
./failshut auditOr: go install github.com/Blackman99/failshut/cmd/failshut@latest
Related MCP server: pod
Usage
failshut audit
failshut audit --project ~/code/my-app # also scans <project>/.claude and opencode.json
failshut audit --json
failshut mcp # read-only: audit_report, list_findingsSample FAIL OPEN output:
FAIL OPEN — 1 finding(s) where policy may not hold:
[1] hook-missing (claude-code)
file: /home/you/app/.claude/settings.json
evidence: PreToolUse command "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/block-src-writes.sh" runs /home/you/app/.claude/hooks/block-src-writes.sh — missing
fix: Restore the hook script or fix the path: a hook that cannot start is a non-blocking error, so Claude Code lets the tool call through. Or add "onFailure": "block" to the hook (Claude Code v2.1.295+) so a failed hook blocks the call.
Summary: 1 FAIL OPEN · 5 FAIL SHUT checks · 1 config(s)
Exit 1 on any FAIL OPEN · 0 if sealed or nothing configured.
v0.1 is static. It does not intercept live tool calls (--canary → not in v0.1).
Rules
ID | Catches |
| Claude Code hook whose script is missing or not executable. The command is parsed like a shell would: |
| OpenCode |
| OpenCode agent (incl. |
|
|
| Heuristic Codex approval/sandbox mismatches (see Coverage) |
| Heuristic hook-ask + auto-allow pairing (see Coverage) |
Coverage
What v0.1 detects from config alone, issue by issue. Being honest here is part of the product.
Issue | Status | Notes |
Detected |
| |
Detected after the fact |
| |
Detected |
| |
Detected when the agent is configured |
| |
Partial | Only | |
Not detected | Codex's | |
Not detected | Windows runtime bug; nothing in config shows it. | |
Not detected | Delegation policy is chosen by the service, not by a local config key. | |
Not detected | Hook |
Docs & site
https://blackman99.github.io/failshut/ · docs
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Proves AI-generated Python does what you asked: lint, types, security, sandbox run, exact fixes.
Test your AI agents for security and safety weaknesses, and re-verify the fixes.
Lets coding agents check their own code for leaked secrets, risky dependencies and AI-code mistakes
Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAudits AI agent skills for safety using static, semantic, adversarial, and supply-chain analysis, providing scores and risk flags. Can be run via CLI, CI, or as an MCP tool from Claude Code, Cursor, and Codex.17 PyPI2Apache 2.0
- AlicenseAqualityBmaintenanceLeast-privilege compiler and MCP gateway for AI agents: run your agent in record-only mode, compile the smallest policy it actually needs from its real tool calls, enforce it at the gateway (deny > approve > allow), and keep a SHA-256 hash-chained audit of every call that verifies offline.14192 npm1Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables red-team testing of AI agents against indirect prompt injection by fuzzing payloads with delimiter evasion and Unicode homoglyphs, detecting exfiltration canaries, enforcing least-privilege tool boundaries, and producing cryptographic audit proofs.7MIT
- AlicenseNot gradedqualityBmaintenanceEnables agents and operators to audit MCP tool permissions for least privilege, score blast radius, detect privilege-escalation chains, verify capability matrices, and produce cryptographic audit proofs with injection fuzzing and exfiltration canaries.7MIT