Agent skill · software engineering · wshobson

block-no-verify-hook

Configure a PreToolUse hook to prevent AI agents from skipping git pre-commit hooks with --no-verify and other bypass flags. Use when setting up Claude Code projects that enforce commit quality gates.

Why this skill is useful

Adds a PreToolUse hook configuration that blocks bypass flags in git commands, ensuring compliance with commit quality standards.

What it needs

About 4k tokens when loaded. Last updated 2026-08-05. 38,570 stars on the source repository.

What this skill does

Block No-Verify Hook PreToolUse hook configuration that intercepts and blocks bypass-flag usage before execution, ensuring AI agents cannot skip pre-commit hooks, GPG signing, or other git safety mechanisms. Overview AI coding agents (Claude Code, Codex, etc.) can run shell commands with flags like --no-verify that bypass pre-commit hooks. This defeats the purpose of linting, formatting, testing, and security checks configured in pre-commit hooks. The block-no-verify hook adds a PreToolUse guard that rejects any tool call containing bypass flags before execution. Problem When AI agents commit code, they may use bypass flags to avoid hook failures: This allows: Unformatted code to enter the repository Linting errors to bypass checks Security scanning to be skipped Unsigned commits to bypass signing policies Test suites to be circumvented Solution Add a PreToolUse hook to .claude/settings.json that inspects every Bash tool call and blocks commands containing bypass flags. Configuration Add the following to your project's .claude/settings.json: How It Works 1. Matcher: The hook targets only Bash tool calls, so it does not interfere with other tools (Read, Edit, Grep, etc.). 2. Inspection: The $TOOLINPUT environment variable contains the full command the agent is about to execute. The hook uses printf to safely pass input (avoiding echo pitfalls with special characters) and checks for --no-verify or --no-gpg-sign flags only when preceded by a git command. 3. Blocking: If a bypass flag is found in a git command, the hook exits with code 2 and prints an error message. Exit code 2 signals Claude Code to reject the tool call entirely. 4. Pass-through: If no bypass flag is found, the hook exits with code 0 and the command executes normally. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills wshobson/block-no-verify-hook

View the source on GitHub

Browse the @skills marketplace