Git コミットから Co-Authored-By Claude を削除する方法

Claude Code はコミットに Co-Authored-By トレーラーを、プルリクエストに Generated with Claude Code の 1 行を付けます。それを消す設定、その設定を置くファイル、すでにプッシュしたコミットをきれいにする方法を解説します。

Claude Code にコミットを頼むと、メッセージの最後に自分で書いていない 1 行が付きます:Co-Authored-By: Claude Opus 4.6 <[email protected]>。そのままプルリクエストを開くと、説明文の最後にロボットの絵文字と「Generated with Claude Code」が付きます。どちらもバグではありません。どちらも 1 つの設定から来ていて、1 分で変更できます。

このガイドでは、その設定、自分だけ・1 つのプロジェクト・チーム全体のどれに適用するかで選ぶファイル、まだ残っているかもしれない非推奨のキー、そしてすでにこの行が付いたコミットをきれいにする方法を説明します。Claude Code に関する事実は、その設定リファレンスに基づいています。2026年11月12日に、Claude Code 2.1.318 をインストールした状態で確認しました。

短い答え。 ~/.claude/settings.json に次の内容を入れます:

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

新しいコミットにはトレーラーが付かなくなり、新しいプルリクエストからはその行が消えます。変更前に作られたコミットは、書き換えるまでその行を持ち続けます。

Claude Code が何を、どこに追加するか

Claude Code は 3 か所にアトリビューションを追加します。それぞれに attribution の下のサブキーがあります。

場所Claude Code がデフォルトで追加するものサブキー
コミットメッセージトレーラー:Co-Authored-By: <model> <[email protected]>attribution.commit
プルリクエストの説明文ロボットの絵文字と「Generated with Claude Code」attribution.pr
クラウドまたは Remote Control セッションからのコミットや PRclaude.ai のセッションリンク。コミットには Claude-Session トレーラーとして付くattribution.sessionUrl

トレーラーに入る名前は、コミット時点で使っているモデルの名前です。だからこの行は、ある週は Claude Opus 4.6、翌週は Claude Sonnet 4.6 になり、この問題の検索にたくさんのモデル名が出てくるのです。Claude Code が Claude のモデルだと認識してもバージョンを確認できないときは、Claude だけを書きます。カスタムの ANTHROPIC_BASE_URL の背後にあるモデルがそもそも Claude のモデルでないときは、Claude Code と書きます。サブエージェントがコミットするときは、トレーラーにはサブエージェントのモデルが入ります。

この行は git の hook ではありません。Claude 自身がコミットやプルリクエストを書くときに、Claude Code が Claude にこの行を追加するよう指示しているのです。あなたがターミナルで自分で作ったコミットや、別のツールが作ったコミットには、決して付きません。

attribution 設定でオフにする

attribution は 3 つの部分を持つオブジェクトを受け取ります。すべてをまとめてオフにするなら false です。

値効果
"commit": ""コミットにトレーラーを付けない
"pr": ""プルリクエストの説明文にアトリビューションの行を付けない
"sessionUrl": falseクラウドまたは Remote Control セッションから作ったコミットとプルリクエストに claude.ai のセッションリンクを付けない
"attribution": false3 つすべてを一度に非表示。Claude Code 2.1.281 以降が必要

短い書き方は魅力的ですが、まずバージョンの行を読んでください。2.1.281 より古い Claude Code は "attribution": false を受け付けず、しかもそのキーを無視するだけではありません。そのキーを含む設定ファイル全体を、権限、hook、モデルの設定ごと読み飛ばします。バージョンの異なる複数のマシンで同じファイルを読むなら、長い書き方を使いましょう:

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

ファイルが読み込まれたかを確かめるには /status を実行します。Setting sources の行に、Claude Code が読んだすべてのファイルが並びます。すでに開いていたセッションがまだ行を追加し続けるなら、新しいセッションを始めてください。

どのファイルか:自分、1 つのプロジェクト、チーム全体

このキーはどの設定ファイルでも使えます。誰に適用されるかは、ファイルで決まります。

ファイル適用される人
~/.claude/settings.jsonあなた。このマシンのすべてのプロジェクトで
プロジェクト内の .claude/settings.jsonプロジェクトで作業する全員。ファイルをコミットした時点から
プロジェクト内の .claude/settings.local.jsonあなた。このプロジェクトでのみ。Claude Code はこのファイルを作るとき git の対象外にします
組織が配布する managed settings組織が配布する対象の全員

2 つのファイルがこのキーを設定している場合は、上位のものが優先されます。順に、managed settings、コマンドラインの --settings、プロジェクトのローカルファイル、プロジェクトの共有ファイル、そしてユーザーファイルです。この順序から 2 つのケースが導けます。チームが意図的にトレーラーを残すファイルをコミットしていても、あなた自身の .claude/settings.local.json は、ほかの誰にも影響を与えずに、あなたに対してだけそれを上書きします。組織が managed settings で attribution を設定しているなら、あなたが何を書いても変わりません。

CLAUDE.md で Claude にこの行を付けないよう伝えることもできます。Claude Code は Claude に対して、アトリビューションに関するあなた自身の指示がデフォルトの行より優先されると伝えます。ただし、その行が managed settings から来ている場合は別です。違いは性質にあります。設定は Claude Code が求めるテキストそのものを取り除き、指示はモデルが読んで適用するものです。設定を使いましょう。

古い includeCoAuthoredBy キー

attribution より前は、includeCoAuthoredBy が切り替えスイッチでした。Claude Code 2.0.62 から非推奨ですが、今も読み込まれます:

  • "includeCoAuthoredBy": false は、コミットのトレーラーとプルリクエストの行の両方を非表示にします。
  • attribution.commit か attribution.pr が設定された時点で、Claude Code は includeCoAuthoredBy を無視し、2 つのうち設定していない方にはデフォルトのテキストを使います。

この 2 つ目のルールが、トレーラーが戻ってくるよくある理由です。includeCoAuthoredBy: false を設定していたところに、PR の行だけを消すつもりで "attribution": {"pr": ""} を追加すると、コミットのトレーラーが再び現れます。今は attribution が決めていて、commit が設定されていないからです。attribution に移行して、両方の部分を設定しましょう。

削除する代わりに置き換える

AI の支援を受けたコミットを記録しておきたいけれど、この行では困る、というチームもあります。attribution.commit はトレーラーを含む任意のテキストを受け付けます。git がトレーラーを読むのはメッセージの最後の段落だけなので、末尾にまとめて置きましょう:

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

これをプロジェクトの .claude/settings.json にコミットすれば、チームメイト全員の Claude Code が同じ行を書きます。

すでにトレーラーが付いたコミット

この設定が変えるのは、設定後に書かれたコミットだけです。すでにあるコミットに使うべきツールは、それがどこまで広がったかで決まります。

最後のコミットで、まだプッシュしていない場合:amend して、エディターでその行を削除します。

git commit --amend

まだ共有していないブランチ上の複数のコミット:rebase して、1 つずつ書き直します。

git rebase -i origin/main

履歴全体:git filter-repo は、すべてのコミットメッセージを 1 回で書き換えます。新しいクローンが必要で、別途インストールするツールです:

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"
'

書き換えにはコストがあり、共有ブランチでは、たいていこの 1 行よりも高くつきます。最初に変更したコミット以降のコミットハッシュはすべて新しくなるため、プッシュ済みのブランチには強制プッシュが必要になり、共同作業者全員が新しい履歴からやり直すことになり、古いコミットをもとに開いたプルリクエストは壊れ、署名付きコミットは署名を失います。マージ前の個人のブランチなら、やりましょう。ほかの人がすでにプルした main ブランチなら、そのままにして、これから先のためにキーを設定しましょう。

GitHub でトレーラーが果たす役割

GitHub は Co-authored-by トレーラーを読み取り、そのメールアドレスが GitHub アカウントに属していれば、コミットに共同作成者として表示します。2025年6月、anthropics/claude-code リポジトリの 2 つの issue(#1653 と #1655)が、そのアドレスを通じて Anthropic と無関係な GitHub アカウントにコミットが紐づけられたと報告しました。どちらもクローズされています。ある日そのアドレスがどのアカウントに結びつくにせよ、トレーラーを消せば、それ以降のコミットから共同作成者が消えます。消えるのはそれ以降のコミットからだけです。

ほかの CLI はどうしているか

自分の仕事に署名するのは Claude Code だけではなく、CLI ごとに独自のスイッチがあります。

  • Codex. 2026年11月12日に私たちが読んだ openai/codex のソースでは、ワークスペースでアトリビューションが有効になっている場合、Codex はコミットに Co-authored-by: Codex <[email protected]> を、プルリクエストの本文に「Generated with Codex.」を追加します。これはセッション開始時に取得するポリシーです。ポリシーがオフのときは、どちらの行も追加しないよう Codex に指示されます。
  • Aider. トレーラーを追加するのではなく、git の author と committer の名前に「(aider)」を付け加えます。--no-attribute-author と --no-attribute-committer でそれをオフにでき、--attribute-co-authored-by を使うと代わりに Co-authored-by トレーラーになります。

AgentsRoom ではどうしているか

私たちは毎日、同じリポジトリで複数のエージェントを動かしています。Claude Code の隣に Codex やほかのエージェントがいて、それぞれの仕事が出会う場所がコミットです。ケースは 2 つあり、同じルールには従いません。

エージェントがターミナルで自分でコミットするときは、その CLI がメッセージを書くので、CLI 自身の設定が適用されます。Claude Code なら attribution、Codex ならワークスペースのポリシー、Aider ならフラグです。

あなたが AgentsRoom からコミットするとき、つまり「変更」タブ、レビューモード、エージェントを閉じるときの自動コミット、あるいはモバイルアプリの「変更」画面からコミットするときは、AgentsRoom がコミットを書くので、どの CLI もトレーラーを追加しません。末尾に入るのは AgentsRoom のコミット署名で、内容はあなたが決めます。デフォルトでは、コミットにファイルが含まれる各エージェントのロールと、そのエージェントが費やした時間を 1 行で追加します:

bug : Fix the login redirect

AgentsRoom-Agent: fullstack; time=42m

各項目は、設定 > Git > コミット署名 にある個別のスイッチで、アカウント全体、プロジェクトのフォルダー、または 1 つのプロジェクトごとに切り替えられます。エージェントのロール、作業時間、そしてデフォルトではオフのコスト、クォータの使用割合、あなたが入力したプロンプトです。エージェントと作業時間をオフにすれば、コミットは以前とまったく同じになります。私たち自身のリポジトリではロールをオンにしています。4 つの CLI がコミットするリポジトリでは、モデル名はどのモデルがコードを書いたかを示し、ロールはそれがどんな仕事をしていたかを示します。3 週間後に変更が何かを壊したとき、私たちが探すのはそれです。公開している変更履歴も同じ行を読み取り、各リリースにどのエージェントが関わったかを表示しています。

変更の背後にある推論も残したいなら、コミットコンテキストが同じトレーラーのブロックにエージェントの会話へのリンクを追加します。メッセージを自分で書きたくないなら、AI コミットメッセージが diff から下書きします。

よくある質問

コミットから Co-Authored-By Claude を削除するには?

~/.claude/settings.json に "attribution": {"commit": "", "pr": ""} を追加します。すると Claude Code は、そのマシンのすべてのプロジェクトで、自分が書くコミットに Co-Authored-By トレーラーを、自分が開くプルリクエストに Generated with Claude Code の行を付けなくなります。Claude Code 2.1.281 以降なら、"attribution": false の 1 つの値ですべてを非表示にできます。変更前に作られたコミットにはトレーラーが残ります。

includeCoAuthoredBy はまだ使えますか?

まだ使えますが、Claude Code 2.0.62 から非推奨です。includeCoAuthoredBy: false はコミットのトレーラーとプルリクエストの行の両方を非表示にします。ただし、新しいキー attribution で commit または pr が設定されている場合は、attribution が優先されます。新しく設定するなら attribution を使いましょう。

トレーラーが Claude ではなく Claude Opus 4.6 や Sonnet 4.6 になるのはなぜですか?

トレーラーにはコミット時点で使っているモデルの名前が入るので、モデルを変えると内容も変わります。Claude Code は正確なバージョンを確認できないときは Claude だけを書き、カスタムの ANTHROPIC_BASE_URL の背後にあるモデルが Claude のモデルでないときは Claude Code と書きます。この設定は、これらすべてのバリエーションを消します。

すでに作ったコミットからトレーラーを消すには?

最後のコミットなら、git commit --amend を実行してその行を削除します。まだプッシュしていない複数のコミットなら、git rebase -i を使って書き直します。履歴全体なら、git filter-repo に message callback を渡すと、新しいクローン上ですべてのコミットからその行を取り除けます。書き換えると、最初に触ったコミット以降のすべてのコミットハッシュが変わるため、プッシュ済みの履歴には強制プッシュが必要になり、共同作業者全員が新しい履歴からやり直す必要があります。

会社がアトリビューションを強制的に元に戻すことはできますか?

はい。組織が配布する managed settings は、あなたが管理するどのファイルよりも上位にあるので、そこで設定された attribution の値は、ユーザー、プロジェクト、ローカルの設定より優先されます。Claude Code で /status を実行してください。Setting sources の行に、managed のソースがあなたに適用されているかどうかが表示されます。

トレーラーを消すと、AI を使ったことが隠れますか?

コミットメッセージから 1 行が消えるだけで、それ以外は何も変わりません。この設定は Claude Code 自身が用意しているもので、そのドキュメントもこの行を残すよう求めてはいません。ただし、AI の支援を明記するようコントリビューターに求めるプロジェクトや雇用主もあるので、オフにする前に、プッシュ先のリポジトリのルールを読んでください。

DevOpsエンジニアライターフロントエンド開発者営業担当バックエンド開発者コーチ・トレーナーソフトウェアアーキテクト法務担当QAエンジニア財務・総務フルスタック開発者クリエイティブデザイナーモバイル開発者リサーチャーセキュリティエンジニア人事・採用
プロジェクトマネージャー翻訳者GitエキスパートデータアナリストSEOスペシャリスト経理担当ローカリゼーションスペシャリスト広報・PRブレインストーマーオペレーション・物流マーケティングスペシャリストカスタマーサポートプロジェクトアシスタント購買担当コミュニティマネージャーパーソナルアシスタント

AgentsRoomをダウンロード

すべてのAIエージェントを、すべてのプロジェクトで、ひとつのウィンドウから実行。

AgentsRoomをダウンロード無料

コンパニオンアプリ:外出先でもエージェントを確認

Claude、Codex、Antigravity CLI、またはその他の AI プロバイダーを使用します。

拡張機能を入手
Chrome Web Store

バグや要望を公開バックログに直接送信できます。

会話のように読めるエージェント

各エージェントには役割と顔があり、メッセージアプリのようにスレッドを読めます。

会話ビュー

AgentsRoomの会話ビュー。AIコーディングエージェントの作業がチャットのスレッドで表示されている
マルチプロジェクト
マルチプロバイダー
マルチエージェント
ライブステータス
ファイル差分
モバイルアプリ
ライブプレビュー
エージェントチーム
ブラウザテスト
バックログ駆動開発
プロンプトライブラリ
スキルライブラリ
すべての機能を見る

続きを読む