hooks yang sudah ada di Claude Code juga berjalan pada peristiwa, sebagai perintah shell, permintaan HTTP, atau prompt yang Anda konfigurasi dalam file pengaturan. Penanganan mod adalah fungsi yang berjalan di dalam Claude Code sebagai gantinya. Claude Code memanggil kedua jenis hooks: di halaman ini, “hook” berarti penanganan mod, dan jenis file pengaturan adalah “settings hook”.
Apa yang dapat dilakukan mod
Settings hooks, skills, status lines, dan server MCP bekerja dari luar Claude Code: masing-masing menjalankan skrip, atau memberikan Claude teks atau alat. Mod berjalan di dalam Claude Code, jadi dapat melakukan hal-hal yang tidak dapat dilakukan oleh yang lain:- Gambar antarmuka yang dapat Anda gunakan: pane di samping transkrip atau band di atas prompt, dengan tab, tombol, dan bidang teks. Lihat Gambar di antarmuka.
- Gambar ulang antarmuka Claude Code sendiri: ganti atau ubah gaya bagian yang digambar Claude Code sendiri, seperti baris pemanggilan alat, spinner, atau dialog yang Claude tanyakan. Lihat Ubah apa yang sudah digambar Claude Code.
- Masuki pemanggilan alat atau permintaan: misalnya, tahan pemanggilan alat saat Anda mengajukan pertanyaan kepada pengguna, jawab tanpa menjalankan alat, atau kirim satu permintaan ke model yang berbeda. Lihat Lindungi atau ubah pemanggilan alat dan Ikuti giliran.
- Jalankan kode Anda sendiri pada perintah:
/commandyang menjalankan fungsi Anda sekaligus, tanpa giliran Claude, bahkan saat Claude sedang bekerja. Lihat Tambahkan perintah atau alat. - Bagikan data antar hooks: hooks mod berbagi variabel dalam file-nya, jadi apa yang dicatat satu hook, hook lain dapat menampilkannya. Misalnya, satu hook dapat menghitung pemanggilan alat sementara hook lain menampilkan hitungan di samping spinner, atau satu dapat membaca penggunaan token setiap permintaan sementara hook lain membuat bagan di pane. Lihat Bereaksi terhadap acara.
claude -p, dan sesi cloud. Jika settings hook, skill, atau server MCP sudah melakukan apa yang Anda butuhkan, bandingkan mereka sebelum Anda menulis mod. Untuk mengelola mods untuk organisasi, lihat Kelola mods untuk organisasi Anda.
Dapatkan mod
Anda dapat memulai dengan mod dengan salah satu dari tiga cara:- Gunakan yang sudah Anda miliki: beberapa fitur Claude Code sendiri adalah mods, seperti
/diff. Lihat Mods bawaan Claude Code. - Buat satu: jelaskan apa yang Anda inginkan dalam sesi Claude Code, dan Claude menulis mod. Lihat Minta Claude untuk mod. Untuk mempelajari cara kerja kode mod, tulis satu sendiri.
- Pasang satu: lihat Pasang atau perbarui mod
Pasang atau perbarui mod
Mod dipasang sebagai plugin, dari marketplace. Berikan nama plugin,@, dan nama marketplace. Contoh-contoh ini memasang plugin bernama token-chart dari marketplace bernama your-org:
- Dalam sesi Claude Code, jalankan
/plugin install token-chart@your-org. - Di shell Anda, jalankan
claude plugin install token-chart@your-org.
/reload-plugins dalam sesi itu untuk memuatnya. Jika tidak, mod akan dimuat saat Anda memulai Claude Code berikutnya.
Putuskan apakah akan mempercayai mod
Mod adalah kode yang berjalan dengan izin Anda, di dalam Claude Code. Pasang mods hanya dari penulis dan marketplaces yang Anda percayai.Apa yang dapat dijangkau mod
Mod berjalan dengan izin Anda, jadi sebelum Anda memasang satu, ketahui apa yang dapat diaksesnya. Setelah dimuat, mod dapat:- Bertindak di mesin Anda sebagai Anda: membaca dan menulis file di mana pun akun pengguna Anda dapat, memulai program, dan membuat permintaan jaringan
- Baca rahasia Anda: variabel lingkungan dan file pengaturan, termasuk kunci API yang Anda simpan di salah satu
- Lihat sesi Anda: setiap prompt yang Anda kirim dan setiap pemanggilan alat yang dibuat Claude
- Ubah sesi Anda: tulis ulang prompt atau pemanggilan alat, kirimkan prompt seolah-olah Anda telah mengetiknya, atau kirim pesan ke sesi lain Anda
- Bertindak tanpa meminta Anda: setujui pemanggilan alat sebelum Anda diminta
- Habiskan penggunaan Anda: panggil model pada paket atau kunci API Anda
ask, atau yang diblokir oleh hooks PreToolUse Anda sendiri. Perluas izin dengan hooks mencantumkan apa yang dapat disetujui mod seperti itu, termasuk kapan dapat menyetujui panggilan yang ditolak aturan deny.
Mod dapat mengubah gaya banyak antarmuka Claude Code, tetapi bukan prompt izin. Tidak dapat mengubah apa yang ditampilkan prompt kepada Anda.
Daftar apa yang dilakukan mod sebelum Anda memasangnya
Sebelum Anda memasang mod, Anda dapat membuat daftar acara mana yang dikaitkan dan apa yang dimintanya kepada Claude Code untuk dilakukan, seperti membaca file atau membuat permintaan jaringan, tanpa menjalankannya. Dapatkan file plugin terlebih dahulu, misalnya dengan mengkloning repositorinya. Kemudian, di shell Anda, jalankanclaude plugin validate di direktori plugin:
hooks: dan calls: dalam output mencantumkan acara yang ditangani mod dan apa yang dimintanya kepada Claude Code untuk dilakukan. Tinjau apa yang dapat dilakukan mod menunjukkan output dan panggilan mana yang harus dicari.
Nyalakan atau matikan mods
Mods memerlukan Claude Code v2.1.287 atau lebih baru, dan mods aktif secara default. Di shell Anda, jalankanclaude --version untuk memeriksa, dan perbarui Claude Code jika milik Anda lebih lama.
Untuk mematikan mods, pilih berapa banyak yang akan dihentikan, dan berapa lama. Untuk menghidupkan kembali, batalkan perubahan yang sama:
- Satu mod: nonaktifkan atau copot pemasangan pluginnya dari tab Installed di
/plugin - Setiap mod yang dipasang, untuk satu sesi: mulai Claude Code dengan
--safe-mode, yang juga menghilangkan kustomisasi lain Anda - Setiap mod yang Anda pasang, di setiap sesi: atur
"disableAllHooks": truedi~/.claude/settings.json. Settings hooks dan status line kustom Anda juga berhenti. Apa yang dikelola organisasi Anda terus berjalan.
Jika Anda menetapkan
CLAUDE_CODE_ENABLE_FUNCTION_HOOKS selama akses awal, hapus. Claude Code v2.1.287 dan lebih baru mengabaikannya, jadi menetapkannya ke 0 tidak membuat mods tetap mati.Lihat mods mana yang dimuat sesi
Untuk melihat mods mana yang dimuat sesi terminal, jalankan/plugin di prompt Claude Code. Baris redup di bawah tab memberikan hitungan dan nama, seperti 1 mod active · first-mod. Jika mod yang Anda pasang tidak dinamai di sana, lihat Cari tahu mengapa mod tidak melakukan apa pun.
Cara kerja mod
Mod adalah plugin yang kodenya mendaftarkan penanganan acara, disebut hooks. Claude Code menjalankan hook ketika acaranya terjadi, seperti ketika Claude memanggil alat atau ketika spinner digambar. Mod kecil memiliki tiga file:plugin.json: manifest pluginhooks.json: menunjuk ke file kode Andaregister.js: kode Anda, disebut modul hooks. Ini memberitahu Claude Code acara mana yang akan menjalankan fungsi Anda.
register.js lengkap. Ini menghitung pemanggilan alat yang dibuat Claude dan menampilkan hitungan di samping spinner saat Claude bekerja, seperti Thinking · tool calls: 3….
hooks/register.js
calls di atas:
- Hook
tool.callberjalan setiap kali Claude akan menggunakan alat. Menambahkan satu kecalls, meminta Claude Code untuk menggambar antarmuka lagi, dan membiarkan alat berjalan seperti biasa. - Hook
ui.renderberjalan setiap kali Claude Code menggambar spinner. Mempertahankan spinner Claude Code sendiri dan menambahkan hitungan setelah kata.
Thinking · tool calls: 1…, kemudian 2…, kemudian 3….
Apa yang dapat dilakukan hook dengan acara
Claude Code menjalankan hook Anda sebelum bertindak pada acara, jadi hook memutuskan apa yang terjadi selanjutnya. Memiliki tiga pilihan:- Amati: catat apa yang terjadi dan biarkan lanjut tanpa perubahan, seperti yang dilakukan hook
tool.calldalam contoh - Tulis ulang: ubah acara sebelum lanjut, seperti yang dilakukan hook
ui.renderketika menambahkan hitungan ke spinner - Jawab: tangani acara itu sendiri, sehingga perilaku biasa tidak berjalan, seperti menolak perintah
Tempat mod berjalan
Hooks mod berjalan di setiap jenis sesi yang memuat plugin. Menggambar lebih sempit: hanya terminal dan aplikasi Desktop yang menampilkan panes, bands, dan baris yang diganti mod. Tabel ini mencantumkan setiap tempat Anda mungkin menjalankan Claude Code:
Mod yang menggambar dapat memeriksa aplikasi mana yang sedang dijalankan, dan kembali ke baris dalam transkrip atau balasan teks perintah di mana tidak ada yang menggambar.
Kontrol mods untuk organisasi Anda
Administrator memutuskan apakah mods berjalan dan mana, melalui managed settings. Kelola mods untuk organisasi Anda mencakup apa yang terjadi secara default, cara meninjau mod, dan cara memberlakukan kebijakan dengan mod Anda sendiri.Bandingkan mods, settings hooks, skills, dan server MCP
Mods, settings hooks, skills, dan server MCP tumpang tindih. Tabel ini menunjukkan apa itu masing-masing dan kapan memilihnya.
Masing-masing dari yang lain memiliki halaman sendiri: Hooks, Skills, dan MCP. Plugin dapat menampung keempat, jadi mod dapat dikirim dalam plugin yang sama dengan skill dan server MCP.
Mods bawaan Claude Code
Beberapa fitur Claude Code sendiri adalah mods. Untuk melihat yang dimiliki sesi Anda, jalankan/plugin di prompt Claude Code dan buka tab Installed, yang mencantumnya di bawah Built-in. Anda tidak dapat memperbarui atau mecopot pemasangan mod bawaan, dan kolom terakhir tabel mengatakan cara mematikan masing-masing. Baris mods active menghilangkan mods bawaan.
Tabel ini mencantumkan setiap entri berdasarkan nama yang ditampilkan /plugin:
Pengaturan dan flag yang menghentikan mods yang dipasang, seperti
disableAllHooks, --bare, dan --safe-mode, tidak menghentikan mods bawaan.
Baca sumber mods bawaan
Sumber empat mods ini bersifat publik di direktorimods dari repositori Claude Code. Masing-masing adalah plugin lengkap dengan modul hooks dan tesnya:
diff: pane/diff, dengan tombol terikat pada tindakan keyboard dan scrolling yang ditangani modagents-md: memuatAGENTS.mdsebagai instruksi proyek, dengan opsiuserConfigsec-default: guard yang dijelaskan dalam Ketahui apa yang terjadi secara default, model untuk mod yang memberlakukan kebijakantelemetry: menambahkan metode yang dapat dipanggil mods lain, dan mengirim tipenya
Langkah berikutnya
- Buat mod: bangun satu yang menghitung pemanggilan alat, menampilkan hitungan di samping spinner, dan menambahkan perintah, dan pelajari loop edit dan reload
- Gambar di antarmuka: panes, band di atas prompt, tombol, bidang teks, dan state
- Bereaksi terhadap acara: pemanggilan alat, prompts, giliran, dan urutan mods berjalan
- Gunakan API mods: perintah, alat, panggilan model, timer, dan file
- Uji mod: tes otomatis yang berjalan tanpa sesi
- Troubleshoot mod: alasan mod tidak melakukan apa pun, dan log debug
- Kelola mods untuk organisasi Anda: default, managed settings, meninjau mod, dan policy mods
- Referensi Mods: setiap acara, metode, elemen, dan batas