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 mana | Yang ditambahkan Claude Code secara default | Sub-kunci |
|---|---|---|
| Pesan commit | Sebuah trailer: Co-Authored-By: <model> <[email protected]> | attribution.commit |
| Deskripsi pull request | Emoji robot dan "Generated with Claude Code" | attribution.pr |
| Commit atau PR dari sesi cloud atau Remote Control | Tautan sesi claude.ai, sebagai trailer Claude-Session pada commit | attribution.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.
| Nilai | Efek |
|---|---|
"commit": "" | Tidak ada trailer pada commit |
"pr": "" | Tidak ada baris atribusi di deskripsi pull request |
"sessionUrl": false | Tidak ada tautan sesi claude.ai pada commit dan pull request yang dibuat dari sesi cloud atau Remote Control |
"attribution": false | Ketiganya 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.
| File | Berlaku untuk siapa |
|---|---|
~/.claude/settings.json | Anda, di semua proyek pada mesin ini |
.claude/settings.json di proyek | Semua orang yang bekerja di proyek, setelah Anda meng-commit file itu |
.claude/settings.local.json di proyek | Anda, hanya di proyek ini. Claude Code menjauhkannya dari git saat membuatnya |
| Managed settings yang dipasang organisasi Anda | Semua 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": falsemenyembunyikan trailer commit sekaligus baris pull request;- begitu
attribution.commitatauattribution.prdiatur, Claude Code mengabaikanincludeCoAuthoredBydan 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/codexyang kami baca pada 12 November 2026, Codex menambahkanCo-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-authordan--no-attribute-committermematikannya, dan--attribute-co-authored-byberalih ke trailerCo-authored-bysebagai 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.
Unduh AgentsRoom
Jalankan semua agen AI Anda, di semua proyek Anda, dari satu jendela.
Aplikasi pendamping: pantau agen Anda saat bepergian
Gunakan Claude, Codex, Antigravity CLI, atau penyedia AI lainnya.
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.

Lanjutkan membaca
Mod Claude Code: apa itu, dan mod yang kami pasang di setiap agen
Mod adalah plugin yang JavaScript-nya berjalan di dalam Claude Code. Apa yang bisa dilakukannya, tiga filenya, cara memuat dan mengujinya, dan mod yang kami pasang di setiap agen.
Baca artikelApakah Remote Control Claude Code Memakai Lebih Banyak Token? Dan Apakah Codex Punya Fitur Serupa?
Dua pertanyaan yang diketik orang di Google sejak Anthropic merilis Remote Control: apakah mengendalikan sesi Claude Code dari ponsel memakai lebih banyak token, dan apakah ada padanannya untuk Codex. Jawaban singkat: tidak, satu giliran tetap satu giliran di mana pun Anda mengetiknya, dan ya tapi baru separuhnya yang ada. Berikut apa itu Remote Control sebenarnya, cara mengukur sendiri soal token dalam empat perintah, apa yang bisa dilakukan codex remote-control hari ini, dan bagaimana remote mobile yang tidak pernah berbicara dengan penyedia mengubah hitungannya.
Baca artikelAI Terbaik untuk Coding? Model yang Benar-Benar Dijalankan 1.200 Developer
205.366 peluncuran agen dalam 28 hari: Opus pertama, GPT-6.1 Sol kedua, dan separuh akun memakai satu model yang kami sarankan sebagai bawaan. Apa yang dibuktikan angka-angka ini, dan apa yang tidak bisa mereka katakan.
Baca artikel