20 Oct 2026

A name isn't enough

An AI no-reply address gets its email stripped; a real person's real address never does

We built a commit-msg hook to strip the auto-generated email off AI Co-Authored-By trailers. Claude Code attributes itself as <noreply@anthropic.com>, and the team’s own convention is name only, no address — keep the model name so it never goes stale, drop the address.

The failure case code review caught

The first version matched on name alone: if the co-author’s name looked like a known AI assistant, the email got stripped. A real person named, say, “Claude Dupont,” would have had his own email silently stripped off his own commit — just because the hook matched his first name and nothing else.

The fix

A name only triggers stripping when it’s paired with an address that actually looks automated. A real address on a real person’s commit is left alone, whatever their name happens to be. A known AI no-reply address still strips on its own either way, no name match required.

Three smaller fixes from the same review pass

  • Stop reading at git’s verbose-diff cut line instead of past it.
  • Make the fail-open test actually force a write failure, instead of assuming one.
  • Read and write with explicit newline handling, so CRLF survives on Windows.

None of these are big fixes individually. Together, they’re the difference between a hook that works in the demo and one that’s safe to run on every commit, for every person, indefinitely.