By default, Claude Code adds attribution to anything it commits: a Co-Authored-By trailer on commits, a “Generated with Claude Code” line in pull request descriptions, and — from cloud or Remote Control sessions — a Claude-Session trailer linking back to the session.
All three are controlled by the attribution object in ~/.claude/settings.json:
{
"attribution": {
"commit": "",
"pr": "",
"sessionUrl": false
}
}
commit— the trailer added to commit messages. Empty string hides it.pr— the attribution text in PR descriptions. Empty string hides it.sessionUrl— set tofalseto drop theClaude-Sessionlink.
Setting all three like this removes attribution entirely, so commits show you as the sole author and Claude doesn’t appear in the repository’s contributor list.
You don’t have to remove everything. The keys are independent, so you can keep the co-author trailer and only lose the session link:
{
"attribution": {
"sessionUrl": false
}
}
Or replace the trailer with your own text rather than hiding it:
{
"attribution": {
"commit": "Generated with AI\n\nCo-Authored-By: AI <ai@example.com>"
}
}
The older option
Plenty of posts still recommend this one:
{
"includeCoAuthoredBy": false
}
It’s been deprecated since v2.0.62, when attribution replaced it. Claude Code still reads it, but it’s all-or-nothing — it hides the commit trailer and the PR text together, with no separate control over the session link. It’s also ignored the moment you set attribution.commit or attribution.pr, so there’s no point having both.