Confess pauses an AI-assisted push for three questions
Confess is a local Git pre-push hook. It stops the push on a commit tagged as AI-assisted. The author must write three short answers in a file next to the code. One for what the change does. One for how it might break. One for a check that takes five minutes.

Why it mattersA short human note next to each AI-written change gives the team one person to call when it breaks.
An AI coding tool can land a large diff that nobody on the team can later explain when it breaks.
Confess is a new open-source Git pre-push hook that stops that from happening. It has 92 stars and an MIT licence, from a single author on GitHub, yesterdayfuture. The code is in one GitHub repository.
The hook reads the commit message. When it sees a trailer that marks the commit as AI-assisted, it opens the editor three times. One question for what the change does. One for how it is most likely to break. One for a check that fits in five minutes. The answers go into a file called CONFESSIONS.md in the same repository.
What the hook looks at
The README says the hook never scans the diff. It never calls a model. It only reads commit trailers, case-insensitive. The markers it recognises include Co-Authored-By: Claude, Copilot, Cursor, Codex and Aider. The common Generated-By and Generated-With lines are on the list. So is the "π€ Generated with" footer.
Strip the trailer and Confess stays silent. The README calls that a deliberate choice.
Three questions, one file
Each push that trips the gate adds a block to CONFESSIONS.md. The block carries the commit short hash and the three answers. The author then pushes again. Confess sees the hash already on record. The second push is allowed through.
A hotfix path exists. Set a skip environment variable, give a reason, and the push proceeds. A SKIPPED line still goes into the file. Every skip is on record.
What runs on the laptop
The hook is pure Python standard library. There is no runtime dependency. An optional MCP server lets Claude Code or Cursor read a diff summary. The agent can then write a draft confession before the push. The CLI is called confess. It installs, checks and removes the hook.
The author also says the tool never calls a language model and never rewrites your Git history. It never scores whether an answer is correct. Its job is to pause the push and record a human sentence.
The record that stays with the code
The project is young, and the author gives no benchmark with it. The idea it rests on is older. A code change needs an author who can defend it. An AI tool can hide who that is.
A team that works with AI coding tools can read CONFESSIONS.md every few months. Each entry is a human sentence about a change the author chose to release. A team that cannot write that sentence has released a change the team does not yet own.
Source
Confess on GitHub, yesterdayfuture.
This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.
Get AI News in your inbox
New developer tools, model and agent releases, and how teams are actually using them to release software. Short, and only when there is something worth reading.

