---
title: "Claude Code signs every commit you make. Here's how to stop it."
url: "https://alex.zappa.dev/blog/claude-code-coauthored-commits/"
description: "Anthropic's AI assistant stamps 'Co-authored-by: Claude' onto every commit by default. It's legally meaningless, it's opt-out rather than opt-in, and it's not there for you. Here's how to turn it off."
---

# Claude Code signs every commit you make. Here's how to stop it.

August 12, 2026

*   [#claude](/tags/claude/),
*   [#anthropic](/tags/anthropic/),
*   [#git](/tags/git/),
*   [#github](/tags/github/)

Open any repo where you’ve used Claude Code and run `git log`. You’ll see the same thing on every commit:

```
Co-Authored-By: Claude <noreply@anthropic.com>
```

It’s on by default. No opt-in. No prompt. Claude writes some code, you review it, you approve it, and Anthropic’s name lands in your git history forever.

I noticed this a while back and mostly shrugged. Then Anthropic announced watermarking for Claude-generated code, pitched as “responsible AI.” And I realized they’ve been shipping a different watermark for months. The one that puts their brand on your commits.

## AI can’t own copyright

Let’s get the legal part out of the way, because it matters.

The U.S. Copyright Office has been clear: works generated entirely by AI have no human authorship and get no copyright protection. That goes back to the Thaler case and the _Zarya of the Dawn_ registration, where the human had to prove meaningful creative input before the Office would register anything.

What that means here: the `Co-Authored-By: Claude` trailer grants Claude nothing. It can’t hold copyright. It can’t be a co-owner of the code. It’s legally empty.

So if the trailer gives Claude no rights, what is it for?

## The trailer isn’t legal protection. It’s a land grab.

Think about what the trailer actually does. Every company that adopts Claude Code gets Anthropic’s brand stamped into their commit history. Every repo. Every developer. Forever.

That’s not a copyright claim. That’s an adoption metric wearing a commit trailer as a costume.

What does Anthropic do with it? Train on the commit data? Count “millions of Claude-assisted commits” in their next funding deck? I don’t know. They haven’t said. But the design tells you everything you need to know: they made it opt-out instead of opt-in.

If it were genuinely about giving credit where credit is due, it would be off by default and you’d turn it on. The fact that you have to discover a hidden config file to turn it _off_ means the default exists for Anthropic’s benefit, not yours.

## How to turn it off

Ten seconds. Open `~/.claude/settings.json` and add an `attribution` block:

```
{
  "attribution": {
    "commit": "",
    "pr": ""
  }
}
```

Empty strings disable the attribution on both commits and pull requests. Your commits are yours again.

If you’d rather keep a marker but control the wording, you can set it to whatever you want:

```
{
  "attribution": {
    "commit": "🤖 Generated with Claude Code",
    "pr": "🤖 Generated with Claude Code"
  }
}
```

That’s your call. The point is it should be your call, not a default someone else picked for you.

## And it doesn’t even work reliably

Here’s the part that really sells it. The opt-out is documented, but there’s a [long-standing GitHub issue](https://github.com/anthropics/claude-code/issues/45137) where `attribution.commit: ""` doesn’t actually stop the trailer from appearing. Reddit has the same threads. People set the config, commit, and still see Claude’s name in their history.

So you have a feature that’s on by default, gives the AI zero legal rights, exists for someone else’s benefit, and the off switch is buggy. That’s a pattern, not a bug report.

## Your repo, your name

I’m not anti-AI. I use these tools daily. What I object to is a default that quietly puts someone else’s name on my work, in my history, across every project I touch.

If a company ships a feature that stamps their brand on your work by default, that feature isn’t for you. It’s for them.

And if you’re thinking “it’s just a commit message, who cares” — then it shouldn’t matter if I turn it off. Right?

May the 4th be with you,  
Alex

*   [PreviousAstro 7 dropped the day after I finished my Astro 6 migration](/blog/astro7-update/)