Zo verwijder je Co-Authored-By Claude uit je git-commits

Claude Code ondertekent je commits met een Co-Authored-By-trailer en je pull requests met een regel Generated with Claude Code. De instelling die ze verwijdert, het bestand waarin je die zet, en hoe je commits opschoont die je al hebt gepusht.

Je vraagt Claude Code om te committen, en het bericht eindigt met een regel die je niet hebt geschreven: Co-Authored-By: Claude Opus 4.6 <[email protected]>. Laat het een pull request openen, en de beschrijving eindigt met een robot-emoji en “Generated with Claude Code”. Geen van beide is een bug. Allebei komen ze uit één instelling, en die pas je in een minuut aan.

Deze gids behandelt de instelling, het bestand waarin je die zet zodat ze geldt voor jou, voor één project of voor een heel team, de verouderde sleutel die je misschien nog hebt, en hoe je commits opschoont die de regel al dragen. De feiten over Claude Code komen uit de referentie van de instellingen, gelezen op 12 november 2026 met Claude Code 2.1.318 geïnstalleerd.

Het korte antwoord. Zet dit in ~/.claude/settings.json:

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

Nieuwe commits dragen de trailer niet meer, nieuwe pull requests verliezen de regel. Commits van vóór de wijziging houden hem tot je ze herschrijft.

Wat Claude Code toevoegt, en waar

Claude Code voegt op drie plaatsen een attributie toe. Elke plaats heeft een eigen subsleutel onder attribution.

WaarWat Claude Code standaard toevoegtSubsleutel
CommitberichtEen trailer: Co-Authored-By: <model> <[email protected]>attribution.commit
Beschrijving van een pull requestEen robot-emoji en “Generated with Claude Code”attribution.pr
Commit of PR uit een cloud- of Remote Control-sessieDe link naar de claude.ai-sessie, als Claude-Session-trailer op commitsattribution.sessionUrl

De naam in de trailer is het model dat in gebruik is op het moment van de commit. Daarom staat er de ene week Claude Opus 4.6 en de volgende Claude Sonnet 4.6, en daarom noemen zoekopdrachten naar dit probleem zoveel modellen. Als Claude Code een Claude-model herkent maar de versie niet kan bevestigen, schrijft het alleen Claude. Als het model achter een eigen ANTHROPIC_BASE_URL helemaal geen Claude-model is, schrijft het Claude Code. Als een subagent de commit maakt, noemt de trailer het model van de subagent.

De regel is geen git-hook. Claude Code vraagt Claude om hem toe te voegen wanneer Claude zelf een commit of een pull request schrijft. Een commit die je zelf in een terminal maakt, of die een ander hulpmiddel maakt, krijgt hem nooit.

Uitzetten met de instelling attribution

attribution neemt een object met drie onderdelen aan, of false voor alle drie.

WaardeEffect
"commit": ""Geen trailer op commits
"pr": ""Geen attributieregel in beschrijvingen van pull requests
"sessionUrl": falseGeen claude.ai-sessielink op commits en pull requests uit een cloud- of Remote Control-sessie
"attribution": falseAlle drie tegelijk verborgen. Vereist Claude Code 2.1.281 of nieuwer

De korte vorm is verleidelijk, maar lees eerst de versieregel. Een Claude Code ouder dan 2.1.281 weigert "attribution": false, en het negeert niet alleen de sleutel: het slaat het hele instellingenbestand over waarin die staat, met je permissies, hooks en model. Als hetzelfde bestand wordt gelezen op machines met verschillende versies, gebruik dan de lange vorm:

{
  "attribution": {
    "commit": "",
    "pr": "",
    "sessionUrl": false
  }
}

Voer /status uit om te controleren of het bestand is geladen: de regel Setting sources toont elk bestand dat Claude Code heeft gelezen. Als een sessie die al open stond de regel blijft toevoegen, start dan een nieuwe.

Welk bestand: jij, één project of het hele team

De sleutel werkt in elk instellingenbestand. Het bestand bepaalt voor wie hij geldt.

BestandVoor wie het geldt
~/.claude/settings.jsonVoor jou, in elk project op deze machine
.claude/settings.json in het projectVoor iedereen die in het project werkt, zodra je het bestand commit
.claude/settings.local.json in het projectVoor jou, alleen in dit project. Claude Code houdt het buiten git wanneer het het aanmaakt
Managed settings die je organisatie uitroltVoor iedereen bij wie de organisatie ze uitrolt

Als twee bestanden de sleutel instellen, wint het hoogste: managed settings, dan --settings op de opdrachtregel, dan het lokale projectbestand, dan het gedeelde projectbestand, dan je gebruikersbestand. Uit die volgorde volgen twee gevallen. Als je team een bestand commit dat de trailer bewust aan laat, overschrijft je eigen .claude/settings.local.json het voor jou zonder het voor iemand anders te veranderen. Als je organisatie de attributie in managed settings vastlegt, verandert niets wat jij schrijft daar iets aan.

Je kunt Claude ook in je CLAUDE.md vragen de regel niet toe te voegen, en Claude Code vertelt Claude dat je eigen instructies over attributie voorgaan op zijn standaardregels, tenzij de regel uit managed settings komt. Het verschil zit in de aard: de instelling verwijdert de tekst die Claude Code vraagt, een instructie is iets wat het model leest en toepast. Gebruik de instelling.

De oude sleutel includeCoAuthoredBy

Vóór attribution heette de schakelaar includeCoAuthoredBy. Hij is verouderd sinds Claude Code 2.0.62 en wordt nog steeds gelezen:

  • "includeCoAuthoredBy": false verbergt zowel de commit-trailer als de regel in pull requests;
  • zodra attribution.commit of attribution.pr is ingesteld, negeert Claude Code includeCoAuthoredBy en gebruikt het zijn standaardtekst voor het onderdeel dat je niet hebt ingesteld.

Die tweede regel is de gebruikelijke reden dat de trailer terugkomt. Je had includeCoAuthoredBy: false, voegde daarna "attribution": {"pr": ""} toe om alleen de PR-regel te verwijderen, en de commit-trailer verschijnt weer, omdat attribution nu beslist en commit niet is ingesteld. Stap over op attribution en stel beide onderdelen in.

Vervangen in plaats van verwijderen

Sommige teams willen bijhouden welke commits hulp van AI hadden, alleen niet met die regel. attribution.commit accepteert elke tekst, trailers inbegrepen. Git leest trailers alleen uit de laatste alinea van het bericht, dus houd ze samen aan het eind:

{
  "attribution": {
    "commit": "Assisted-by: Claude Code"
  }
}

Commit dat in de .claude/settings.json van het project, en de Claude Code van elk teamlid schrijft dezelfde regel.

Commits die de trailer al hebben

De instelling verandert alleen commits die daarna worden geschreven. Voor de commits die er al zijn, hangt het juiste hulpmiddel af van hoe ver ze al zijn gekomen.

De laatste commit, nog niet gepusht: amend hem en verwijder de regel in de editor.

git commit --amend

Meerdere commits op een branch die je nog niet hebt gedeeld: doe een rebase en herformuleer ze een voor een.

git rebase -i origin/main

Een hele geschiedenis: git filter-repo herschrijft elk commitbericht in één keer. Het wil een verse clone, en het is een apart hulpmiddel dat je moet installeren:

git filter-repo --message-callback '
return re.sub(rb"(?mi)^Co-Authored-By: Claude[^\n]*<noreply@anthropic\.com>\n?", b"", message).rstrip(b"\n") + b"\n"
'

Herschrijven heeft een prijs, en op een gedeelde branch is die meestal hoger dan die van de regel. Elke commit-hash na de eerste gewijzigde commit is nieuw, dus een gepushte branch vraagt een force push, elke medewerker moet opnieuw beginnen vanaf de nieuwe geschiedenis, openstaande pull requests op basis van de oude commits gaan stuk, en ondertekende commits verliezen hun handtekening. Op een persoonlijke branch vóór de merge: doe het. Op een main-branch die anderen al hebben gepulld: laat het zo en stel de sleutel in voor wat er nog komt.

Wat de trailer op GitHub doet

GitHub leest Co-authored-by-trailers en toont de co-auteur bij de commit als het e-mailadres bij een GitHub-account hoort. In juni 2025 meldden twee issues in de repository anthropics/claude-code (#1653 en #1655) commits die via dat adres werden toegeschreven aan een GitHub-account zonder band met Anthropic; beide zijn gesloten. Naar welk account het adres op een bepaalde dag ook verwijst, als je de trailer verwijdert, verdwijnt de co-auteur uit de commits die volgen, en alleen uit die.

Wat de andere CLI's doen

Claude Code is niet de enige die zijn werk ondertekent, en elke CLI heeft zijn eigen schakelaar.

  • Codex. In de broncode van openai/codex die we op 12 november 2026 hebben gelezen, voegt Codex Co-authored-by: Codex <[email protected]> toe aan commits en “Generated with Codex.” aan de beschrijving van pull requests wanneer attributie is ingeschakeld voor je workspace, een beleid dat het ophaalt wanneer een sessie start. Als het beleid uit staat, krijgt Codex de instructie geen van beide regels toe te voegen.
  • Aider. Het voegt “(aider)” toe aan de namen van de git-auteur en de committer in plaats van een trailer toe te voegen. --no-attribute-author en --no-attribute-committer zetten dat uit, en --attribute-co-authored-by schakelt in plaats daarvan over op een Co-authored-by-trailer.

Wat we in AgentsRoom doen

We laten elke dag meerdere agents op dezelfde repositories draaien, Claude Code naast Codex en andere, en de commit is de plek waar hun werk samenkomt. Twee gevallen, en ze volgen niet dezelfde regels.

Wanneer een agent zelf commit in zijn terminal, schrijft zijn CLI het bericht, dus geldt de eigen instelling van die CLI: attribution voor Claude Code, het workspacebeleid voor Codex, de flags voor Aider.

Wanneer jij commit vanuit AgentsRoom, vanuit het tabblad Changes, de beoordelingsmodus, de automatische commit wanneer een agent sluit of het Changes-scherm van de mobiele app, schrijft AgentsRoom de commit en voegt geen enkele CLI zijn trailer toe. Wat onderaan komt, is de commithandtekening van AgentsRoom, en die stel je zelf in. Standaard voegt ze één regel toe met de rol van elke agent waarvan bestanden in de commit zitten en de tijd die hij eraan besteedde:

bug : Fix the login redirect

AgentsRoom-Agent: fullstack; time=42m

Elk onderdeel is een aparte schakelaar in Instellingen > Git > Commithandtekening, voor je account, een map met projecten of één project: de rol van de agent, de bestede tijd en, standaard uit, de kosten, het deel van je quotum en de prompts die je hebt getypt. Zet Agent en Bestede tijd uit, en je commits zijn precies wat ze vroeger waren. In onze eigen repositories laten we de rol aan: in een repository waarin vier CLI's committen, zegt een modelnaam welk model de code schreef, en de rol zegt welke taak het uitvoerde, en dat is wat we zoeken wanneer een wijziging drie weken later iets kapotmaakt. Onze openbare changelog leest dezelfde regel om te tonen welke agents aan elke release hebben gewerkt.

Wil je ook de redenering achter een wijziging, dan voegt Commit Context een link naar het gesprek van de agent toe in hetzelfde blok trailers. En als je het bericht liever helemaal niet zelf schrijft, stellen AI-commitberichten het op vanuit de diff.

Veelgestelde vragen

Hoe verwijder ik Co-Authored-By Claude uit mijn commits?

Voeg "attribution": {"commit": "", "pr": ""} toe aan ~/.claude/settings.json. Claude Code voegt dan de Co-Authored-By-trailer niet meer toe aan de commits die het schrijft, en de regel Generated with Claude Code niet meer aan de pull requests die het opent, in elk project op die machine. Vanaf Claude Code 2.1.281 verbergt "attribution": false alles met één waarde. Commits van vóór de wijziging houden hun trailer.

Werkt includeCoAuthoredBy nog?

Het werkt nog, maar het is verouderd sinds Claude Code 2.0.62. includeCoAuthoredBy: false verbergt zowel de commit-trailer als de regel in de pull request, tenzij de nieuwere sleutel attribution commit of pr instelt: dan beslist attribution. Nieuwe configuraties gebruiken beter attribution.

Waarom staat er Claude Opus 4.6 of Sonnet 4.6 in de trailer in plaats van Claude?

De trailer noemt het model dat in gebruik is op het moment van de commit, dus hij verandert mee met je model. Claude Code schrijft alleen Claude als het de exacte versie niet kan bevestigen, en Claude Code als het model achter een eigen ANTHROPIC_BASE_URL geen Claude-model is. De instelling verwijdert al deze varianten.

Hoe verwijder ik de trailer uit commits die ik al heb gemaakt?

Voor de laatste commit voer je git commit --amend uit en verwijder je de regel. Voor meerdere commits die nog niet gepusht zijn, gebruik je git rebase -i en herformuleer je ze. Voor een hele geschiedenis haalt git filter-repo met een message callback de regel uit elke commit, op een verse clone. Herschrijven verandert elke commit-hash vanaf de eerste aangepaste commit, dus een gepushte geschiedenis vraagt een force push en elke medewerker moet opnieuw beginnen vanaf de nieuwe geschiedenis.

Kan mijn bedrijf de attributie weer afdwingen?

Ja. Managed settings die een organisatie uitrolt, staan boven elk bestand dat jij beheert, dus een attribution-waarde die daar is ingesteld, wint van je gebruikers-, project- en lokale instellingen. Voer /status uit in Claude Code: de regel Setting sources laat zien of er een beheerde bron op jou van toepassing is.

Verbergt het verwijderen van de trailer dat ik AI heb gebruikt?

Het verwijdert één regel uit het commitbericht, verder niets. Claude Code biedt de instelling zelf aan, en de documentatie vraagt niet om de regel te houden. Sommige projecten en werkgevers vragen bijdragers wel om AI-hulp te vermelden, dus lees de regels van de repository waarnaar je pusht voordat je hem daar uitzet.

DevOps EngineerTekstschrijverFrontend-ontwikkelaarSalesmedewerkerBackend-ontwikkelaarCoach & trainerSoftwarearchitectJuridisch adviseurQA EngineerFinanciën & administratieFull-Stack DeveloperCreatief ontwerperMobiele ontwikkelaarOnderzoekerBeveiligingsingenieurHR & werving
ProjectmanagerVertalerGit ExpertData-analistSEO-specialistBoekhouderLokalisatiespecialistCommunicatie & PRBrainstormerOperations & logistiekMarketing SpecialistKlantenserviceProjectassistentInkoperCommunitymanagerPersoonlijk assistent

Download AgentsRoom

Draai al je AI-agenten, op al je projecten, vanuit één enkel venster.

Download AgentsRoomGratis

Companion-app: houd je agents onderweg in de gaten

Breng je eigen: Claude, Codex, Antigravity CLI of andere AI-provider.

Download de extensie
Chrome Web Store

Stuur bugs en verzoeken direct naar je openbare backlog.

Agents die je leest als een gesprek

Elke agent heeft een rol, een gezicht en een draad die je leest als een chat-app.

Gespreksweergave

AgentsRoom gespreksweergave: het werk van een AI-codingagent als chatthread
Meerdere projecten
Multi-provider
Meerdere agenten
Live status
Bestandsverschil & commit
Mobiele metgezel
Live voorbeeld
Agententeams
Browserautomatisering
Backlog-gedreven ontwikkeling
Promptbibliotheek
Vaardighedenbibliotheek
Bekijk alle functies

Verder lezen