ThumbGate
<p align="center"> <a href="https://thumbgate.ai"> <img src="public/assets/brand/thumbgate-icon-512.png" alt="ThumbGate" width="128" height="128" /> </a> </p>Self-Improving Firewall for Your AI Agents. AI coding agents repeat mistakes — and one wrong tool call can wipe a directory, leak a key, or push broken code.
ThumbGate is the local-first Pre-Action Checks engine for AI coding agents. It runs in the PreToolUse hook on your machine: it evaluates a proposed tool call and logs the decision before tool execution. It hard-blocks detected secret leaks and two direct self-disable command classes by default — commands that terminate the ThumbGate gate process or enable its bypass environment override. Other high-risk classes, including destructive deletes (rm -rf), force-push, fetch-and-run, direct guardrail-file edits, off-scope edits, and deploys, warn and log by default. Set THUMBGATE_STRICT_ENFORCEMENT=1 to preserve deny decisions for every matched blocking rule. Works across configured Claude Code, Cursor, Codex, Gemini, Amp, Cline, and OpenCode integrations. No server is required on the local enforcement path. (Regulated-industry policy templates are roadmap directions, not shipped compliance claims.)
Accepted feedback is stored as local lessons. Repeated concrete failures can become prevention rules that promote from warnings to blocking gates; relevant lessons are re-ranked for each proposed action; stale auto-promoted gates expire; and stale lessons archive. The firewall improves from operations without retraining the model.
<p align="center"> <img src="docs/media/thumbgate-demo.gif" alt="ThumbGate gating an AI agent's dangerous commands (rm -rf, force-push, chmod 777) in real time — flagging them by default and hard-blocking under strict mode, while letting safe commands through" width="820" /> </p> Agent tries: rm -rf tests/
ThumbGate: ⚠️ WARN + LOG — "Never delete test directories"
Pattern matched: rm.*-rf.*tests
Source: your thumbs-down from last Tuesday
Strict mode: DENY before tool executionnpx thumbgate init # auto-detects the supported agent and wires its integrationMCP / Glama / registry install (stdio)
Directories and clients that install ThumbGate as an MCP server must start stdio MCP, not the HTTP API:
npx -y thumbgate serve- Equivalent:
npx -y thumbgate mcp - Do not use
npm startfor MCP — that launches the hosted HTTP API (src/api/server.js), not the agent-facing stdio server. - Canonical package metadata:
server.json(runtimeHint: npx+packageArguments: ["serve"]), Smithery:smithery.yaml, maintainers:glama.json. - Product name is ThumbGate only (npm:
thumbgate). Retired legacy package aliases are not active product surfaces.
Works with Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode and MCP-compatible agents after their integration is configured. Free tier: 2 feedback captures/day (10 total) and up to 3 active auto-promoted prevention rules. Pro: $19/mo or $149/yr is the individual tier for unlimited rules, history-aware lessons, feedback sessions, a personal dashboard, and DPO export. Enterprise is custom and scoped after intake; hosted team sync and a hosted org dashboard are not in the current general-availability runtime.
"A better dashboard doesn't make the agents more reliable. The hard part isn't visibility. It's trust."
— Rob May, CEO & co-founder, Neurometric AI, quoted in The New Stack on Anthropic's Claude Code Agent View (May 2026).
ThumbGate is our open-source attempt at that trust problem: inspectable PreToolUse decisions, accepted feedback captured as lessons, and recurring failures promoted into reviewable rules.
Agentic development cycle fit
Agentic development is becoming a loop: Guide → Generate → Verify → Solve. ThumbGate adds a pre-action decision point before tool execution.
- Guide: standards, prior thumbs-downs, and approval policies become concrete context.
- Generate: Claude Code, Cursor, Codex, Gemini, Amp, Cline, OpenCode, and MCP agents keep producing plans and tool calls.
- Verify: risky actions need evidence before execution, not just after PR review.
- Solve: flagged or denied failures can become reusable lessons, prevention rules, DPO exports, and audit events.
In that stack, ThumbGate is the pre-action gate between generated intent and executed action.
Discoverable slash-commands — the guardrail layer for spec-driven agents
Spec-driven agent frameworks like GSD (get-shit-done) and GitHub Spec Kit are great at planning and generating work — they expose dozens of discoverable /gsd-* / /specify commands in the agent command palette. ThumbGate is the guardrail layer for spec-driven agents: it sits after the plan, on the boundary between a generated tool call and its execution. It works alongside GSD / Spec-Kit, not instead of them — they decide what to build; configured ThumbGate policies evaluate the proposed actions used to build it.
npx thumbgate init installs these commands into your agent's palette (.claude/commands/, .gemini/commands/, .antigravitycli/commands/) so the enforcement layer is as browsable as the planning layer:
| Command | What it does | Wraps (existing capability) |
|---|---|---|
/thumbgate-dashboard | Open the local project dashboard in your browser (lessons, checks, tokens saved) | npx thumbgate dashboard --open (global bin after npm i -g) |
/thumbgate-guard | Turn the last agent mistake into a hard prevention rule | capture_feedback + thumbgate force-gate |
/thumbgate-rules | List the active prevention rules + lessons guarding this repo | prevention_rules, get_reliability_rules, search_lessons |
/thumbgate-blocked | Show what's actually been blocked — gate stats + enforcement matrix | gate_stats, enforcement_matrix |
/thumbgate-protect | Show branch/release governance; grant a scoped, expiring approval | get_branch_governance, approve_protected_action |
/thumbgate-doctor | Health-check the wiring (hooks, MCP, agent-readiness) | thumbgate doctor |
Open the dashboard anytime: after
npx thumbgate init, runnpx thumbgate dashboard --open(works without a global install). Type/thumbgate-dashboardin Claude Code / Cursor, or/project:thumbgate-dashboardin Grok. Afternpm i -g thumbgate, thethumbgate-dashboardbin is also on your PATH.
Each is a thin wrapper over an existing MCP tool or CLI command — no new enforcement logic, just discoverability.
🎬 90-second demo
Watch the force-push scenario: an agent proposes git push --force, the matching rule is flagged and logged by default, and the tool call is denied when you run with THUMBGATE_STRICT_ENFORCEMENT=1.
▶ Watch the 90-second demo · Script · ElevenLabs narration: npm run demo:voiceover
First-dollar activation path
If someone is not already bought into ThumbGate, do not lead with architecture. Lead with one repeated mistake.
- Show the pain: open the ThumbGate GPT and paste the bad answer, risky command, deploy, PR action, or agent plan before it runs again.
- Capture the lesson: type
thumbs down:orthumbs up:with one concrete sentence. Native ChatGPT rating buttons are not the ThumbGate capture path; typed feedback is. - Enforce the repeat: run
npx thumbgate initwhere the agent executes so the lesson can become one of your Pre-Action Checks instead of another reminder. - Upgrade only after proof: Solo Pro is for the dashboard, DPO export, reviewable evidence, and higher capture limits after one real caught repeat. Enterprise starts with the Workflow Hardening Sprint around one repeated failure, one owner, and one proof review.
The buying question is simple: what repeated AI mistake would be worth catching before the tool executes?
Ideal customer
The first high-value customer is an enterprise engineering, security, or platform leader whose team already uses AI coding agents in high-blast-radius workflows: finance, healthcare, insurance, public sector, critical infrastructure, manufacturing, or any audited software-delivery environment.
The pain is security and operational risk; the buying context is enterprise AI-agent governance. ThumbGate owns the enforcement boundary: known-bad agent actions are flagged or blocked before shell, repo, CI/CD, SaaS, or cloud tool calls execute.
For partners building detection or coordination layers, ThumbGate is the downstream enforcement surface. Detection systems identify drift, stale shared reality, or risky workflow intent; ThumbGate turns the approved finding into a PreToolUse prevention rule with auditable execution evidence.
The Problem — repeated failures consume model, tool, and review time
When an agent repeats a failed action, the cost is not just the model call. It is also the attempted tool action, diagnosis, remediation, and review. ThumbGate records concrete corrections so recurring failures can become explicit checks instead of relying on the model to remember a prior session.
The Solution — evaluate the proposed tool call before execution
PreToolUse runs after the model has proposed a tool call and before the tool executes. ThumbGate therefore does not claim that a gate decision makes the model generation free. A denial can avoid downstream execution and remediation, while a warning gives the agent another chance to choose a safer plan.
The dashboard's token and dollar savings values are estimates, derived from recorded block counts and documented token/price assumptions. They are not measured provider usage or a guarantee of savings. Mark a review checkpoint once, and the dashboard narrows the next pass to the feedback, lessons, and check decisions added since the last review.
🧠 The Context Brain
Coding-agent sessions do not automatically inherit ThumbGate's prior local lessons, rejected fixes, or repo rules. Without configured context and hooks, a later session can repeat a previously corrected failure.
ThumbGate gives your repo a context brain: a single, versioned, agent-readable artifact that consolidates everything the agent should know before it acts — the lessons it has learned, the guardrails it must not cross, the gates that are enforced, and the project's own instruction files.
npx thumbgate brain --write # → .thumbgate/BRAIN.mdThen point each agent at it — add Read .thumbgate/BRAIN.md first to the relevant CLAUDE.md / AGENTS.md integration. Sessions that honor that instruction can load the repo's institutional memory. The generated output is
…