← Back to context

Comment by spuz

16 hours ago

> A git repository is already a history of versions each carrying a provenance marker — every revision of the file, in order, with the author of the change that made it.

Maybe I'm missing how people use AI these days but when I have an agent working locally, all git commits have my authorship attached.

I take care of that in two ways, 1) is via claude hooks, I make sure these are tagged as claude, 2) my sandboxed agents have git env vars set, with the same effect.

  • Does Claude run git commit on every change it makes? Doesn't that pollute your git history?

    • Although that would be an option (I've considered commit on every edit at one point), what I actually ended up doing is that I hook into all Bash tool calls, look if there's a git commit in there, and if so, I prepend it with the right git env variables.

A /precommit tool can be very powerful -- not only can it run the tests, do light code review on its own, spin up sub-agents to review performance/architecture/etc impacts, but it can also write hilariously-verbose commit messages once everything passes, detailing not only what changed but why it changed.. tagged with Claude as a co-author.

  • > write hilariously-verbose commit messages […] detailing not only what changed but why it changed

    this can come in super-handy from time to time

Claude's system prompt tells it to sign git commits with "co-authored by Claude [model]".

(Codex doesn't do that.)

GitHub renders this as two authors for those commits.

  • It should really say “authored by Claude” and “committed by X”.