block-no-verify weekly downloads statistics
By tupe12334 · npm · Claude Code
Blocks AI agents from bypassing git hooks: --no-verify, core.hooksPath overrides, hook-manager disable env vars, and the same hidden in git aliases or shell wrappers.
block-no-verify has 10,371 recorded weekly downloads on npm, a decrease of 63.0% over the past 30 days, ranking #954 of 2,322 tracked listings.
About block-no-verify
block-no-verify
A security tool that blocks ways AI agents can bypass local git hooks. It flags the --no-verify flag, core.hooksPath overrides, GitHub MCP tool calls that write through the GitHub API, and hook-manager disable env vars (Husky, Lefthook, Overcommit, pre-commit).
Powered by @polyhook/sdk — write the hook once, run it everywhere.
Why?
When using AI coding assistants like Claude Code, Cursor, Windsurf, Cline, or Amp, you might have git hooks (pre-commit, pre-push) that enforce code quality, run tests, or perform security checks. Agents can side-step those hooks in several common ways:
- passing
--no-verifyto a git command, - overriding
core.hooksPathin any letter case (e.g.git -c core.hookspath=/dev/null ...), - calling GitHub MCP tools such as
mcp__github__push_filesthat commit or merge directly through the GitHub API, skipping the local hook chain entirely, - setting a hook manager's own disable environment variable, e.g.
HUSKY=0,LEFTHOOK=0,OVERCOMMIT_DISABLE=1, or a non-emptySKIP=(pre-commit framework), - hiding any of the above in a git alias (
git -c alias.ci="commit --no-verify" ci), - wrapping any of the above in a shell command string (
bash -c "...",sh -c '...'), - running any of the above from a string in code passed to an interpreter (
python3 -c,node -e,perl -e, anawkprogram) or fed to one on stdin, from anecho/printfscript piped into a shell, or from apwsh -EncodedCommandvalue.
This package provides a CLI that blocks all of these, working with any AI tool that supports command / tool-use hooks. Text that only mentions a bypass inside a commit or PR message is allowed. A command it cannot parse (for example an unterminated ${) is blocked, because it cannot confirm that the command is safe.
Used By
<a href="https://github.com/langgenius/dify"> <img src="https://github.com/langgenius.png" width="50" height="50" alt="Dify" title="Dify - Open-source LLM app development platform (133k★)"> </a> <a href="https://github.com/nicolargo/glances"> <img src="https://raw.githubusercontent.com/nicolargo/glances/develop/docs/_static/Glances%20Text%20Logo.svg" width="50" height="50" alt="Glances" title="Glances - Cross-platform system monitoring tool (32k★)"> </a> <a href="https://github.com/pubkey/rxdb"> <img src="https://raw.githubusercontent.com/pubkey/rxdb/master/docs-src/static/files/logo/rxdb_mini.svg" width="50" height="50" alt="RxDB" title="RxDB - Local-first database for JavaScript applications (23k★)"> </a> <a href="https://github.com/promptfoo/promptfoo"> <img src="https://github.com/promptfoo.png" width="50" height="50" alt="Promptfoo" title="Promptfoo - LLM testing and evaluation framework (18k★)"> </a> <a href="https://github.com/YFGaia/dify-plus"> <img src="https://github.com/YFGaia.png" width="50" height="50" alt="Dify Plus" title="Dify Plus - Enhanced Dify distribution (2k★)"> </a> <a href="https://github.com/forcedotcom/salesforcedx-vscode"> <img src="https://github.com/forcedotcom.png" width="50" height="50" alt="Salesforce Extensions for VS Code" title="Salesforce Extensions for VS Code (1k★)"> </a> <a href="https://centy.io"> <img src="https://github.com/centy-io.png" width="50" height="50" alt="Centy" title="Centy"> </a> <a href="https://worktree.io"> <img src="https://github.com/worktree-io.png" width="50" height="50" alt="Worktree" title="Worktree"> </a>Supported Agents
See polyhook's supported tools list.
Installation
Add as a dev dependency to ensure a consistent, pinned version:
pnpm add -D block-no-verify
# or
npm install --save-dev block-no-verify
Then use it with pnpm exec block-no-verify or npm exec block-no-verify.
Platform Integration
Claude Code
Add to your .claude/settings.json. The first matcher handles shell commands (--no-verify, core.hooksPath); the second matches any GitHub MCP tool so direct-to-API writes are also blocked:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "pnpm exec block-no-verify"
}
]
},
{
"matcher": "mcp__github__.*",
"hooks": [
{
"type": "command",
"command": "pnpm exec block-no-verify"
}
]
}
]
}
}
Cursor
Cursor 1.7+ supports hooks via .cursor/hooks.json. The beforeShellExecution hook runs before any shell command.
Create .cursor/hooks.json in your project root:
{
"version": 1,
"hooks": {
"beforeShellExecution": [
{
"command": "pnpm exec block-no-verify"
}
]
}
}
Note: Cursor hooks are in beta. See Cursor Hooks Documentation for the latest information.
Windsurf
Add to your .windsurf/settings.json:
{
"hooks": {
"PreToolUse": [
{
"matcher": ".*",
"hooks": [
{
"type": "command",
"command": "pnpm exec block-no-verify"
}
]
}
]
}
}
Gemini CLI
Add to your .gemini/settings.json:
{
"hooks": {
"BeforeTool": [
{
"matcher": "run_shell_command",
"hooks": [
{
"name": "block-no-verify",
"type": "command",
"command": "pnpm exec block-no-verify",
"timeout": 5000
}
]
}
]
}
}
Note: Hooks are disabled by default in Gemini CLI. See Gemini CLI Hooks Documentation for details.
Supported Git Commands
The following git commands are monitored for --no-verify:
git commitgit pushgit mergegit cherry-pickgit rebasegit am
Blocked GitHub MCP Tools…
Description from the npm listing.
- git
- no-verify
- hooks
- cli
- security
- ai-safety
- claude-code
- agent-governance
- pre-commit
- husky
- lefthook
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (544)Similar npm Claude Code plugins
All 20 block-no-verify alternativesData source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/block-no-verify. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.