Skip to content

Remove AI co-author trailers from commit history #18688

Description

@minwoo-jung

Problem

Image

AI coding tools (Claude Code, GitHub Copilot, etc.) automatically append Co-authored-by trailers to commit messages. When PRs are squash-merged, these trailers propagate into the merge commit, making the project history appear AI-authored rather than human-authored.

Example from recent commits:

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

Cause

These tools append the trailer by default. When PRs are squash-merged on GitHub, all trailers from individual commits are combined into the final merge commit. The result: AI attribution is permanently baked into the project's main branch history.

Proposed Fix

Two layers of defense:

  1. .claude/settings.json — add "includeCoAuthoredBy": false so Claude Code never appends the trailer, regardless of individual user configuration.
  2. CLAUDE.md — add a "Commit messages" section instructing AI tools (including non-Claude tools like Copilot, Cursor) not to include Co-authored-by trailers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions