How to Stop AI Coding Agents From Repeating Mistakes

The complete guide to pre-action checks, feedback capture, history-aware lesson distillation, and automatic prevention rules.

The Problem

Your AI coding agent force-pushes to main. You correct it. Next session, it force-pushes again. You add a rule to CLAUDE.md. It ignores it. You lose an afternoon reverting.

This happens because prompt rules are suggestions. The agent can read them, forget them, or override them. There is no enforcement at the tool-call level.

The Fix: Pre-Action Checks

ThumbGate adds an enforcement layer between your agent and its tools. When the agent tries to execute a tool call, a PreToolUse hook fires before the action runs. The hook checks the call against known failure patterns. If it matches a check, the action is blocked.

Before ThumbGate

Agent: git push --force origin main
Result: Force-pushed. You lose 3 commits. Again.

After ThumbGate

Agent: git push --force origin main
[check] Blocked: no-force-push (confidence: 0.94)
Agent: git push origin feature-branch
[check] Passed

Install (One Command)

# Auto-detect your agent and configure hooks
npx thumbgate init

# Or specify your agent directly
npx thumbgate init --agent claude-code
npx thumbgate init --agent codex
npx thumbgate init --agent cursor
npx thumbgate init --agent gemini

How It Works

1. You give feedback

When your agent makes a mistake, tell it. ThumbGate captures the feedback as structured data with context, tags, and domain. In the current Claude auto-capture path, if the thumbs-down is vague, it can reuse up to 8 prior recorded entries and the failed tool call to propose a better lesson instead of discarding the feedback.

# Your agent force-pushed. You say:
"thumbs down — force-pushed to main, lost commits"

# ThumbGate captures:
{
  signal: "negative",
  context: "force-pushed to main, lost commits",
  tags: ["git", "force-push", "destructive"],
  domain: "version-control"
}

2. Feedback auto-promotes to prevention rules

After repeated failures with the same pattern, ThumbGate generates a prevention rule automatically. No manual rule writing needed.

3. Rules become checks

Prevention rules are enforced as pre-action checks. The check fires at the PreToolUse hook level — inside the agent's runtime, before the tool call executes.

4. Checks adapt via Thompson Sampling

Checks that block too aggressively (high false-positive rate) get their confidence reduced automatically. Checks that catch real mistakes get reinforced. This is Bayesian multi-armed bandit optimization, not static rules.

Memory That Persists Across Sessions

ThumbGate stores feedback in a local SQLite database with FTS5 full-text indexing. Lookups are sub-millisecond even at tens of thousands of entries. Old entries that contradict newer evidence are auto-pruned via Bayesian belief decay.

History-Aware Feedback Sessions

ThumbGate supports linked feedback sessions for the messy reality of AI debugging. In the current Claude flow, accepted feedback opens a 60-second follow-up session. You can append more context, reset the timer, and finalize once the lesson is clear.

Pre-Action Checks vs Prompt Rules

FeaturePrompt RulesPre-Action Checks
Where they liveCLAUDE.md, .cursorrulesPreToolUse hooks
EnforcementSuggestion (can be ignored)Blocks execution
When they fireAt prompt loadBefore every tool call
Auto-generatedNo — hand-writtenYes — from feedback
AdaptiveNoYes — Thompson Sampling
Persist across sessionsOnly if in a fileSQLite + JSONL

ThumbGate vs Alternatives

FeatureThumbGateSpecLockMem0
Blocks mistakes before executionYes — PreToolUse checksYes — Patch FirewallNo
Learns from feedbackYes — thumbs up/downNo — manual specsYes — auto-capture
Auto-generates rulesYes — from repeated failuresNoNo
Agent supportClaude Code, Codex, Gemini, Amp, Cursor, OpenCodeClaude Code, Cursor, Windsurf, ClineClaude, Cursor
Installnpx thumbgate initnpx speclock setupCloud signup
CostFree (Pro $19/mo or $149/yr, Team rollout $49/seat/mo)FreeFree tier + paid

Common Scenarios

Agent keeps deleting files

Give a thumbs-down: "deleted production config file." After 2-3 occurrences, ThumbGate generates a check that blocks rm commands targeting config files.

Agent ignores test failures

Give a thumbs-down: "committed code with failing tests." ThumbGate learns the pattern and checks future commits when test results show failures.

Agent uses wrong API endpoint

Give a thumbs-down: "called staging API in production code." The check blocks tool calls that reference staging URLs in production contexts.

When ThumbGate becomes a paid decision

Stay on the free install path while one operator is proving the workflow locally. The paid motion starts when a workflow owner asks for proof, shared enforcement, or a safer rollout path.

Three honest next steps

Proof before a buyer says yes

The repo sales plan is proof-led, not hype-led. Commercial claims stay anchored to the current truth file, and engineering claims stay anchored to verification evidence and machine-readable proof reports.

Get Started

npx thumbgate init

One command. Works with Claude Code, Cursor, Codex, Gemini, Amp, and OpenCode. Claude Code can also call Codex for review, adversarial review, and second-pass handoffs through the repo-local bridge plugin.

Get Pro — $19/mo or $149/yr Start a Workflow Hardening Sprint

Free keeps local enforcement with 3 daily feedback captures, 5 lesson searches, unlimited recall, blocking, and history-aware lesson distillation. Pro is $19/mo or $149/yr for a personal local dashboard and DPO export. Team rollout starts intake-first at $49/seat/mo with a 3-seat minimum for the hosted shared lesson DB, org dashboard, and generated review views.