Cara Menghapus Co-Authored-By Claude dari Commit Git Anda

Claude Code menandatangani commit Anda dengan trailer Co-Authored-By dan pull request Anda dengan baris Generated with Claude Code. Pengaturan yang menghapusnya, file tempat menaruhnya, dan cara membersihkan commit yang sudah Anda push.

Anda meminta Claude Code membuat commit, dan pesannya diakhiri dengan baris yang tidak Anda tulis: Co-Authored-By: Claude Opus 4.6 <[email protected]>. Buka pull request dengannya, dan deskripsinya diakhiri dengan emoji robot dan "Generated with Claude Code". Keduanya bukan bug. Keduanya berasal dari satu pengaturan, dan Anda bisa mengubahnya dalam satu menit.

Panduan ini membahas pengaturan itu, file tempat menaruhnya agar berlaku untuk Anda, satu proyek, atau seluruh tim, kunci lama yang sudah usang yang mungkin masih Anda punya, dan cara membersihkan commit yang sudah membawa baris itu. Fakta tentang Claude Code diambil dari referensi pengaturannya, dibaca pada 12 November 2026 dengan Claude Code 2.1.318 terpasang.

Jawaban singkatnya. Taruh ini di ~/.claude/settings.json:

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

Commit baru tidak lagi membawa trailer, pull request baru kehilangan baris itu. Commit yang dibuat sebelum perubahan tetap menyimpannya sampai Anda menulis ulang commit tersebut.

Apa yang ditambahkan Claude Code, dan di mana

Claude Code menambahkan atribusi di tiga tempat. Masing-masing punya sub-kunci sendiri di bawah attribution.

Di manaYang ditambahkan Claude Code secara defaultSub-kunci
Pesan commitSebuah trailer: Co-Authored-By: <model> <[email protected]>attribution.commit
Deskripsi pull requestEmoji robot dan "Generated with Claude Code"attribution.pr
Commit atau PR dari sesi cloud atau Remote ControlTautan sesi claude.ai, sebagai trailer Claude-Session pada commitattribution.sessionUrl

Nama di trailer adalah model yang dipakai saat commit dibuat. Itu sebabnya baris ini tertulis Claude Opus 4.6 di satu minggu dan Claude Sonnet 4.6 di minggu berikutnya, dan mengapa pencarian tentang masalah ini menyebut begitu banyak model. Saat Claude Code mengenali model Claude tetapi tidak bisa memastikan versinya, ia hanya menulis Claude. Saat model di balik ANTHROPIC_BASE_URL kustom sama sekali bukan model Claude, ia menulis Claude Code. Saat subagent yang membuat commit, trailer menyebut model milik subagent itu.

Baris ini bukan git hook. Claude Code menyuruh Claude menambahkannya saat Claude sendiri menulis commit atau pull request. Commit yang Anda buat sendiri di terminal, atau yang dibuat tool lain, tidak pernah mendapatkannya.

Matikan dengan pengaturan attribution

attribution menerima objek dengan tiga bagian, atau false untuk semuanya.

NilaiEfek
"commit": ""Tidak ada trailer pada commit
"pr": ""Tidak ada baris atribusi di deskripsi pull request
"sessionUrl": falseTidak ada tautan sesi claude.ai pada commit dan pull request yang dibuat dari sesi cloud atau Remote Control
"attribution": falseKetiganya disembunyikan sekaligus. Membutuhkan Claude Code 2.1.281 atau yang lebih baru

Bentuk singkatnya menggoda, tetapi baca dulu baris versinya. Claude Code yang lebih lama dari 2.1.281 menolak "attribution": false, dan ia tidak sekadar mengabaikan kunci itu: ia melewati seluruh file pengaturan yang memuatnya, beserta izin, hook, dan model Anda. Jika file yang sama dibaca di mesin dengan versi berbeda, pakai bentuk panjang:

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

Jalankan /status untuk memeriksa bahwa file sudah dimuat: baris Setting sources mencantumkan setiap file yang dibaca Claude Code. Jika sesi yang sudah terbuka masih terus menambahkan baris itu, mulai sesi baru.

File yang mana: Anda, satu proyek, atau seluruh tim

Kunci ini berfungsi di setiap file pengaturan. File-lah yang menentukan untuk siapa ia berlaku.

FileBerlaku untuk siapa
~/.claude/settings.jsonAnda, di semua proyek pada mesin ini
.claude/settings.json di proyekSemua orang yang bekerja di proyek, setelah Anda meng-commit file itu
.claude/settings.local.json di proyekAnda, hanya di proyek ini. Claude Code menjauhkannya dari git saat membuatnya
Managed settings yang dipasang organisasi AndaSemua orang yang menerima pemasangan dari organisasi

Saat dua file mengatur kunci ini, yang lebih tinggi menang: managed settings, lalu --settings di baris perintah, lalu file lokal proyek, lalu file bersama proyek, lalu file pengguna Anda. Dua kasus muncul dari urutan itu. Jika tim Anda meng-commit file yang sengaja mempertahankan trailer, .claude/settings.local.json milik Anda sendiri menimpanya untuk Anda tanpa mengubahnya bagi orang lain. Jika organisasi Anda mengatur attribution di managed settings, tidak ada yang Anda tulis yang bisa mengubahnya.

Anda juga bisa memberi tahu Claude di CLAUDE.md Anda agar tidak menambahkan baris itu, dan Claude Code memberi tahu Claude bahwa instruksi Anda sendiri tentang atribusi lebih diutamakan daripada baris default-nya, kecuali baris itu berasal dari managed settings. Bedanya ada pada jenisnya: pengaturan menghapus teks yang diminta Claude Code, sedangkan instruksi adalah sesuatu yang dibaca lalu diterapkan oleh model. Pakai pengaturannya.

Kunci lama includeCoAuthoredBy

Sebelum attribution, sakelarnya adalah includeCoAuthoredBy. Kunci ini sudah usang sejak Claude Code 2.0.62 dan masih dibaca:

  • "includeCoAuthoredBy": false menyembunyikan trailer commit sekaligus baris pull request;
  • begitu attribution.commit atau attribution.pr diatur, Claude Code mengabaikan includeCoAuthoredBy dan memakai teks default-nya untuk bagian mana pun dari keduanya yang tidak Anda atur.

Aturan kedua itulah alasan umum trailer muncul kembali. Anda tadinya punya includeCoAuthoredBy: false, lalu menambahkan "attribution": {"pr": ""} untuk menghapus baris PR saja, dan trailer commit muncul lagi karena kini attribution yang menentukan dan commit tidak diatur. Pindahlah ke attribution dan atur kedua bagiannya.

Ganti alih-alih menghapus

Sebagian tim ingin tetap mencatat commit mana yang dibantu AI, hanya saja tidak dengan baris itu. attribution.commit menerima teks apa pun, termasuk trailer. Git hanya membaca trailer dari paragraf terakhir pesan, jadi taruh semuanya bersama di bagian akhir:

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

Commit itu di .claude/settings.json proyek, dan Claude Code milik setiap anggota tim akan menulis baris yang sama.

Commit yang sudah membawa trailer

Pengaturan ini hanya mengubah commit yang ditulis setelahnya. Untuk commit yang sudah ada, tool yang tepat bergantung pada seberapa jauh commit itu sudah pergi.

Commit terakhir, belum di-push: amend lalu hapus barisnya di editor.

git commit --amend

Beberapa commit di branch yang belum Anda bagikan: rebase dan ubah pesan masing-masing.

git rebase -i origin/main

Seluruh riwayat: git filter-repo menulis ulang setiap pesan commit dalam satu kali jalan. Tool ini butuh clone baru, dan harus dipasang terpisah:

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

Menulis ulang ada harganya, dan di branch bersama harganya biasanya lebih tinggi daripada baris itu sendiri. Setiap hash commit setelah commit pertama yang diubah menjadi baru, jadi branch yang sudah di-push butuh force push, setiap kolaborator harus mulai lagi dari riwayat baru, pull request terbuka yang berbasis commit lama akan rusak, dan commit yang ditandatangani kehilangan tanda tangannya. Di branch pribadi sebelum merge, lakukan saja. Di branch main yang sudah di-pull orang lain, biarkan saja dan atur kuncinya untuk commit berikutnya.

Apa yang dilakukan trailer di GitHub

GitHub membaca trailer Co-authored-by dan menampilkan rekan penulis pada commit jika alamat email itu milik sebuah akun GitHub. Pada Juni 2025, dua issue di repositori anthropics/claude-code (#1653 dan #1655) melaporkan commit yang, lewat alamat itu, diatribusikan ke akun GitHub yang tidak ada hubungannya dengan Anthropic; keduanya sudah ditutup. Ke akun mana pun alamat itu mengarah pada hari tertentu, menghapus trailer menghapus rekan penulis dari commit-commit berikutnya, dan hanya dari commit itu.

Apa yang dilakukan CLI lain

Claude Code bukan satu-satunya yang menandatangani hasil kerjanya, dan setiap CLI punya sakelar sendiri.

  • Codex. Di kode sumber openai/codex yang kami baca pada 12 November 2026, Codex menambahkan Co-authored-by: Codex <[email protected]> ke commit dan "Generated with Codex." ke isi pull request saat atribusi diaktifkan untuk workspace Anda, sebuah kebijakan yang diambilnya saat sesi dimulai. Saat kebijakan itu mati, Codex diberi tahu untuk tidak menambahkan baris mana pun.
  • Aider. Ia menambahkan "(aider)" ke nama author dan committer git alih-alih menambahkan trailer. --no-attribute-author dan --no-attribute-committer mematikannya, dan --attribute-co-authored-by beralih ke trailer Co-authored-by sebagai gantinya.

Yang kami lakukan di AgentsRoom

Setiap hari kami menjalankan beberapa agen di repositori yang sama, Claude Code berdampingan dengan Codex dan lainnya, dan commit adalah tempat hasil kerja mereka bertemu. Ada dua kasus, dan keduanya tidak mengikuti aturan yang sama.

Saat agen membuat commit sendiri di terminalnya, CLI-nya yang menulis pesan, jadi pengaturan CLI itu sendiri yang berlaku: attribution untuk Claude Code, kebijakan workspace untuk Codex, flag untuk Aider.

Saat Anda membuat commit dari AgentsRoom, dari tab Changes, Mode Tinjauan, commit otomatis saat agen ditutup, atau layar Changes di aplikasi ponsel, AgentsRoom yang menulis commit dan tidak ada CLI yang menambahkan trailer-nya. Yang ada di bagian bawah adalah tanda tangan commit milik AgentsRoom, dan Anda yang mengaturnya. Secara default, ia menambahkan satu baris berisi peran setiap agen yang file-nya ada di commit dan waktu yang dihabiskannya:

bug : Fix the login redirect

AgentsRoom-Agent: fullstack; time=42m

Setiap bagian adalah sakelar terpisah di Pengaturan > Git > Tanda tangan commit, untuk akun Anda, sebuah folder proyek, atau satu proyek saja: peran agen, waktu kerja, dan, nonaktif secara default, biaya, porsi kuota Anda, dan prompt yang Anda ketik. Matikan Agen dan Waktu kerja, dan commit Anda persis seperti sebelumnya. Kami tetap mengaktifkan peran di repositori kami sendiri: di repositori tempat empat CLI membuat commit, nama model memberi tahu model mana yang menulis kode, dan peran memberi tahu pekerjaan apa yang sedang ia lakukan, dan itulah yang kami cari saat sebuah perubahan merusak sesuatu tiga minggu kemudian. Changelog publik kami membaca baris yang sama untuk menunjukkan agen mana yang mengerjakan setiap rilis.

Jika Anda juga ingin alasan di balik sebuah perubahan, Commit Context menambahkan tautan ke percakapan agen di blok trailer yang sama. Dan jika Anda lebih suka tidak menulis pesannya sama sekali, Pesan Komit AI menyusunnya dari diff.

Pertanyaan yang sering diajukan

Bagaimana cara menghapus Co-Authored-By Claude dari commit saya?

Tambahkan "attribution": {"commit": "", "pr": ""} ke ~/.claude/settings.json. Claude Code lalu berhenti menambahkan trailer Co-Authored-By ke commit yang ditulisnya dan baris Generated with Claude Code ke pull request yang dibukanya, di semua proyek pada mesin itu. Di Claude Code 2.1.281 atau yang lebih baru, "attribution": false menyembunyikan semuanya dengan satu nilai. Commit yang dibuat sebelum perubahan tetap menyimpan trailer-nya.

Apakah includeCoAuthoredBy masih berfungsi?

Masih berfungsi, tetapi sudah usang sejak Claude Code 2.0.62. includeCoAuthoredBy: false menyembunyikan trailer commit sekaligus baris pull request, kecuali kunci attribution yang lebih baru mengatur commit atau pr, dan dalam hal itu attribution yang menang. Konfigurasi baru sebaiknya memakai attribution.

Mengapa trailer menyebut Claude Opus 4.6 atau Sonnet 4.6, bukan Claude?

Trailer menyebut model yang dipakai saat commit dibuat, jadi ia berubah mengikuti model Anda. Claude Code hanya menulis Claude saat tidak bisa memastikan versi tepatnya, dan Claude Code saat model di balik ANTHROPIC_BASE_URL kustom bukan model Claude. Pengaturan ini menghapus semua varian tersebut.

Bagaimana cara menghapus trailer dari commit yang sudah saya buat?

Untuk commit terakhir, jalankan git commit --amend lalu hapus barisnya. Untuk beberapa commit yang belum di-push, pakai git rebase -i dan ubah pesan masing-masing. Untuk seluruh riwayat, git filter-repo dengan message callback menghapus baris itu dari setiap commit, pada clone yang baru. Menulis ulang mengubah hash setiap commit setelah commit pertama yang disentuh, jadi riwayat yang sudah di-push butuh force push dan setiap kolaborator harus mulai dari riwayat yang baru.

Bisakah perusahaan saya memaksa attribution aktif kembali?

Bisa. Managed settings yang dipasang oleh organisasi berada di atas setiap file yang Anda kendalikan, jadi nilai attribution yang diatur di sana mengalahkan pengaturan pengguna, proyek, dan lokal Anda. Jalankan /status di Claude Code: baris Setting sources menunjukkan apakah ada sumber managed yang berlaku untuk Anda.

Apakah menghapus trailer menyembunyikan bahwa saya memakai AI?

Ini menghapus satu baris dari pesan commit, tidak lebih. Claude Code sendiri yang menyediakan pengaturan ini, dan dokumentasinya tidak meminta Anda mempertahankan baris itu. Namun beberapa proyek dan pemberi kerja memang meminta kontributor mengungkapkan bantuan AI, jadi baca aturan repositori tempat Anda push sebelum mematikannya di sana.

Insinyur DevOpsPenulisPengembang FrontendTenaga PenjualanPengembang BackendCoach & PelatihArsitek Perangkat LunakPenasihat HukumInsinyur QAKeuangan & AdministrasiPengembang Full-StackDesainer KreatifPengembang MobilePenelitiInsinyur KeamananSDM & Rekrutmen
Manajer ProyekPenerjemahAhli GitAnalis DataSpesialis SEOAkuntanSpesialis LokalisasiKomunikasi & HumasPemikir KreatifOperasional & LogistikSpesialis PemasaranLayanan PelangganAsisten proyekStaf PengadaanManajer KomunitasAsisten Pribadi

Unduh AgentsRoom

Jalankan semua agen AI Anda, di semua proyek Anda, dari satu jendela.

Unduh AgentsRoomGratis

Aplikasi pendamping: pantau agen Anda saat bepergian

Gunakan Claude, Codex, Antigravity CLI, atau penyedia AI lainnya.

Dapatkan ekstensi
Chrome Web Store

Kirim bug dan permintaan langsung ke backlog publik Anda.

Agen yang dibaca seperti percakapan

Setiap agen punya peran, wajah, dan utas yang Anda baca seperti aplikasi pesan.

Tampilan percakapan

Tampilan percakapan AgentsRoom: pekerjaan agen AI coding ditampilkan sebagai utas obrolan
Beberapa proyek
Multi-penyedia
Beberapa agen
Status langsung
File diff & commit
Pendamping mobile
Pratinjau langsung
Tim agen
Otomatisasi browser
Dev berbasis backlog
Pustaka prompt
Pustaka skill
Lihat semua fitur

Lanjutkan membaca