6 6
7> Tambahkan pane, perintah, dan aturan panggilan tool ke Claude Code dengan mod. Lihat apa yang dapat dilakukan mod, cara membuat atau memasang mod, dan tempat mod berjalan.7> Tambahkan pane, perintah, dan aturan panggilan tool ke Claude Code dengan mod. Lihat apa yang dapat dilakukan mod, cara membuat atau memasang mod, dan tempat mod berjalan.
8 8
9Mod adalah [plugin](/docs/id/plugins/overview.md) yang mengubah tampilan dan perilaku Claude Code. Mod terdiri dari penanganan peristiwa JavaScript atau TypeScript: Claude Code memanggil satu ketika peristiwa terjadi, seperti pemanggilan alat, prompt yang dikirimkan, atau bagian dari antarmuka yang digambar, dan penanganan dapat memantau peristiwa, mengubahnya, atau mengambil alih. Gunakan mod untuk menambahkan fitur Anda sendiri ke Claude Code, seperti pane yang membuat bagan seberapa penuh konteks Anda setelah setiap permintaan. Untuk file dalam mod dan contoh lengkap, lihat [Cara kerja mod](#how-a-mod-works).9Mod adalah [plugin](https://code.claude.com/docs/id/plugins/overview.md) yang mengubah tampilan dan perilaku Claude Code. Mod terdiri dari penanganan peristiwa JavaScript atau TypeScript: Claude Code memanggil satu ketika peristiwa terjadi, seperti pemanggilan alat, prompt yang dikirimkan, atau bagian dari antarmuka yang digambar, dan penanganan dapat memantau peristiwa, mengubahnya, atau mengambil alih. Gunakan mod untuk menambahkan fitur Anda sendiri ke Claude Code, seperti pane yang membuat bagan seberapa penuh konteks Anda setelah setiap permintaan. Untuk file dalam mod dan contoh lengkap, lihat [Cara kerja mod](#how-a-mod-works).
10 10
11> [!NOTE]11> [!NOTE]
12>12>
13> [hooks](/docs/id/hooks.md) 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".13> [hooks](https://code.claude.com/docs/id/hooks.md) 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".
14 14
15## Apa yang dapat dilakukan mod15## Apa yang dapat dilakukan mod
16 16
17Settings 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:17Settings 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:
18 18
19* **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](/docs/id/plugins/mods/interface.md).19* **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](https://code.claude.com/docs/id/plugins/mods/interface.md).
20* **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](/docs/id/plugins/mods/interface.md#change-what-claude-code-already-draws).20* **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](https://code.claude.com/docs/id/plugins/mods/interface.md#change-what-claude-code-already-draws).
21* **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](/docs/id/plugins/mods/events.md#guard-or-change-a-tool-call) dan [Ikuti giliran](/docs/id/plugins/mods/events.md#follow-a-turn).21* **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](https://code.claude.com/docs/id/plugins/mods/events.md#guard-or-change-a-tool-call) dan [Ikuti giliran](https://code.claude.com/docs/id/plugins/mods/events.md#follow-a-turn).
22* **Jalankan kode Anda sendiri pada perintah**: `/command` yang menjalankan fungsi Anda sekaligus, tanpa giliran Claude, bahkan saat Claude sedang bekerja. Lihat [Tambahkan perintah atau alat](/docs/id/plugins/mods/api.md#add-a-command-or-a-tool).22* **Jalankan kode Anda sendiri pada perintah**: `/command` yang menjalankan fungsi Anda sekaligus, tanpa giliran Claude, bahkan saat Claude sedang bekerja. Lihat [Tambahkan perintah atau alat](https://code.claude.com/docs/id/plugins/mods/api.md#add-a-command-or-a-tool).
23* **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](/docs/id/plugins/mods/events.md).23* **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](https://code.claude.com/docs/id/plugins/mods/events.md).
24 24
25Mod bekerja di CLI Claude Code, tab Code aplikasi Desktop Claude, dan ekstensi VS Code. Lihat [Tempat mod berjalan](#where-mods-run) untuk memahami cara mod berperilaku di tempat lain, seperti di `claude -p` dan sesi cloud. Jika hook pengaturan, skill, atau server MCP sudah melakukan apa yang Anda butuhkan, [bandingkan mereka](#compare-mods-settings-hooks-skills-and-mcp-servers) sebelum Anda menulis mod. Untuk mengelola mod untuk organisasi, lihat [Kelola mod untuk organisasi Anda](/docs/id/plugins/mods/admin.md).25Mod bekerja di CLI Claude Code, tab Code aplikasi Desktop Claude, dan ekstensi VS Code. Lihat [Tempat mod berjalan](#where-mods-run) untuk memahami cara mod berperilaku di tempat lain, seperti di `claude -p` dan sesi cloud. Jika hook pengaturan, skill, atau server MCP sudah melakukan apa yang Anda butuhkan, [bandingkan mereka](#compare-mods-settings-hooks-skills-and-mcp-servers) sebelum Anda menulis mod. Untuk mengelola mod untuk organisasi, lihat [Kelola mod untuk organisasi Anda](https://code.claude.com/docs/id/plugins/mods/admin.md).
26 26
27## Dapatkan mod27## Dapatkan mod
28 28
29Untuk memulai dengan mod:29Untuk memulai dengan mod:
30 30
31* **Gunakan yang sudah Anda miliki**: beberapa fitur Claude Code sendiri adalah mods, seperti `/diff`. Lihat [Mods bawaan Claude Code](#mods-built-into-claude-code).31* **Gunakan yang sudah Anda miliki**: beberapa fitur Claude Code sendiri adalah mods, seperti `/diff`. Lihat [Mods bawaan Claude Code](#mods-built-into-claude-code).
32* **Buat satu**: jelaskan apa yang Anda inginkan dalam sesi Claude Code, dan Claude menulis mod. Lihat [Minta Claude untuk mod](/docs/id/plugins/mods/create.md#ask-claude-for-a-mod). Untuk mempelajari cara kerja kode mod, [tulis satu sendiri](/docs/id/plugins/mods/create.md#write-a-mod-yourself).32* **Buat satu**: jelaskan apa yang Anda inginkan dalam sesi Claude Code, dan Claude menulis mod. Lihat [Minta Claude untuk mod](https://code.claude.com/docs/id/plugins/mods/create.md#ask-claude-for-a-mod). Untuk mempelajari cara kerja kode mod, [tulis satu sendiri](https://code.claude.com/docs/id/plugins/mods/create.md#write-a-mod-yourself).
33* **Pasang satu**: lihat [Pasang atau perbarui mod](#install-or-update-a-mod), atau [coba mod contoh](#try-a-sample-mod)33* **Pasang satu**: lihat [Pasang atau perbarui mod](#install-or-update-a-mod), atau [coba mod contoh](#try-a-sample-mod)
34 34
35### Pasang atau perbarui mod35### Pasang atau perbarui mod
43* Dalam sesi Claude Code, jalankan `/plugin install token-chart@your-org`.43* Dalam sesi Claude Code, jalankan `/plugin install token-chart@your-org`.
44* Di shell Anda, jalankan `claude plugin install token-chart@your-org`.44* Di shell Anda, jalankan `claude plugin install token-chart@your-org`.
45 45
46[Pasang plugins](/docs/id/plugins/install.md) mencakup marketplaces, scopes, ekstensi VS Code dan aplikasi Desktop, dan [menjaga plugins tetap terbaru](/docs/id/plugins/install.md#keep-plugins-updated), semuanya berlaku untuk plugin yang berisi mod tanpa perubahan.46[Pasang plugins](https://code.claude.com/docs/id/plugins/install.md) mencakup marketplaces, scopes, ekstensi VS Code dan aplikasi Desktop, dan [menjaga plugins tetap terbaru](https://code.claude.com/docs/id/plugins/install.md#keep-plugins-updated), semuanya berlaku untuk plugin yang berisi mod tanpa perubahan.
47 47
48Jika Anda memasang atau memperbarui mod dari shell Anda saat sesi terbuka, jalankan `/reload-plugins` dalam sesi itu untuk memuatnya. Jika tidak, mod akan dimuat saat Anda memulai Claude Code berikutnya.48Jika Anda memasang atau memperbarui mod dari shell Anda saat sesi terbuka, jalankan `/reload-plugins` dalam sesi itu untuk memuatnya. Jika tidak, mod akan dimuat saat Anda memulai Claude Code berikutnya.
49 49
57 57
58Mod contoh berjalan dengan izin Anda. Untuk melihat apa yang dilakukan sebuah mod sebelum Anda memuatnya, [daftarkan hook dan panggilannya](#list-what-a-mod-does-before-you-install-one).58Mod contoh berjalan dengan izin Anda. Untuk melihat apa yang dilakukan sebuah mod sebelum Anda memuatnya, [daftarkan hook dan panggilannya](#list-what-a-mod-does-before-you-install-one).
59 59
60Untuk mencobanya, clone repositori tersebut dan [muat direktori mod untuk satu sesi](/docs/id/plugins/create.md#load-a-directory-or-archive-for-one-session) dengan `--plugin-dir`. Untuk memastikan mod telah dimuat, [periksa mods mana yang dimuat oleh sesi](#see-which-mods-a-session-loaded).60Untuk mencobanya, clone repositori tersebut dan [muat direktori mod untuk satu sesi](https://code.claude.com/docs/id/plugins/create.md#load-a-directory-or-archive-for-one-session) dengan `--plugin-dir`. Untuk memastikan mod telah dimuat, [periksa mods mana yang dimuat oleh sesi](#see-which-mods-a-session-loaded).
61 61
62Untuk menyimpannya, [tambahkan direktori `claude-code/mods` dari clone sebagai marketplace](/docs/id/plugins/install#add-a-marketplace), lalu pasang mod dari `claude-code-playground-mods`. Marketplace tersebut menunjuk ke clone Anda, sehingga mod berhenti dimuat jika Anda memindahkan atau menghapusnya.62Untuk menyimpannya, [tambahkan direktori `claude-code/mods` dari clone sebagai marketplace](https://code.claude.com/docs/id/plugins/install#add-a-marketplace), lalu pasang mod dari `claude-code-playground-mods`. Marketplace tersebut menunjuk ke clone Anda, sehingga mod berhenti dimuat jika Anda memindahkan atau menghapusnya.
63 63
64## Putuskan apakah akan mempercayai mod64## Putuskan apakah akan mempercayai mod
65 65
66Mod adalah kode yang berjalan dengan izin Anda, di dalam Claude Code. Pasang mods hanya dari penulis dan [marketplaces yang Anda percayai](/docs/id/plugins/security.md).66Mod adalah kode yang berjalan dengan izin Anda, di dalam Claude Code. Pasang mods hanya dari penulis dan [marketplaces yang Anda percayai](https://code.claude.com/docs/id/plugins/security.md).
67 67
68### Apa yang dapat dijangkau mod68### Apa yang dapat dijangkau mod
69 69
76* **Bertindak tanpa meminta Anda**: setujui panggilan tool sebelum Anda diminta76* **Bertindak tanpa meminta Anda**: setujui panggilan tool sebelum Anda diminta
77* **Habiskan penggunaan Anda**: panggil model pada paket atau kunci API Anda77* **Habiskan penggunaan Anda**: panggil model pada paket atau kunci API Anda
78 78
79Mod tidak berjalan di dalam sandbox. Jika Anda mengaktifkan [sandboxing](/docs/id/sandboxing.md), sandbox mengisolasi perintah Bash yang dijalankan Claude, dan proses yang dimulai oleh mod berjalan di luarnya.79Mod tidak berjalan di dalam sandbox. Jika Anda mengaktifkan [sandboxing](https://code.claude.com/docs/id/sandboxing.md), sandbox mengisolasi perintah Bash yang dijalankan Claude, dan proses yang dimulai oleh mod berjalan di luarnya.
80 80
81Dengan [pengaturan terkelola](/docs/id/settings.md#check-what-your-organization-enforces) atau [`/login`](/docs/id/authentication#authentication-precedence) Team atau Enterprise sebagai kredensial sesi, secara default persetujuan mod tidak dapat meloloskan panggilan melewati aturan `ask` atau hook `PreToolUse` Anda. Tanpa salah satu dari keduanya, mod dapat menyetujui panggilan yang akan dimintakan izinnya oleh aturan `ask`, atau yang diblokir oleh hook `PreToolUse` Anda. Untuk memeriksa kapan mod juga dapat menyetujui panggilan yang ditolak aturan `deny`, lihat [Perluas izin dengan hooks](/docs/id/permissions.md#precedence-among-rules-hooks-and-mods).81Dengan [pengaturan terkelola](https://code.claude.com/docs/id/settings.md#check-what-your-organization-enforces) atau [`/login`](https://code.claude.com/docs/id/authentication#authentication-precedence) Team atau Enterprise sebagai kredensial sesi, secara default persetujuan mod tidak dapat meloloskan panggilan melewati aturan `ask` atau hook `PreToolUse` Anda. Tanpa salah satu dari keduanya, mod dapat menyetujui panggilan yang akan dimintakan izinnya oleh aturan `ask`, atau yang diblokir oleh hook `PreToolUse` Anda. Untuk memeriksa kapan mod juga dapat menyetujui panggilan yang ditolak aturan `deny`, lihat [Perluas izin dengan hooks](https://code.claude.com/docs/id/permissions.md#precedence-among-rules-hooks-and-mods).
82 82
83Mod dapat mengubah gaya banyak antarmuka Claude Code, tetapi bukan dialog izin. Mod tidak dapat mengubah apa yang ditampilkan dialog tersebut kepada Anda.83Mod dapat mengubah gaya banyak antarmuka Claude Code, tetapi bukan dialog izin. Mod tidak dapat mengubah apa yang ditampilkan dialog tersebut kepada Anda.
84 84
90claude plugin validate ./some-mod90claude plugin validate ./some-mod
91```91```
92 92
93Baris `hooks:` dan `calls:` dalam output mencantumkan peristiwa yang ditangani mod dan apa yang dimintanya kepada Claude Code untuk dilakukan. [Tinjau apa yang dapat dilakukan mod](/docs/id/plugins/mods/admin.md#review-what-a-mod-can-do) menunjukkan output dan panggilan mana yang harus dicari.93Baris `hooks:` dan `calls:` dalam output mencantumkan peristiwa yang ditangani mod dan apa yang dimintanya kepada Claude Code untuk dilakukan. [Tinjau apa yang dapat dilakukan mod](https://code.claude.com/docs/id/plugins/mods/admin.md#review-what-a-mod-can-do) menunjukkan output dan panggilan mana yang harus dicari.
94 94
95## Nyalakan atau matikan mods95## Nyalakan atau matikan mods
96 96
97Mod aktif secara default. Di terminal, gunakan Claude Code v2.1.287 atau lebih baru. Aplikasi Desktop menyertakan salinan Claude Code miliknya sendiri, dan mod berfungsi di sana mulai dari v2.1.286. Periksa versi di tempat Anda menggunakan mod:97Mod aktif secara default. Di terminal, gunakan Claude Code v2.1.287 atau lebih baru. Aplikasi Desktop menyertakan salinan Claude Code miliknya sendiri, dan mod berfungsi di sana mulai dari v2.1.286. Periksa versi di tempat Anda menggunakan mod:
98 98
99* **Terminal**: di shell Anda, jalankan `claude --version`. Jika milik Anda lebih lama, [perbarui Claude Code](/docs/id/setup.md#update-claude-code).99* **Terminal**: di shell Anda, jalankan `claude --version`. Jika milik Anda lebih lama, [perbarui Claude Code](https://code.claude.com/docs/id/setup.md#update-claude-code).
100* **Aplikasi Desktop**: di sesi lokal pada tab Code, masukkan `/status` dan baca baris **Claude Code**, yang menampilkan versi seperti `2.1.286`. Jika milik Anda lebih lama, [perbarui aplikasi Desktop](/docs/id/desktop.md#claude-code-version-in-the-code-tab).100* **Aplikasi Desktop**: di sesi lokal pada tab Code, masukkan `/status` dan baca baris **Claude Code**, yang menampilkan versi seperti `2.1.286`. Jika milik Anda lebih lama, [perbarui aplikasi Desktop](https://code.claude.com/docs/id/desktop.md#claude-code-version-in-the-code-tab).
101 101
102Untuk mematikan mods, pilih berapa banyak yang akan dihentikan, dan berapa lama. Untuk menghidupkan kembali, batalkan perubahan yang sama:102Untuk mematikan mods, pilih berapa banyak yang akan dihentikan, dan berapa lama. Untuk menghidupkan kembali, batalkan perubahan yang sama:
103 103
104* **Satu mod**: nonaktifkan atau copot pemasangan pluginnya dari [tab **Installed** di `/plugin`](/docs/id/plugins/install#manage-installed-plugins)104* **Satu mod**: nonaktifkan atau copot pemasangan pluginnya dari [tab **Installed** di `/plugin`](https://code.claude.com/docs/id/plugins/install#manage-installed-plugins)
105* **Setiap mod yang dipasang, untuk satu sesi**: mulai Claude Code dengan [`--safe-mode`](/docs/id/cli-reference#cli-flags), yang juga menonaktifkan kustomisasi lain Anda105* **Setiap mod yang dipasang, untuk satu sesi**: mulai Claude Code dengan [`--safe-mode`](https://code.claude.com/docs/id/cli-reference#cli-flags), yang juga menonaktifkan kustomisasi lain Anda
106* **Setiap mod yang Anda pasang, di setiap sesi**: atur [`"disableAllHooks": true`](/docs/id/settings-reference#disableallhooks) di `~/.claude/settings.json`. Hook pengaturan dan baris status kustom Anda juga berhenti. Apa yang dikelola organisasi Anda terus berjalan.106* **Setiap mod yang Anda pasang, di setiap sesi**: atur [`"disableAllHooks": true`](https://code.claude.com/docs/id/settings-reference#disableallhooks) di `~/.claude/settings.json`. Hook pengaturan dan baris status kustom Anda juga berhenti. Apa yang dikelola organisasi Anda terus berjalan.
107 107
108Jika Anda menggunakan Claude Code melalui organisasi, administrator juga dapat membatasi mods mana yang dimuat. Administrator dimulai di [Hentikan mods yang dipasang pengguna dari dimuat](/docs/id/plugins/mods/admin.md#stop-user-installed-mods-from-loading).108Jika Anda menggunakan Claude Code melalui organisasi, administrator juga dapat membatasi mods mana yang dimuat. Administrator dimulai di [Hentikan mods yang dipasang pengguna dari dimuat](https://code.claude.com/docs/id/plugins/mods/admin.md#stop-user-installed-mods-from-loading).
109 109
110`disableAllHooks` dan `allowManagedModsOnly` milik organisasi Anda menghentikan mod dan membiarkan bagian lain dari pluginnya tetap di tempat: plugin tetap terpasang, dan skill, perintah, agent, serta server MCP-nya tetap dimuat. Pengaturan dan flag lain menjangkau lebih jauh. [`disableAllHooks`](/docs/id/settings-reference#disableallhooks) dan [Apa yang berjalan di bawah `allowManagedHooksOnly`](/docs/id/settings-reference#what-runs-under-allowmanagedhooksonly) mencantumkan apa yang dilakukan masing-masing terhadap plugin dan hook pengaturannya.110`disableAllHooks` dan `allowManagedModsOnly` milik organisasi Anda menghentikan mod dan membiarkan bagian lain dari pluginnya tetap di tempat: plugin tetap terpasang, dan skill, perintah, agent, serta server MCP-nya tetap dimuat. Pengaturan dan flag lain menjangkau lebih jauh. [`disableAllHooks`](https://code.claude.com/docs/id/settings-reference#disableallhooks) dan [Apa yang berjalan di bawah `allowManagedHooksOnly`](https://code.claude.com/docs/id/settings-reference#what-runs-under-allowmanagedhooksonly) mencantumkan apa yang dilakukan masing-masing terhadap plugin dan hook pengaturannya.
111 111
112Untuk mengetahui apakah mods dapat dimuat untuk Anda, lihat [Periksa apakah mods dapat dimuat](/docs/id/plugins/mods/troubleshoot.md#check-whether-mods-can-load).112Untuk mengetahui apakah mods dapat dimuat untuk Anda, lihat [Periksa apakah mods dapat dimuat](https://code.claude.com/docs/id/plugins/mods/troubleshoot.md#check-whether-mods-can-load).
113 113
114> [!NOTE]114> [!NOTE]
115>115>
117 117
118### Lihat mods mana yang dimuat sesi118### Lihat mods mana yang dimuat sesi
119 119
120Untuk 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](/docs/id/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing).120Untuk 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](https://code.claude.com/docs/id/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing).
121 121
122## Cara kerja mod122## Cara kerja mod
123 123
124Mod adalah [plugin](/docs/id/plugins/overview.md) yang kodenya mendaftarkan penanganan acara, disebut hooks. Claude Code menjalankan hook ketika acaranya terjadi, seperti ketika Claude memanggil tool atau ketika spinner digambar. Mod kecil memiliki tiga file:124Mod adalah [plugin](https://code.claude.com/docs/id/plugins/overview.md) yang kodenya mendaftarkan penanganan acara, disebut hooks. Claude Code menjalankan hook ketika acaranya terjadi, seperti ketika Claude memanggil tool atau ketika spinner digambar. Mod kecil memiliki tiga file:
125 125
126```text theme={null}126```text theme={null}
127first-mod/127first-mod/
132 └── register.js132 └── register.js
133```133```
134 134
135* **`plugin.json`**: [manifest](/docs/id/plugins/manifest-reference.md) plugin135* **`plugin.json`**: [manifest](https://code.claude.com/docs/id/plugins/manifest-reference.md) plugin
136* **`hooks.json`**: [menunjuk ke file kode Anda](/docs/id/plugins/mods/reference.md#files)136* **`hooks.json`**: [menunjuk ke file kode Anda](https://code.claude.com/docs/id/plugins/mods/reference.md#files)
137* **`register.js`**: [kode Anda](/docs/id/plugins/mods/create.md#write-a-mod-yourself), disebut modul hooks. Ini memberitahu Claude Code acara mana yang akan menjalankan fungsi Anda.137* **`register.js`**: [kode Anda](https://code.claude.com/docs/id/plugins/mods/create.md#write-a-mod-yourself), disebut modul hooks. Ini memberitahu Claude Code acara mana yang akan menjalankan fungsi Anda.
138 138
139Ini adalah `register.js` lengkap. Ini menghitung panggilan tool yang dibuat Claude dan menampilkan hitungan di samping spinner saat Claude bekerja, seperti `Thinking · tool calls: 3…`.139Ini adalah `register.js` lengkap. Ini menghitung panggilan tool yang dibuat Claude dan menampilkan hitungan di samping spinner saat Claude bekerja, seperti `Thinking · tool calls: 3…`.
140 140
163 163
164File mendaftarkan dua hook, dan keduanya menggunakan variabel `calls` di atas:164File mendaftarkan dua hook, dan keduanya menggunakan variabel `calls` di atas:
165 165
166* **Hook [`tool.call`](/docs/id/plugins/mods/reference#tools)** berjalan setiap kali Claude akan menggunakan tool. Menambahkan satu ke `calls`, meminta Claude Code untuk menggambar antarmuka lagi, dan membiarkan tool berjalan seperti biasa.166* **Hook [`tool.call`](https://code.claude.com/docs/id/plugins/mods/reference#tools)** berjalan setiap kali Claude akan menggunakan tool. Menambahkan satu ke `calls`, meminta Claude Code untuk menggambar antarmuka lagi, dan membiarkan tool berjalan seperti biasa.
167* **Hook [`ui.render`](/docs/id/plugins/mods/reference#interface)** berjalan setiap kali Claude Code menggambar spinner. Mempertahankan spinner Claude Code sendiri dan menambahkan hitungan setelah kata.167* **Hook [`ui.render`](https://code.claude.com/docs/id/plugins/mods/reference#interface)** berjalan setiap kali Claude Code menggambar spinner. Mempertahankan spinner Claude Code sendiri dan menambahkan hitungan setelah kata.
168 168
169Rekaman ini menunjukkan mod bekerja. Perhatikan baris spinner di atas kotak prompt: saat Claude membuat daftar direktori dan membaca dua file, dibaca `Thinking · tool calls: 1…`, kemudian `2…`, kemudian `3…`.169Rekaman ini menunjukkan mod bekerja. Perhatikan baris spinner di atas kotak prompt: saat Claude membuat daftar direktori dan membaca dua file, dibaca `Thinking · tool calls: 1…`, kemudian `2…`, kemudian `3…`.
170 170
180 180
181Untuk melakukan apa pun di luar kode sendiri, seperti menggambar, menambahkan perintah, memanggil model, membaca file, memulai proses, atau membuat permintaan jaringan, hook memanggil API mods. Hook tidak memiliki cara lain untuk melakukan hal-hal itu, itulah mengapa Claude Code dapat [membuat daftar apa yang dilakukan mod](#list-what-a-mod-does-before-you-install-one) sebelum Anda memasangnya.181Untuk melakukan apa pun di luar kode sendiri, seperti menggambar, menambahkan perintah, memanggil model, membaca file, memulai proses, atau membuat permintaan jaringan, hook memanggil API mods. Hook tidak memiliki cara lain untuk melakukan hal-hal itu, itulah mengapa Claude Code dapat [membuat daftar apa yang dilakukan mod](#list-what-a-mod-does-before-you-install-one) sebelum Anda memasangnya.
182 182
183Untuk kode di balik setiap pilihan, lihat [Bereaksi terhadap acara](/docs/id/plugins/mods/events.md#how-a-hook-handles-an-event). Untuk apa yang dapat dipanggil hook, lihat [Gunakan API mods](/docs/id/plugins/mods/api.md).183Untuk kode di balik setiap pilihan, lihat [Bereaksi terhadap acara](https://code.claude.com/docs/id/plugins/mods/events.md#how-a-hook-handles-an-event). Untuk apa yang dapat dipanggil hook, lihat [Gunakan API mods](https://code.claude.com/docs/id/plugins/mods/api.md).
184 184
185### Tempat mod berjalan185### Tempat mod berjalan
186 186
189| Tempat Anda menjalankan Claude Code | Hook berjalan | Apa yang digambar mod muncul |189| Tempat Anda menjalankan Claude Code | Hook berjalan | Apa yang digambar mod muncul |
190| :- | :- | :- |190| :- | :- | :- |
191| `claude` di terminal, termasuk terminal terintegrasi editor dan plugin JetBrains | Ya | Ya |191| `claude` di terminal, termasuk terminal terintegrasi editor dan plugin JetBrains | Ya | Ya |
192| Tab Code aplikasi Desktop, kecuali dalam sesi WSL | Ya | Ya, kecuali elemen yang ditandai [tabel elemen](/docs/id/plugins/mods/reference.md#elements) sebagai terminal-only |192| Tab Code aplikasi Desktop, kecuali dalam sesi WSL | Ya | Ya, kecuali elemen yang ditandai [tabel elemen](https://code.claude.com/docs/id/plugins/mods/reference.md#elements) sebagai terminal-only |
193| [Sesi WSL](/docs/id/desktop-wsl.md) di aplikasi Desktop | Tidak, karena plugin tidak tersedia dalam sesi WSL | Tidak |193| [Sesi WSL](https://code.claude.com/docs/id/desktop-wsl.md) di aplikasi Desktop | Tidak, karena plugin tidak tersedia dalam sesi WSL | Tidak |
194| Panel chat ekstensi VS Code | Ya | Ya, dengan ekstensi versi 2.1.299 atau lebih baru. Sesi yang [tidak mengambil feature flag](/docs/id/env-vars.md#features-that-need-feature-flag-fetching), seperti sesi di Amazon Bedrock, memerlukan versi 2.1.304 atau lebih baru. Tabel [titik render](/docs/id/plugins/mods/reference.md#render-sites) dan [elemen](/docs/id/plugins/mods/reference.md#elements) menandai apa yang digambar panel. |194| Panel chat ekstensi VS Code | Ya | Ya, dengan ekstensi versi 2.1.299 atau lebih baru. Sesi yang [tidak mengambil feature flag](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), seperti sesi di Amazon Bedrock, memerlukan versi 2.1.304 atau lebih baru. Tabel [titik render](https://code.claude.com/docs/id/plugins/mods/reference.md#render-sites) dan [elemen](https://code.claude.com/docs/id/plugins/mods/reference.md#elements) menandai apa yang digambar panel. |
195| `claude -p` dan [Agent SDK](/docs/id/agent-sdk/overview.md) | Ya | Tidak |195| `claude -p` dan [Agent SDK](https://code.claude.com/docs/id/agent-sdk/overview.md) | Ya | Tidak |
196| [Remote Control](/docs/id/remote-control.md) dari claude.ai atau aplikasi mobile | Ya, dalam sesi di mesin Anda | Di terminal di mesin Anda |196| [Remote Control](https://code.claude.com/docs/id/remote-control.md) dari claude.ai atau aplikasi mobile | Ya, dalam sesi di mesin Anda | Di terminal di mesin Anda |
197| [Sesi cloud](/docs/id/claude-code-on-the-web.md) | Ya, untuk plugin yang [menjangkau sesi cloud](/docs/id/cloud-environments.md#what-carries-over-from-your-setup) | Tidak |197| [Sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) | Ya, untuk plugin yang [menjangkau sesi cloud](https://code.claude.com/docs/id/cloud-environments.md#what-carries-over-from-your-setup) | Tidak |
198 198
199Mod 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.199Mod 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.
200 200
201## Kontrol mods untuk organisasi Anda201## Kontrol mods untuk organisasi Anda
202 202
203Administrator memutuskan apakah mods berjalan dan mana, melalui [managed settings](/docs/id/managed-settings.md). [Kelola mods untuk organisasi Anda](/docs/id/plugins/mods/admin.md) mencakup apa yang terjadi secara default, cara meninjau mod, dan cara memberlakukan kebijakan dengan mod Anda sendiri.203Administrator memutuskan apakah mods berjalan dan mana, melalui [managed settings](https://code.claude.com/docs/id/managed-settings.md). [Kelola mods untuk organisasi Anda](https://code.claude.com/docs/id/plugins/mods/admin.md) mencakup apa yang terjadi secara default, cara meninjau mod, dan cara memberlakukan kebijakan dengan mod Anda sendiri.
204 204
205## Bandingkan mods, settings hooks, skills, dan server MCP205## Bandingkan mods, settings hooks, skills, dan server MCP
206 206
214| Apa yang Anda tulis | JavaScript atau TypeScript | Skrip dan entri `settings.json` | Markdown | Server dalam bahasa apa pun |214| Apa yang Anda tulis | JavaScript atau TypeScript | Skrip dan entri `settings.json` | Markdown | Server dalam bahasa apa pun |
215| Pilih ketika | Anda menginginkan pane, band di atas prompt, perintah kustom, atau menulis ulang acara | Anda ingin memblokir, mengizinkan, atau mencatat acara dengan skrip yang sudah Anda miliki | Anda terus menempel instruksi yang sama ke dalam chat | Claude perlu menjangkau sistem eksternal |215| Pilih ketika | Anda menginginkan pane, band di atas prompt, perintah kustom, atau menulis ulang acara | Anda ingin memblokir, mengizinkan, atau mencatat acara dengan skrip yang sudah Anda miliki | Anda terus menempel instruksi yang sama ke dalam chat | Claude perlu menjangkau sistem eksternal |
216 216
217Masing-masing dari yang lain memiliki halaman sendiri: [Hooks](/docs/id/hooks.md), [Skills](/docs/id/skills.md), dan [MCP](/docs/id/mcp.md). Plugin dapat menampung semuanya, jadi mod dapat dikirim dalam plugin yang sama dengan skill dan server MCP.217Masing-masing dari yang lain memiliki halaman sendiri: [Hooks](https://code.claude.com/docs/id/hooks.md), [Skills](https://code.claude.com/docs/id/skills.md), dan [MCP](https://code.claude.com/docs/id/mcp.md). Plugin dapat menampung semuanya, jadi mod dapat dikirim dalam plugin yang sama dengan skill dan server MCP.
218 218
219## Mods bawaan Claude Code219## Mods bawaan Claude Code
220 220
224 224
225| Nama di `/plugin` | Apa yang dilakukan | Tempat aktif | Cara mematikannya |225| Nama di `/plugin` | Apa yang dilakukan | Tempat aktif | Cara mematikannya |
226| :- | :- | :- | :- |226| :- | :- | :- | :- |
227| `cc-plugin-agents-md` | Memuat `AGENTS.md` sebagai instruksi proyek | Setiap sesi, terpisah dari [yang tidak dapat membaca `AGENTS.md`](/docs/id/memory#when-agents-md-support-is-unavailable) | Nonaktifkan di `/plugin`, atau [pilih file instruksi mana yang dimuat](/docs/id/memory.md#choose-which-instruction-files-load) |227| `cc-plugin-agents-md` | Memuat `AGENTS.md` sebagai instruksi proyek | Setiap sesi, terpisah dari [yang tidak dapat membaca `AGENTS.md`](https://code.claude.com/docs/id/memory#when-agents-md-support-is-unavailable) | Nonaktifkan di `/plugin`, atau [pilih file instruksi mana yang dimuat](https://code.claude.com/docs/id/memory.md#choose-which-instruction-files-load) |
228| `cc-plugin-diff` | Mengambil alih [`/diff`](/docs/id/interactive-mode#review-changes-with-%2Fdiff) dan menggambar panenya | Sesi terminal interaktif | Nonaktifkan di `/plugin`. `/diff` tetap, dan versi bawaan Claude Code dari perintah menjawabnya. |228| `cc-plugin-diff` | Mengambil alih [`/diff`](https://code.claude.com/docs/id/interactive-mode#review-changes-with-%2Fdiff) dan menggambar panenya | Sesi terminal interaktif | Nonaktifkan di `/plugin`. `/diff` tetap, dan versi bawaan Claude Code dari perintah menjawabnya. |
229| `cc-plugin-plugin-authoring` | Memberikan Claude skill [`plugin-authoring`](/docs/id/plugins/mods/create#ask-claude-for-a-mod) untuk menulis mods. Memiliki skill dan tidak ada kode mod. | Kecuali Anthropic telah mematikan mods yang dipasang dari jarak jauh | Nonaktifkan di `/plugin` |229| `cc-plugin-plugin-authoring` | Memberikan Claude skill [`plugin-authoring`](https://code.claude.com/docs/id/plugins/mods/create#ask-claude-for-a-mod) untuk menulis mods. Memiliki skill dan tidak ada kode mod. | Kecuali Anthropic telah mematikan mods yang dipasang dari jarak jauh | Nonaktifkan di `/plugin` |
230| `cc-plugin-sec-default` | Menjaga apa yang dikelola organisasi Anda dari mods yang dipasang pengguna | [Tempat guard dimuat](/docs/id/plugins/mods/admin.md#know-what-happens-by-default) | Anda tidak bisa. Administrator [menetapkan urutan](/docs/id/plugins/mods/admin.md#install-your-organizations-mods) dalam pengaturan terkelola |230| `cc-plugin-sec-default` | Menjaga apa yang dikelola organisasi Anda dari mods yang dipasang pengguna | [Tempat guard dimuat](https://code.claude.com/docs/id/plugins/mods/admin.md#know-what-happens-by-default) | Anda tidak bisa. Administrator [menetapkan urutan](https://code.claude.com/docs/id/plugins/mods/admin.md#install-your-organizations-mods) dalam pengaturan terkelola |
231| `cc-plugin-telemetry` | Mengirim catatan analitik yang dicatat Claude Code dan mods bawaannya | Di mana pun analitik Claude Code sendiri aktif | Nonaktifkan di `/plugin`, atau matikan analitik, misalnya dengan [`DISABLE_TELEMETRY`](/docs/id/env-vars) |231| `cc-plugin-telemetry` | Mengirim catatan analitik yang dicatat Claude Code dan mods bawaannya | Di mana pun analitik Claude Code sendiri aktif | Nonaktifkan di `/plugin`, atau matikan analitik, misalnya dengan [`DISABLE_TELEMETRY`](https://code.claude.com/docs/id/env-vars) |
232| `cc-plugin-you-should-know` | [You should know](/docs/id/interactive-mode.md#you-should-know-suggestions): agent samping menampilkan catatan di atas prompt ketika menemukan sesuatu yang mungkin Anda lewatkan | Nonaktif sampai Anda [mengaktifkannya](/docs/id/interactive-mode.md#you-should-know-suggestions) | Nonaktifkan di `/plugin` |232| `cc-plugin-you-should-know` | [You should know](https://code.claude.com/docs/id/interactive-mode.md#you-should-know-suggestions): agent samping menampilkan catatan di atas prompt ketika menemukan sesuatu yang mungkin Anda lewatkan | Nonaktif sampai Anda [mengaktifkannya](https://code.claude.com/docs/id/interactive-mode.md#you-should-know-suggestions) | Nonaktifkan di `/plugin` |
233 233
234Pengaturan dan flag yang menghentikan mods yang dipasang, seperti `disableAllHooks`, `--bare`, dan `--safe-mode`, tidak menghentikan mods bawaan.234Pengaturan dan flag yang menghentikan mods yang dipasang, seperti `disableAllHooks`, `--bare`, dan `--safe-mode`, tidak menghentikan mods bawaan.
235 235
238Sumber beberapa mods ini bersifat publik di [direktori `mods` dari repositori Claude Code](https://github.com/anthropics/claude-code/tree/main/mods). Masing-masing adalah plugin lengkap dengan modul hooks dan tesnya:238Sumber beberapa mods ini bersifat publik di [direktori `mods` dari repositori Claude Code](https://github.com/anthropics/claude-code/tree/main/mods). Masing-masing adalah plugin lengkap dengan modul hooks dan tesnya:
239 239
240* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff): pane `/diff`, dengan tombol terikat pada tindakan keyboard dan scrolling yang ditangani mod sendiri240* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff): pane `/diff`, dengan tombol terikat pada tindakan keyboard dan scrolling yang ditangani mod sendiri
241* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md): memuat `AGENTS.md` sebagai instruksi proyek, dengan opsi [`userConfig`](/docs/id/plugins/components#user-configuration)241* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md): memuat `AGENTS.md` sebagai instruksi proyek, dengan opsi [`userConfig`](https://code.claude.com/docs/id/plugins/components#user-configuration)
242* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default): guard yang dijelaskan dalam [Ketahui apa yang terjadi secara default](/docs/id/plugins/mods/admin.md#know-what-happens-by-default), model untuk mod yang memberlakukan kebijakan242* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default): guard yang dijelaskan dalam [Ketahui apa yang terjadi secara default](https://code.claude.com/docs/id/plugins/mods/admin.md#know-what-happens-by-default), model untuk mod yang memberlakukan kebijakan
243* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry): menambahkan metode yang dapat dipanggil mods lain, dan mengirim tipenya243* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry): menambahkan metode yang dapat dipanggil mods lain, dan mengirim tipenya
244 244
245## Langkah berikutnya245## Langkah berikutnya
246 246
247* [Buat mod](/docs/id/plugins/mods/create.md): bangun satu yang menghitung panggilan tool, menampilkan hitungan di samping spinner, dan menambahkan perintah, dan pelajari loop edit dan reload247* [Buat mod](https://code.claude.com/docs/id/plugins/mods/create.md): bangun satu yang menghitung panggilan tool, menampilkan hitungan di samping spinner, dan menambahkan perintah, dan pelajari loop edit dan reload
248* [Gambar di antarmuka](/docs/id/plugins/mods/interface.md): panes, band di atas prompt, tombol, bidang teks, dan state248* [Gambar di antarmuka](https://code.claude.com/docs/id/plugins/mods/interface.md): panes, band di atas prompt, tombol, bidang teks, dan state
249* [Bereaksi terhadap acara](/docs/id/plugins/mods/events.md): panggilan tool, prompt, giliran, dan urutan mods berjalan249* [Bereaksi terhadap acara](https://code.claude.com/docs/id/plugins/mods/events.md): panggilan tool, prompt, giliran, dan urutan mods berjalan
250* [Gunakan API mods](/docs/id/plugins/mods/api.md): perintah, tool, panggilan model, timer, dan file250* [Gunakan API mods](https://code.claude.com/docs/id/plugins/mods/api.md): perintah, tool, panggilan model, timer, dan file
251* [Uji mod](/docs/id/plugins/mods/test.md): tes otomatis yang berjalan tanpa sesi251* [Uji mod](https://code.claude.com/docs/id/plugins/mods/test.md): tes otomatis yang berjalan tanpa sesi
252* [Troubleshoot mod](/docs/id/plugins/mods/troubleshoot.md): alasan mod tidak melakukan apa pun, dan log debug252* [Troubleshoot mod](https://code.claude.com/docs/id/plugins/mods/troubleshoot.md): alasan mod tidak melakukan apa pun, dan log debug
253* [Kelola mods untuk organisasi Anda](/docs/id/plugins/mods/admin.md): default, pengaturan terkelola, meninjau mod, dan policy mods253* [Kelola mods untuk organisasi Anda](https://code.claude.com/docs/id/plugins/mods/admin.md): default, pengaturan terkelola, meninjau mod, dan policy mods
254* [Referensi Mods](/docs/id/plugins/mods/reference.md): acara, metode, elemen, dan batas254* [Referensi Mods](https://code.claude.com/docs/id/plugins/mods/reference.md): acara, metode, elemen, dan batas