My Commit Message Generator Kept Signing Its Own Work. Telling It Not To Wasn't the Fix. A developer built a git commit message generator using Claude that kept adding unwanted 'Co-Authored-By: Claude' lines. Instead of just tightening the prompt, they added a deterministic post-processing filter that strips any line containing attribution keywords like 'co-author', 'claude', or 'anthropic'. The fix is a simple 14-line safety check that runs after the model output, ensuring no amount of model non-compliance survives the filter. I have a script called git commit.py in one of my repos. It shells out to claude -p with the staged diff, gets back a Conventional Commit message, and prints it. It's wired into a prepare-commit-msg git hook so every commit gets a pre-filled message for free. Small, dumb, useful. The first version had one instruction in the system prompt: "Output ONLY the commit message — no explanation, no markdown, no quotes." That's it. It worked fine for a while, and then one day a commit landed with a trailing Co-Authored-By: Claude