> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Referensi perintah plugin

> Referensi untuk perintah shell plugin claude, /plugin dan /reload-plugins dalam sesi, dan flag yang memuat plugin untuk satu sesi.

Anda menjalankan perintah plugin baik sebagai `claude plugin` dari shell atau skrip Anda, atau sebagai `/plugin` dan `/reload-plugins` di dalam sesi Claude Code. Referensi ini memberikan flag, default, output, dan kode keluar setiap perintah, bersama dengan dua flag yang memuat plugin untuk satu sesi.

Tabel di bawah ini mencantumkan opsi yang umum digunakan untuk setiap subperintah, bukan semua opsi. Jalankan `claude plugin --help` di shell Anda untuk melihat subperintah mana yang dimiliki versi Anda, dan `claude plugin <subcommand> --help` untuk daftar opsi lengkap suatu subperintah.

<Note>
  Kasus-kasus ini tercakup di halaman lain:

  * **Instal dan kelola langkah, dan di mana `/plugin` berjalan**: lihat [Instal dan kelola plugin](/docs/id/plugins/install)
  * **Apa yang diubah perintah di disk dan cakupan mana yang diutamakan**: lihat [Referensi pemuatan plugin](/docs/id/plugins/loading)
  * **Apa arti pesan kesalahan**: lihat [Troubleshoot plugin](/docs/id/plugins/troubleshooting)
</Note>

<h2 id="claude-plugin-commands">
  Perintah claude plugin
</h2>

Jalankan `claude plugin <subcommand>` dari shell Anda atau dari skrip, di luar sesi Claude Code. Subperintah ini menginstal dan mengelola plugin tanpa membuka panel [`/plugin`](#plugin-in-a-session).

`claude plugins` adalah alias untuk `claude plugin`.

Setiap subperintah menggunakan exit code, argumen plugin, dan nilai cakupan yang sama berikut ini:

* **Exit code**: `0` jika berhasil dan `1` jika gagal. `validate` menambahkan exit `2` untuk kesalahan yang tidak terduga, dan `eval` menambahkan kode yang tercantum di [bagiannya](#plugin-eval).
* **Argumen plugin**: argumen `<plugin>` adalah `name` plugin atau `name@marketplace`. Jika dua marketplace menawarkan nama yang sama, gunakan bentuk yang memenuhi syarat (qualified). `configure` hanya menerima bentuk yang memenuhi syarat.
* **Cakupan**: `--scope` menerima `user`, `project`, atau `local`, dan menentukan file pengaturan yang ditulis oleh perintah tersebut. `update` juga menerima `managed`.

<h3 id="plugin-init">
  plugin init
</h3>

Membuat kerangka plugin baru di `~/.claude/skills/<name>/`. Plugin ini dimuat pada sesi Anda berikutnya sebagai `<name>@skills-dir` tanpa langkah instalasi.

`new` adalah alias untuk `init`.

Untuk alur kerja membuat, menguji, dan mengedit yang dimulai dengan perintah ini, lihat [Membuat plugin](/docs/id/plugins/create).

```bash theme={null}
claude plugin init <name> [options]
```

`<name>` menjadi nama direktori di bawah `~/.claude/skills/` dan `name` plugin di manifesnya.

Perintah ini tidak memiliki flag untuk lokasi lain. Untuk membuat kerangka di dalam proyek, lihat [Membuat plugin](/docs/id/plugins/create).

| Flag | Deskripsi |
| :- | :- |
| `--description <text>` | Deskripsi manifes |
| `--author <name>` | Nama penulis. Default-nya `git config user.name` |
| `--author-email <email>` | Email penulis. Default-nya `git config user.email` |
| `--with <components...>` | Juga membuat file awal untuk `skills`, `agents`, `hooks`, `mcp`, `lsp`, `output-style`, atau `channel` |
| `-f, --force` | Menimpa `.claude-plugin/` yang sudah ada di target |

Buat kerangka plugin dengan file skill dan hook awal:

```bash theme={null}
claude plugin init my-helper --with skills hooks
```

Claude Code memvalidasi apa yang ditulisnya dan mencetak `Created plugin "my-helper" at ~/.claude/skills/my-helper`, diikuti oleh id yang digunakan saat dimuat dan perintah `claude plugin disable` yang menonaktifkannya.

Claude Code keluar dengan `1` tanpa menulis apa pun jika tidak dapat membuat kerangka dengan aman, dan pesannya menyebutkan alasannya. Berikut alasan yang umum:

* Nilai `--with` yang tidak dikenal
* Kerangka yang sudah ada di target tanpa `--force`
* Pengaturan terkelola yang memblokir plugin direktori skills

<h3 id="plugin-install">
  plugin install
</h3>

Menginstal plugin dari salah satu marketplace Anda. `i` adalah alias untuk `install`.

```bash theme={null}
claude plugin install <plugin> [options]
```

Sebagian besar plugin terinstal tanpa permintaan konfirmasi. Untuk plugin yang entri marketplace-nya [menjalankan perintah untuk menginstalnya](/docs/id/plugins/host-marketplace) atau [menetapkan `headersHelper` untuk unduhannya](/docs/id/plugins/host-marketplace#how-users-accept-a-headershelper-command), Claude Code terlebih dahulu mencetak perintah tersebut dan bertanya `Run this command now? [y/N]`.

| Flag | Deskripsi |
| :- | :- |
| `-s, --scope <scope>` | Cakupan instalasi: `user`, `project`, atau `local`. Default-nya `user` |
| `--config <key=value>` | Menetapkan opsi [`userConfig`](/docs/id/plugins/manifest-reference) yang dideklarasikan manifes plugin. Ulangi flag untuk setiap opsi. Kunci yang ditulis `<server>.<key>` menetapkan pengaturan yang dideklarasikan oleh [server MCP yang dibundel](/docs/id/plugins/components#include-a-packaged-mcpb-server) dalam `user_config`-nya sendiri, untuk file bundel yang dikirimkan di dalam plugin. Bentuk `<server>.<key>` memerlukan Claude Code v2.1.285 atau yang lebih baru |
| `-y, --yes` | Menerima perintah instalasi yang ditampilkan tanpa permintaan `Run this command now?`. Diabaikan ketika perintah berjalan di dalam sesi Claude Code, seperti dari tool Bash atau hook. Memerlukan Claude Code v2.1.229 atau yang lebih baru |
| `--accept-command <sha256>` | Menerima perintah instalasi yang ditampilkan yang `sha256`-nya dilaporkan oleh [eksekusi `--json`](#plugin-json-result) sebelumnya di `shownCommand`, sebagai pengganti `-y`. Tidak dapat digabungkan dengan `-y`. Lihat [Menerima perintah instalasi yang ditampilkan](#accept-a-displayed-install-command). Memerlukan Claude Code v2.1.271 atau yang lebih baru |
| `--json` | Mencetak hasil sebagai satu objek JSON pada baris terakhir stdout alih-alih pesan yang dapat dibaca manusia, untuk digunakan dalam skrip. Lihat [Format hasil JSON](#plugin-json-result). Memerlukan Claude Code v2.1.268 atau yang lebih baru |
| `--marketplace <source>` | Menginstal `<plugin>`, yang diberikan dengan nama polosnya, dari marketplace di `<source>`, dengan menambahkan marketplace tersebut terlebih dahulu jika Anda belum menambahkannya. Lihat [Menambahkan marketplace dan menginstal dalam satu perintah](/docs/id/plugins/install#add-a-marketplace-and-install-in-one-command). Memerlukan Claude Code v2.1.292 atau yang lebih baru |

Jalankan `claude plugin install --help` di shell Anda untuk melihat setiap opsi yang didukung versi Anda.

Berikan `-y` dari terminal Anda sendiri untuk menerima perintah yang ditampilkan tanpa permintaan konfirmasi. Berikut yang terjadi tanpa TTY dan ketika Claude menjalankan perintah tersebut:

* **stdin atau stdout bukan TTY, dan Anda tidak memberikan `-y` maupun `--accept-command`**: instalasi ditolak. Output menyatakan bahwa perintah hanya ditampilkan, dan exit code-nya `1`
* **Claude menjalankan perintah melalui tool Bash-nya**: `-y` diabaikan. Jalankan perintah dari terminal Anda sendiri sebagai gantinya

Instal plugin untuk semua orang yang meng-clone proyek:

```bash theme={null}
claude plugin install formatter@my-marketplace --scope project
```

Claude Code mencetak `Successfully installed plugin: formatter@my-marketplace (scope: project)`. Jika tidak ada yang baru terinstal, output menjelaskan alasannya:

* **Sudah terinstal di cakupan tersebut**: outputnya `Plugin "formatter@my-marketplace" is already installed (scope: project)` dan exit code-nya `0`
* **Anda menolak permintaan konfirmasi command-source**: outputnya `Aborted.` dan exit code-nya `1`
* **Anda menolak permintaan konfirmasi `headersHelper`, atau permintaan tersebut tidak dapat dikonfirmasi tanpa TTY**: outputnya `Aborted — the command was not run.` dan exit code-nya `1`

<h4 id="plugin-json-result">
  Format hasil JSON
</h4>

Ketika Anda memberikan `--json` ke `plugin install`, baris terakhir stdout adalah satu objek JSON. Uraikan hanya baris tersebut, karena Claude Code mencetak setiap perintah yang dideklarasikan marketplace sebelumnya.

Tiga field selalu ada:

* `command`: subperintah yang dijalankan, seperti `install`
* `outcome`: `ok` atau `failed`
* `message`: deskripsi hasil yang dapat dibaca manusia

Field lain, seperti `pluginId`, `scope`, dan `failureCode`, hanya muncul jika relevan.

Opsi `--json` pada `plugin uninstall`, `plugin update`, `plugin enable`, dan `plugin disable` mencetak objek yang sama dengan field milik subperintah tersebut.

Kesalahan penggunaan, seperti `--scope` yang tidak valid, tidak mencetak baris hasil dan keluar dengan `1` dengan alasannya di stderr.

<h4 id="json-result-for-marketplace-commands">
  Hasil JSON untuk perintah marketplace
</h4>

Pada `plugin marketplace add`, `plugin marketplace remove`, dan `plugin marketplace update`, `--json` mencetak satu objek JSON pada baris terakhir stdout dengan field `command`, `outcome`, dan `message`. Berikut adalah hasil dari `claude plugin marketplace remove your-marketplace --json`:

```json theme={null}
{"command":"marketplace-remove","outcome":"ok","marketplace":"your-marketplace","message":"Successfully removed marketplace: your-marketplace"}
```

Nilai `command` adalah `marketplace-add`, `marketplace-remove`, atau `marketplace-update`. Field di bawah ini hanya muncul jika relevan:

* `marketplace`: nama marketplace yang ditindaklanjuti oleh perintah
* `failureCode`: kode yang menjelaskan mengapa perintah gagal, seperti `invalid_source`

`plugin marketplace add` dan `plugin marketplace remove` dapat tidak mencetak baris hasil ketika argumennya adalah [nama yang dicadangkan](/docs/id/plugins/marketplace-reference#reserved-names) `anthropic-plugin-directory`, jadi periksa exit code untuk nama tersebut.

<h4 id="accept-a-displayed-install-command">
  Menerima perintah instalasi yang ditampilkan
</h4>

Ketika eksekusi `--json` menampilkan perintah yang dideklarasikan marketplace dan tidak menjalankannya, hasil `failed` juga membawa objek `shownCommand`. Field-nya mencakup perintah sebagaimana ditampilkan, plugin pemiliknya, dan `sha256` dari perintah tersebut.

Untuk menerima tepat perintah tersebut, jalankan ulang dengan `sha256` tersebut sebagai `--accept-command` dari terminal Anda sendiri, karena flag ini tidak berpengaruh di dalam sesi Claude Code. Memerlukan Claude Code v2.1.271 atau yang lebih baru.

`sha256` dihitung sebagai penerimaan untuk tepat perintah, plugin, dan katalog marketplace tersebut. Jika salah satunya berubah sejak perintah ditampilkan, Claude Code tidak menerima `sha256` tersebut dan menampilkan perintahnya lagi. Perubahan yang diambil oleh penyegaran marketplace dari eksekusi itu sendiri juga dihitung sebagai perubahan semacam itu.

Jika `shownCommand.acceptCommandMatched` bernilai `false`, `sha256` yang Anda berikan tidak cocok dengan perintah yang sekarang ditampilkan. Tinjau perintah tersebut sebelum menjalankan ulang dengan `sha256`-nya.

<h3 id="plugin-uninstall">
  plugin uninstall
</h3>

Menghapus plugin yang terinstal dari satu cakupan. `remove` dan `rm` adalah alias untuk `uninstall`.

```bash theme={null}
claude plugin uninstall <plugin> [options]
```

| Flag | Deskripsi |
| :- | :- |
| `-s, --scope <scope>` | Menghapus instalasi dari cakupan: `user`, `project`, atau `local`. Default-nya `user` |
| `--keep-data` | Mempertahankan direktori data persisten plugin, `~/.claude/plugins/data/<id>/` |
| `--prune` | Juga menghapus [dependensi](/docs/id/plugins/dependencies) yang diinstal otomatis yang tidak lagi dibutuhkan oleh plugin yang tersisa |
| `-y, --yes` | Melewati permintaan konfirmasi `--prune`. Wajib bersama `--prune` ketika stdin atau stdout bukan TTY |
| `--json` | Mencetak hasil sebagai satu objek JSON pada baris terakhir stdout, dalam [format yang sama dengan `plugin install --json`](#plugin-json-result). Tidak dapat digabungkan dengan `--prune`. Memerlukan Claude Code v2.1.268 atau yang lebih baru |

Hapus instalasi plugin dari cakupan project:

```bash theme={null}
claude plugin uninstall formatter@my-marketplace --scope project
```

Claude Code mencetak `Successfully uninstalled plugin: formatter (scope: project)`. Jika plugin tidak terinstal di cakupan tersebut, perintah mencetak baris yang diawali `Failed to uninstall plugin "formatter@my-marketplace":` dan keluar dengan `1`.

Jika baris kegagalan berlanjut dengan `"formatter" was not uninstalled:` dan menyebutkan file pengaturan, Claude Code tidak dapat memastikan bahwa pengaturan cakupan tersebut tidak lagi mengaktifkan plugin, sehingga plugin tetap terinstal beserta semua yang disimpannya. Dengan `--json`, hasilnya membawa `failureCode: "settings_still_on"`. Pemeriksaan pengaturan ini memerlukan Claude Code v2.1.282 atau yang lebih baru.

<h4 id="what-an-uninstall-deletes-and-keeps">
  Apa yang dihapus dan dipertahankan oleh penghapusan instalasi
</h4>

Ketika Anda menghapus instalasi plugin dari cakupan terakhir tempat plugin tersebut terinstal, Claude Code juga menghapus [opsi dan rahasia](/docs/id/plugins/manifest-reference#user-configuration) yang tersimpan milik plugin serta direktori datanya, `~/.claude/plugins/data/<id>/`. Ada tiga pengecualian:

* Dengan `--keep-data`, direktori data tetap ada
* Ketika plugin lain yang terinstal menggunakan folder yang sama, seperti plugin yang ID-nya berbeda dari plugin ini hanya dalam huruf besar/kecil, direktori data tetap ada
* Ketika Claude Code tidak dapat membaca kembali daftar plugin yang terinstal setelah menghapus plugin dari cakupan tersebut, opsi, rahasia, dan direktori data semuanya tetap ada, karena plugin mungkin masih terinstal di cakupan lain. Penghapusan instalasi tetap berhasil. Pesannya mencantumkan apa yang tetap ada dan cara menghapusnya, dan dengan `--json` hasilnya membawa `savedKept: "install_records_unreadable"`

Dengan `--json`, `keptData` melaporkan apakah direktori tetap ada, dan `/plugin` menampilkan `· data preserved` jika demikian. Untuk direktori yang tetap ada tanpa `--keep-data`, pelaporan ini memerlukan Claude Code v2.1.281 atau yang lebih baru. Field `savedKept` memerlukan Claude Code v2.1.282 atau yang lebih baru.

<h3 id="plugin-enable">
  plugin enable
</h3>

Mengaktifkan plugin yang dinonaktifkan. Untuk [plugin yang disinkronkan dari claude.ai](/docs/id/plugins/loading#synced-plugins), berikan `<name>@synced` sebagai plugin.

```bash theme={null}
claude plugin enable <plugin> [options]
```

| Flag | Deskripsi |
| :- | :- |
| `-s, --scope <scope>` | Cakupan tempat mengaktifkan: `user`, `project`, atau `local`. Dideteksi otomatis jika dihilangkan |
| `--json` | Mencetak hasil sebagai satu objek JSON pada baris terakhir stdout, dalam [format yang sama dengan `plugin install --json`](#plugin-json-result). Memerlukan Claude Code v2.1.268 atau yang lebih baru |

Tanpa `--scope`, perintah memeriksa file pengaturan Anda dengan urutan local, project, user, dan menggunakan cakupan pertama yang menyebutkan plugin tersebut.

Jika Anda memberikan `--scope` tempat plugin tidak dideklarasikan, perintah akan menulis override atau gagal:

* **Cakupan yang [diutamakan](/docs/id/plugins/loading) daripada cakupan yang mendeklarasikan**: Claude Code menulis override di cakupan yang Anda berikan. Misalnya, `claude plugin disable formatter --scope local` menonaktifkan plugin yang diaktifkan di project hanya untuk Anda
* **Cakupan lainnya**: perintah gagal dengan `Plugin "formatter" is installed at project scope, not user. Use --scope project or omit --scope to auto-detect.`

Jika plugin sudah diaktifkan di cakupan yang ditentukan, perintah mencetak `Plugin "formatter" is already enabled` dan keluar dengan `1`. Dengan `--json`, hasilnya memiliki `"failureCode": "already_in_goal_state"` dan `"alreadyInGoalState": true`, sehingga skrip dapat memperlakukan kasus tersebut sebagai keberhasilan.

Ketika plugin mendeklarasikan [dependensi](/docs/id/plugins/dependencies), Claude Code juga mengaktifkannya. Perintah gagal dalam kasus-kasus berikut:

* **Dependensi tidak terinstal**: pengaktifan gagal dan mencetak perintah `claude plugin install` untuk setiap dependensi yang hilang
* **Dependensi diblokir oleh kebijakan plugin organisasi Anda**: pengaktifan gagal dan menyebutkan dependensi yang diblokir
* **Dependensi diatur ke `false` di cakupan dengan prioritas lebih tinggi daripada cakupan target**: pengaktifan gagal. Aktifkan dependensi di cakupan tersebut, atau berikan `--scope` untuk menulis di sana

Aktifkan kembali plugin di mana pun plugin tersebut dideklarasikan:

```bash theme={null}
claude plugin enable formatter
```

Claude Code mencetak `Successfully enabled plugin: formatter (scope: project)`, dengan menyebutkan cakupan yang terdeteksi.

<h3 id="plugin-disable">
  plugin disable
</h3>

Menonaktifkan plugin tanpa menghapus instalasinya. Untuk [plugin yang disinkronkan dari claude.ai](/docs/id/plugins/loading#synced-plugins), berikan `<name>@synced` sebagai plugin.

```bash theme={null}
claude plugin disable [plugin] [options]
```

| Flag | Deskripsi |
| :- | :- |
| `-a, --all` | Menonaktifkan setiap plugin yang aktif. Tidak dapat digabungkan dengan nama plugin atau `--scope` |
| `-s, --scope <scope>` | Cakupan tempat menonaktifkan: `user`, `project`, atau `local`. Dideteksi otomatis jika dihilangkan |
| `--json` | Mencetak hasil sebagai satu objek JSON pada baris terakhir stdout, dalam [format yang sama dengan `plugin install --json`](#plugin-json-result). Memerlukan Claude Code v2.1.268 atau yang lebih baru |

Tanpa `--scope`, cakupan dideteksi otomatis dengan urutan local, project, user yang sama seperti [`plugin enable`](#plugin-enable).

Jika Anda tidak memberikan nama plugin maupun `--all`, Claude Code mencetak `Please specify a plugin name or use --all to disable all plugins` dan keluar dengan `1`. Menonaktifkan plugin yang sudah dinonaktifkan mencetak `Plugin "formatter" is already disabled` dan keluar dengan `1`, sama seperti yang dilakukan [`plugin enable`](#plugin-enable) untuk plugin yang sudah diaktifkan.

Perintah gagal untuk plugin yang masih dibutuhkan:

* **Plugin aktif lain [bergantung pada](/docs/id/plugins/dependencies) plugin tersebut**: perintah gagal dan menyebutkan plugin dependen yang harus dinonaktifkan terlebih dahulu
* **Organisasi Anda mewajibkannya sebagai plugin yang disinkronkan**: perintah gagal dan tidak menyimpan apa pun

Nonaktifkan satu plugin:

```bash theme={null}
claude plugin disable formatter
```

Claude Code mencetak `Successfully disabled plugin: formatter (scope: project)`.

<h3 id="plugin-update">
  plugin update
</h3>

Memperbarui plugin ke versi terbaru yang ditawarkan marketplace-nya. Versi baru dimuat pada sesi Anda berikutnya, atau setelah Anda menjalankan `/reload-plugins` di sesi yang sedang berjalan.

```bash theme={null}
claude plugin update <plugin> [options]
```

| Flag | Deskripsi |
| :- | :- |
| `-s, --scope <scope>` | Cakupan yang diperbarui: `user`, `project`, `local`, atau `managed`. Dideteksi otomatis jika dihilangkan |
| `-y, --yes` | Menerima perintah instalasi yang berubah dari plugin [command-source](/docs/id/plugins/host-marketplace), tanpa permintaan konfirmasi. Wajib ketika stdin atau stdout bukan TTY, kecuali Anda memberikan `--accept-command`. Memerlukan Claude Code v2.1.229 atau yang lebih baru |
| `--accept-command <sha256>` | Menerima perintah yang dideklarasikan marketplace yang `sha256`-nya dilaporkan oleh [eksekusi `--json`](#plugin-json-result) sebelumnya di `shownCommand`, sebagai pengganti `-y`. Tidak dapat digabungkan dengan `-y`. Memerlukan Claude Code v2.1.271 atau yang lebih baru |
| `--json` | Mencetak hasil sebagai satu objek JSON pada baris terakhir stdout, dalam [format yang sama dengan `plugin install --json`](#plugin-json-result). Memerlukan Claude Code v2.1.268 atau yang lebih baru |

Perbarui plugin:

```bash theme={null}
claude plugin update formatter@my-marketplace
```

Claude Code mencetak `Checking for updates for plugin "formatter@my-marketplace"…`, lalu hasilnya. Jika tidak ada yang lebih baru, Claude Code mencetak `formatter is already at the latest version (1.0.0).` dan keluar dengan `0`, kecuali jika Claude Code [mencoba ulang instalasi dependensi plugin](#retry-an-unfinished-dependency-install) dan instalasi tersebut gagal.

<h4 id="which-scope-the-command-updates">
  Cakupan mana yang diperbarui perintah
</h4>

Jika Anda menghilangkan `--scope`, perintah memperbarui plugin di cakupan paling spesifik tempat plugin tersebut terinstal untuk proyek Anda saat ini, dengan memeriksa local, project, user, lalu managed.

Sebelum v2.1.281, perintah menggunakan `user` ketika Anda menghilangkan `--scope`, sehingga memperbarui plugin yang hanya terinstal di cakupan project atau local gagal dengan `Plugin "<name>" is not installed at scope user`. Pada versi tersebut, berikan `--scope`.

`managed` adalah satu-satunya cakupan yang dapat Anda perbarui tetapi tidak dapat menjadi tujuan instalasi. Untuk plugin yang diinstal admin, lihat [Mengelola plugin untuk organisasi Anda](/docs/id/plugins/org).

<h4 id="update-by-bare-name">
  Memperbarui dengan nama polos
</h4>

Anda dapat memberikan nama plugin polos, yang dicocokkan perintah dengan plugin yang terinstal. Ketika plugin terinstal dari marketplace berbeda memiliki nama yang sama, perintah menolak pembaruan dan mencantumkan perintah `plugin-name@marketplace-name` yang memenuhi syarat untuk dijalankan sebagai gantinya. Memperbarui dengan nama polos memerlukan Claude Code v2.1.246 atau yang lebih baru.

<h4 id="retry-an-unfinished-dependency-install">
  Mencoba ulang instalasi dependensi yang belum selesai
</h4>

Ketika plugin sudah berada di versi terbarunya, perintah juga dapat mencoba ulang instalasi dependensi yang belum selesai di salinan cache-nya. Untuk kasus-kasus ketika retry tersebut dijalankan atau dilewati, lihat [Paket yang dicantumkannya tidak terinstal](/docs/id/plugins/troubleshooting#the-packages-it-lists-are-not-installed). Jika retry gagal, outputnya `Failed to update plugin "formatter@my-marketplace"` beserta alasannya dan exit code-nya `1`. Sebelum v2.1.287, perintah melaporkan plugin berada di versi terbarunya tanpa mencoba ulang instalasi.

<h3 id="plugin-list">
  plugin list
</h3>

Mencantumkan plugin yang terinstal beserta versi, cakupan, dan statusnya.

```bash theme={null}
claude plugin list [options]
```

| Flag | Deskripsi |
| :- | :- |
| `--json` | Mencetak daftar sebagai JSON |
| `--available` | Juga mencantumkan plugin yang ditawarkan marketplace Anda yang belum Anda instal. Tidak berpengaruh tanpa `--json` |
| `--data-size [plugin]` | Mengukur [direktori data tersimpan](#what-an-uninstall-deletes-and-keeps) setiap plugin yang terinstal, atau hanya milik plugin yang disebutkan, yang diberikan sebagai `name@marketplace`. Tidak berpengaruh tanpa `--json`. Jika nama tersebut tidak memiliki catatan instalasi, perintah mencetak `--data-size names a plugin that is not installed` dan keluar dengan `1` alih-alih mencetak daftar. Memerlukan Claude Code v2.1.285 atau yang lebih baru |

Claude Code mengelompokkan output yang dapat dibaca manusia berdasarkan cara setiap plugin dimuat:

* **`Installed plugins:`**: plugin yang Anda instal dari marketplace
* **`Session-only plugins (--plugin-dir / --plugin-url):`**: plugin yang dimuat oleh flag tersebut dalam perintah yang sama, seperti pada `claude --plugin-dir ./my-plugin plugin list`
* **`Skills-directory plugins (.claude/skills/*):`**: plugin yang ditemukan Claude Code di direktori skills
* **`Synced from claude.ai`**: [plugin yang disinkronkan dari akun claude.ai Anda](/docs/id/plugins/loading#synced-plugins)

Jika tidak ada apa pun di kelompok mana pun, Claude Code mencetak ``No plugins installed. Use `claude plugin install` to install a plugin.``

<h4 id="json-output">
  Output JSON
</h4>

Dengan `--json`, Claude Code mencetak array dengan satu objek per instalasi. Setiap objek membawa field di bawah ini. `id`, `version`, `scope`, `enabled`, dan `installPath` selalu ada, dan yang lainnya hanya muncul jika relevan.

| Field | Tipe | Deskripsi |
| :- | :- | :- |
| `id` | string | `name@marketplace` untuk instalasi, `name@inline` untuk plugin khusus sesi, `name@skills-dir` untuk plugin direktori skills, `name@synced` untuk plugin yang disinkronkan dari claude.ai |
| `version` | string | Untuk instalasi marketplace, [versi yang dihitung Claude Code](/docs/id/plugins/loading#versions-and-updates) saat instalasi. Untuk plugin khusus sesi, direktori skills, atau yang disinkronkan, `version` dari manifes, atau `unknown` jika manifes tidak mendeklarasikannya |
| `scope` | string | `user`, `project`, `local`, atau `managed` untuk instalasi; `user` atau `project` untuk plugin direktori skills; `session` untuk plugin khusus sesi; `synced` untuk plugin yang disinkronkan dari claude.ai |
| `enabled` | boolean | Apakah plugin diaktifkan dalam pengaturan gabungan Anda |
| `installPath` | string | Direktori tempat plugin dimuat, kecuali untuk plugin yang oleh sesi [dimuat di tempat](/docs/id/plugins/loading#in-place-and-copied-plugins) dari folder marketplace-nya |
| `readFromFolder` | string | Untuk plugin yang oleh sesi [dimuat di tempat](/docs/id/plugins/loading#in-place-and-copied-plugins) dari folder marketplace-nya, direktori sumber plugin di dalam folder tersebut. Memerlukan Claude Code v2.1.289 atau yang lebih baru |
| `folderVersion` | string | Bersama `readFromFolder`, `version` plugin sebagaimana dimuat Claude Code dari folder tersebut, yang dapat berbeda dari field `version` di atas. Tidak ada jika plugin tidak dimuat atau tidak mendeklarasikan versi. Memerlukan Claude Code v2.1.289 atau yang lebih baru |
| `installedAt` | string | Stempel waktu ISO instalasi. Hanya instalasi marketplace |
| `lastUpdated` | string | Stempel waktu ISO pembaruan terakhir. Hanya instalasi marketplace |
| `projectPath` | string | Proyek tempat instalasi berada. Hanya cakupan `project` dan `local` |
| `mcpServers` | object | Definisi server MCP plugin, jika plugin yang diinstal dari marketplace memilikinya |
| `errors` | array of strings | Kesalahan pemuatan, jika plugin gagal dimuat |
| `notes` | array of strings | Peringatan yang bukan kesalahan pemuatan, seperti masalah penulisan atau [paket yang tidak terinstal](/docs/id/plugins/loading#when-the-dependency-install-fails-or-is-skipped) |
| `errorDetails` | array of objects | Satu objek per entri `errors`, yang memberikan `type` diagnostiknya dan nama-nama yang dirujuknya, seperti plugin, marketplace, server, atau file. Memerlukan Claude Code v2.1.268 atau yang lebih baru |
| `noteDetails` | array of objects | Objek detail yang sama untuk setiap entri `notes`. Memerlukan Claude Code v2.1.268 atau yang lebih baru |
| `hasUserConfig` | boolean | Ada dan bernilai `true` ketika plugin dimuat dan manifesnya mendeklarasikan [opsi `userConfig`](/docs/id/plugins/manifest-reference#user-configuration). Tidak ada untuk plugin yang gagal dimuat, apa pun yang dideklarasikan manifesnya. Nilai tersimpan tidak pernah disertakan. Memerlukan Claude Code v2.1.285 atau yang lebih baru |
| `projectEnabled` | boolean | Apakah `.claude/settings.json` bersama milik proyek mengaktifkan plugin. Hanya instalasi marketplace. Memerlukan Claude Code v2.1.285 atau yang lebih baru |
| `dataDirSize` | object | Bersama `--data-size`, ukuran [direktori data tersimpan](#what-an-uninstall-deletes-and-keeps) plugin sebagai `bytes` dan `human`; tidak ada jika direktori tidak ada atau kosong. Hanya instalasi marketplace. Memerlukan Claude Code v2.1.285 atau yang lebih baru |
| `dataDirUnreadable` | boolean | Bersama `--data-size`, `true` ketika direktori data tersimpan ada tetapi tidak dapat diukur. Hanya instalasi marketplace. Memerlukan Claude Code v2.1.285 atau yang lebih baru |

Dengan `--json --available`, Claude Code mencetak satu objek alih-alih array. Field `installed`-nya berisi array objek plugin yang terinstal, dan field `available`-nya berisi satu objek per plugin marketplace yang belum terinstal dengan field di bawah ini.

| Field | Tipe | Deskripsi |
| :- | :- | :- |
| `pluginId` | string | `name@marketplace` |
| `name` | string | Nama plugin di marketplace |
| `marketplaceName` | string | Marketplace yang menawarkannya |
| `source` | string or object | [Sumber](/docs/id/plugins/marketplace-reference) entri marketplace: string untuk path relatif, objek untuk lainnya |
| `description` | string | Deskripsi entri, jika ada |
| `version` | string | Versi entri, jika dideklarasikan |
| `installCount` | number | Jumlah instalasi, jika Claude Code memilikinya untuk plugin tersebut |

<h3 id="plugin-details">
  plugin details
</h3>

Menampilkan inventaris komponen plugin dan proyeksi biaya token-nya.

Plugin harus dimuat: terinstal, ditemukan di direktori skills, atau diberikan dengan `--plugin-dir` atau `--plugin-url` dalam perintah yang sama. `<name>` adalah `name` plugin atau `name@marketplace`.

```bash theme={null}
claude plugin details <name>
```

Perintah ini tidak menerima flag selain `--help`.

Tampilkan apa yang disumbangkan oleh plugin yang terinstal:

```bash theme={null}
claude plugin details formatter
```

Claude Code mencetak nama, versi, deskripsi, dan sumber plugin, lalu bagian-bagian berikut:

* **`Component inventory`**: skill, agent, hook, server MCP, dan server LSP milik plugin
* **`Projected token cost`**: token yang selalu aktif yang ditambahkan plugin ke setiap sesi
* **`Per-component (rounded)`**: estimasi selalu aktif dan saat dipanggil untuk setiap skill, agent, dan perintah. Dihilangkan jika plugin tidak memilikinya

Untuk arti kedua angka biaya tersebut, lihat [Mengukur biaya dan penggunaan plugin](/docs/id/plugins/measure).

Untuk plugin yang tidak dimuat, Claude Code mencetak ``Plugin "formatter" not found. Run `claude plugin list` to see installed plugins, or pass --plugin-dir <path> to load one from disk.`` dan keluar dengan `1`.

<h3 id="plugin-configure">
  plugin configure
</h3>

Menampilkan opsi [`userConfig`](/docs/id/plugins/manifest-reference#user-configuration) dari plugin yang terinstal dan mana yang sudah ditetapkan, atau menyimpan nilai yang dialirkan melalui stdin. Memerlukan Claude Code v2.1.285 atau yang lebih baru.

```bash theme={null}
claude plugin configure <plugin>
```

| Flag | Deskripsi |
| :- | :- |
| `--values-stdin` | Membaca nilai opsi dari stdin sebagai objek JSON berisi string satu baris dan menyimpannya. Opsi yang tidak Anda sertakan mempertahankan nilai tersimpannya |
| `--json` | Mencetak hasil sebagai satu objek JSON di stdout. Tanpa `--values-stdin`, objek membawa `schema` dan `choices` opsi, `inputs` awalnya, serta nama opsi `configured` dan `unconfigured`. Dengan `--values-stdin`, objek membawa nama opsi `saved` dan, jika dapat dibaca kembali, nama opsi `unconfigured` |

Tanpa flag, perintah mencantumkan setiap opsi dengan hingga tiga label: `required` atau `optional`, lalu `sensitive` untuk opsi yang dideklarasikan sensitif oleh manifes, lalu `set` atau `not set`. Perintah ini tidak mencetak nilai tersimpan. Dengan `--json`, output menyertakan nilai tersimpan dari opsi yang tidak sensitif, dan tidak pernah menyertakan teks opsi yang sensitif.

Untuk menyimpan nilai, tulis nilai tersebut ke file sebagai objek JSON yang memetakan kunci opsi ke nilai string, lalu berikan file tersebut melalui stdin. Ganti `formatter@my-marketplace` dengan id plugin Anda sendiri sebagaimana ditampilkan oleh `claude plugin list`. Contoh ini menetapkan satu opsi bernama `api_url` dari file `values.json` yang berisi `{"api_url": "https://example.com"}`:

```bash theme={null}
claude plugin configure formatter@my-marketplace --values-stdin < values.json
```

Claude Code memvalidasi setiap nilai terhadap tipe yang dideklarasikan untuk opsi tersebut dan mencetak `Configuration saved. Restart Claude Code to apply it.` Jika Anda memberikan kunci yang tidak dideklarasikan manifes, atau nilai yang gagal validasi, perintah tidak menyimpan apa pun, mencetak `Failed to save configuration:` beserta alasannya, dan keluar dengan `1`. Dengan `--json`, nilai yang ditolak juga mencetak objek di stdout yang field `refused`-nya membawa `message` dan, jika satu opsi yang bermasalah, kunci `option`-nya.

Berikan id lengkap `name@marketplace` plugin, sebagaimana ditampilkan oleh `claude plugin list`. `configure` tidak menerima `name` polos. Jika tidak ada plugin yang dimuat dengan id tersebut, perintah mencetak `No installed plugin has the id "<plugin>".` dan keluar dengan `1`.

Untuk pengaturan server MCP yang dibundel, lihat [`plugin install --config`](#plugin-install) atau item **Configure** di `/plugin`.

<h3 id="plugin-prune">
  plugin prune
</h3>

Menghapus [dependensi](/docs/id/plugins/dependencies) yang diinstal otomatis yang tidak lagi dibutuhkan oleh plugin terinstal mana pun. Perintah ini tidak pernah menghapus plugin yang Anda instal sendiri. `autoremove` adalah alias untuk `prune`.

```bash theme={null}
claude plugin prune [options]
```

| Flag | Deskripsi |
| :- | :- |
| `-s, --scope <scope>` | Melakukan prune di cakupan: `user`, `project`, atau `local`. Default-nya `user` |
| `--dry-run` | Mencantumkan apa yang akan dihapus tanpa menghapusnya |
| `-y, --yes` | Melewati permintaan konfirmasi. Wajib ketika stdin atau stdout bukan TTY |

Pratinjau apa yang akan dihapus oleh prune:

```bash theme={null}
claude plugin prune --dry-run
```

Claude Code mencantumkan dependensi yatim dan diakhiri dengan `(dry run — nothing removed)`. Jika tidak ada yang perlu dihapus, Claude Code mencetak baris yang diawali `Nothing to prune`.

Tanpa `--dry-run`, perintah menghapus dependensi yatim hanya setelah Anda mengonfirmasi di permintaan konfirmasi atau memberikan `-y`.

Exit code-nya `0` apa pun jawaban Anda di permintaan konfirmasi.

Apa yang dilakukan `prune` bergantung pada apakah terminal terpasang dan apakah Anda memberikan `-y`:

| Terminal dan flag | Yang terjadi |
| :- | :- |
| Terminal interaktif, tanpa `-y` | Mencantumkan dependensi yatim dan bertanya `Remove? [y/N]` |
| Terminal apa pun, `-y` | Menghapusnya dan mencetak `Removed N auto-installed plugins: <names>` |
| stdin atau stdout non-TTY, tanpa `-y` | Mencetak daftar dan ``Not a TTY — run `claude plugin prune -y` to remove.``, tanpa menghapus apa pun |

<h3 id="plugin-eval">
  plugin eval
</h3>

Menjalankan [kasus eval](/docs/id/plugin-evals) plugin dan melaporkan hasil yang dinilai. Memerlukan Claude Code v2.1.269 atau yang lebih baru.

Setiap kasus adalah prompt ditambah grader. Claude Code menjalankannya beberapa kali dalam sesi terisolasi dengan hanya plugin target yang dimuat, dan secara default juga tanpa plugin sehingga laporan menunjukkan perbedaannya.

Lihat [Menguji plugin dengan eval](/docs/id/plugin-evals) untuk format kasus, grader, hasil, dan penggunaan CI.

```bash theme={null}
claude plugin eval [target] [options]
```

`target` opsional default-nya adalah direktori saat ini dan menerima salah satu bentuk berikut:

* Direktori plugin
* Satu file `prompt.md` atau `case.yaml`
* Plugin yang terinstal sebagai `name` atau `name@marketplace`
* `name@skills-dir`

Letakkan target sebelum `--tag`, `--allow-tools`, dan `--json`. Masing-masing opsi ini mengambil kata-kata yang mengikutinya sebagai nilainya, sehingga target yang ditulis setelah salah satunya akan dibaca sebagai tag, nama tool, atau path output JSON, bukan sebagai target.

Tabel ini mencantumkan opsi yang digunakan sebagian besar eksekusi. Jalankan `claude plugin eval --help` untuk set lengkapnya, termasuk `--case`, `--tag`, `--output-dir`, `--report`, `--allow-real-servers`, `--keep-temp`, dan `--verbose`.

| Opsi | Deskripsi | Default |
| :- | :- | :- |
| `--runs <n>` | Jumlah eksekusi per kasus di setiap [arm](/docs/id/plugin-evals#compare-against-a-no-plugin-baseline) | `runs` dari setiap kasus, selain itu 3 |
| `-j, --concurrency <n>` | Sesi agent yang dijalankan sekaligus, 1 sampai 8. Sesi-sesi ini berbagi rate limit Anda | `1` |
| `--model <model>` | Model untuk agent yang diuji | `model` dari setiap kasus, selain itu `ANTHROPIC_MODEL` jika ditetapkan, selain itu default Claude Code |
| `--judge-model <model>` | Model untuk grader `llm` dan `baseline` | Model untuk [tugas latar belakang](/docs/id/plugin-evals#grade-the-result) |
| `--ablation <mode>` | `none` atau `with-without`. Lihat [Menilai terhadap baseline tanpa plugin](/docs/id/plugin-evals#compare-against-a-no-plugin-baseline) | Diputuskan per kasus, sebagaimana dijelaskan di bagian tersebut |
| `--threshold <0..1>` | Keluar dengan 1 jika ada kasus yang skornya di bawah nilai ini | `1.0` |
| `--max-cost-usd <usd>` | Berhenti sebelum eksekusi berikutnya setelah pengeluaran mencapai nilai ini, keluar dengan 2, dan melaporkan hasil parsial | Tanpa batas |
| `--allow-tools <tools...>` | Memberikan tool di luar set read-only, seperti `Bash`, `Write`, `Edit`, atau `"mcp__plugin_<plugin>_<server>__*"`. Lihat [Memberikan tool](/docs/id/plugin-evals#grant-tools) | |
| `--scaffold` | Menjalankan [`scaffold_script`](/docs/id/plugin-evals#add-setup-or-history-with-case-yaml) setiap kasus | Nonaktif |
| `--trust-plugin` | Melewati permintaan kepercayaan pada eksekusi pertama, untuk CI. Lihat [Apa yang dapat diakses oleh eksekusi](/docs/id/plugin-evals#security) | Nonaktif |
| `--mocks <mode>` | `record` atau `off`. Lihat [Mock server MCP](/docs/id/plugin-evals#mock-mcp-servers) | `record` |
| `--eval-dir <dir>` | Direktori di bawah plugin yang berisi kasus | `experimental.evals` dari manifes, selain itu `evals` |
| `--json [path]` | Mencetak [dokumen hasil](/docs/id/plugin-evals#json-result) ke stdout, atau menulisnya ke path `.json` | |
| `--no-publish` | Menyimpan laporan HTML secara lokal | |

Exit code melaporkan bagaimana eksekusi berakhir. Untuk menindaklanjutinya dalam pipeline, lihat [Menjalankan eval di CI](/docs/id/plugin-evals#run-evals-in-ci).

| Exit code | Arti |
| :- | :- |
| `0` | Suite lulus: setiap kasus memenuhi ambang batas dan tidak ada hal lain yang menggagalkan eksekusi |
| `1` | Kasus yang gagal, kesalahan pemuatan, direktori plugin yang tidak tepercaya, eksekusi yang [berakhir karena kesalahan API](/docs/id/plugin-evals#runs-ended-on-an-api-error), atau penyebab lain yang tercantum di [Menjalankan eval di CI](/docs/id/plugin-evals#run-evals-in-ci) |
| `2` | Eksekusi parsial |
| `130` | Diinterupsi |
| `143` | Dihentikan |

<h3 id="plugin-eval-init">
  plugin eval init
</h3>

Membuat suite eval untuk plugin di direktori saat ini. Memerlukan Claude Code v2.1.269 atau yang lebih baru. Lihat [Membuat suite eval pertama Anda](/docs/id/plugin-evals#create-your-first-eval-suite).

```bash theme={null}
claude plugin eval init [name] [options]
```

Jalankan perintah dari folder root plugin, yaitu direktori yang berisi `.claude-plugin/plugin.json` atau `SKILL.md` milik skill. Untuk sengaja membuat kerangka suite di direktori lain, berikan `--eval-dir`.

Di terminal, perintah membuka sesi Claude Code interaktif untuk wawancara penulisan. Dalam wawancara, Claude melakukan hal berikut:

1. Membaca plugin
2. Menanyakan kepada Anda apa yang harus dilakukan plugin dengan baik
3. Mengusulkan kasus dan grader
4. Menulis file kasus
5. Menjalankan kasus dan meninjau nilai bersama Anda untuk memeriksa bahwa grader menilai seperti yang akan Anda lakukan

Dengan `--bare`, atau tanpa terminal, perintah menulis templat kosong satu kasus sebagai gantinya. Ketika Claude menjalankan perintah dari dalam sesi Claude Code, perintah mencetak instruksi wawancara untuk diikuti oleh sesi tersebut alih-alih menulis templat.

`name` opsional adalah nama kasus. Nama ini wajib dengan `--bare` atau tanpa terminal, karena perintah menulis templat kosong untuk kasus tersebut. Nama kasus diawali dengan huruf atau angka dan hanya berisi huruf, angka, `.`, `_`, dan `-`. Di setiap platform, perintah juga menolak nama yang tidak dapat disimpan Windows, seperti `con` atau nama yang diakhiri dengan `.`.

Perintah menerima opsi-opsi berikut:

| Opsi | Deskripsi | Default |
| :- | :- | :- |
| `--bare` | Menulis `prompt.md` dan `graders/criteria.md` kosong untuk `<name>` alih-alih menjalankan wawancara | |
| `-i, --interactive` | Mewajibkan wawancara. Gagal tanpa terminal alih-alih menulis templat | |
| `--eval-dir <dir>` | Direktori di bawah direktori saat ini tempat kasus ditulis | `experimental.evals` dari manifes, selain itu `evals` |

<h3 id="plugin-tag">
  plugin tag
</h3>

Membuat tag git beranotasi bernama `<name>--v<version>` untuk rilis plugin. Sebelum memberi tag, perintah memeriksa bahwa `plugin.json` plugin dan setiap entri marketplace yang mencantumkannya sepakat mengenai versinya.

Untuk kapan memberi tag pada rilis, lihat [Menerbitkan plugin](/docs/id/plugins/publish).

```bash theme={null}
claude plugin tag [path] [options]
```

`[path]` adalah direktori plugin, dengan default direktori saat ini. Perintah menemukan entri marketplace dengan menelusuri ke atas dari direktori tersebut hingga `.claude-plugin/marketplace.json` yang mencantumkan plugin tersebut.

| Flag | Deskripsi |
| :- | :- |
| `--push` | Mendorong tag ke `--remote` setelah membuatnya |
| `--dry-run` | Mencetak apa yang akan diberi tag tanpa membuat tag |
| `-f, --force` | Melewati pemeriksaan working tree kotor dan tag sudah ada |
| `-m, --message <msg>` | Pesan anotasi tag. `%s` mewakili versi. Default-nya `<name> <version>` |
| `--remote <name>` | Remote tujuan push dengan `--push`. Default-nya `origin` |

Pratinjau tag untuk plugin dalam checkout marketplace:

```bash theme={null}
claude plugin tag plugins/formatter --dry-run
```

Claude Code mencetak rencananya:

* Nama plugin
* Versi dan file asalnya
* Entri marketplace yang cocok, jika ada
* Nama tag
* Perintah `git tag` dan `git push` yang akan dijalankannya

Tanpa `--dry-run`, Claude Code mencetak `Created tag formatter--v1.0.0` dan `Pushed to origin` atau perintah push untuk Anda jalankan sendiri. Jika push gagal, tag tetap dibuat secara lokal dan perintah keluar dengan kesalahan.

Perintah keluar dengan `1` dan mencetak alasannya jika tidak dapat memberi tag dengan aman. Alasan yang umum adalah:

* Tidak ada `version` di `plugin.json` atau entri marketplace
* Tag sudah ada
* Working tree kotor

<h3 id="plugin-test">
  plugin test
</h3>

Menjalankan pengujian untuk [mod](/docs/id/plugins/mods/overview), yaitu plugin yang kodenya mendaftarkan event handler. Perintah ini tidak memerlukan sesi, login, atau jaringan. Untuk cara menulis pengujian, lihat [Menguji mod](/docs/id/plugins/mods/test).

```bash theme={null}
claude plugin test [directory]
```

`[directory]` adalah direktori mod, dengan default direktori saat ini. Perintah menjalankan setiap file di bawahnya yang namanya diakhiri dengan `.test.ts` atau `.test.tsx`, dan keluar dengan status 1 jika ada pengujian yang gagal.

Jalankan pengujian untuk mod di `./first-mod`:

```bash theme={null}
claude plugin test ./first-mod
```

<h3 id="plugin-validate">
  plugin validate
</h3>

Memvalidasi manifes plugin, manifes marketplace, atau skill, agent, dan perintah di dalam direktori, lalu keluar dengan kode yang dapat ditindaklanjuti oleh job CI. Untuk alur kerja membuat, menguji, dan mengedit, lihat [Membuat plugin](/docs/id/plugins/create). Untuk apa yang diperiksa validator di setiap manifes, lihat [referensi manifes plugin](/docs/id/plugins/manifest-reference) dan [referensi marketplace](/docs/id/plugins/marketplace-reference).

```bash theme={null}
claude plugin validate <path> [options]
```

| Flag | Deskripsi |
| :- | :- |
| `--strict` | Memperlakukan peringatan sebagai kesalahan, sehingga field yang tidak dikenali dan metadata yang hilang yang ditoleransi runtime menggagalkan eksekusi |
| `--json` | Menghasilkan laporan validasi sebagai satu objek JSON dengan exit code yang sama. Memerlukan Claude Code v2.1.259 atau yang lebih baru |

Validasi plugin sebelum melakukan commit:

```bash theme={null}
claude plugin validate ./my-plugin --strict
```

<h4 id="validate-a-directory">
  Memvalidasi direktori
</h4>

`<path>` adalah file manifes atau direktori. Jika diberi direktori, Claude Code memilih apa yang divalidasi berdasarkan apa yang ditemukannya di sana:

* `.claude-plugin/marketplace.json`, jika ada
* Jika tidak, `.claude-plugin/plugin.json`
* Jika tidak, file komponen, yang dipilih berdasarkan nama direktori. Memvalidasi file komponen tanpa manifes memerlukan Claude Code v2.1.233 atau yang lebih baru:
  * Direktori bernama `skills`, `agents`, atau `commands`: file-file di dalamnya
  * Direktori bernama `.claude`: direktori `skills`, `agents`, dan `commands` di dalamnya
  * Direktori lainnya: ketiga direktori tersebut di bawah `.claude`-nya

Ketika direktori berisi `.claude-plugin/marketplace.json` sekaligus `.claude-plugin/plugin.json`, Claude Code memvalidasi marketplace dan juga manifes serta file komponen plugin. Ini memerlukan Claude Code v2.1.289 atau yang lebih baru.

Claude Code tidak mengikuti symlink di dalam direktori yang Anda sebutkan. Apa yang dilakukannya bergantung pada letak tautan tersebut:

* **Direktori `skills`, `agents`, atau `commands` yang ditautkan di bawah root plugin atau `.claude`**: Claude Code memperingatkan bahwa tidak ada isinya yang dibaca.
* **Entri yang ditautkan di dalam direktori `skills`, `agents`, atau `commands`**: Claude Code melewatinya dan memperingatkan, per direktori, berapa banyak entri yang dilewati yang akan dimuat oleh sesi.
* **Direktori `skills`, `agents`, atau `commands` yang Anda sebutkan itu sendiri adalah symlink, atau direktori induk `.claude`-nya adalah symlink**: Claude Code melaporkan kesalahan dan tidak memeriksa apa pun di dalamnya. Sebutkan direktori yang sebenarnya sebagai gantinya.

Beberapa file tidak dibaca oleh eksekusi validasi:

* **`SKILL.md` di root plugin**: ketika Anda menjalankan `claude plugin validate` terhadap direktori plugin, Claude Code tidak memeriksa `SKILL.md` di root plugin
* **`CLAUDE.md` di root plugin**: dalam eksekusi plugin, Claude Code juga memperingatkan tentang `CLAUDE.md` di root plugin
* **File plugin dalam eksekusi marketplace**: dari direktori marketplace, Claude Code tidak membuka file skill, agent, perintah, atau hook dari plugin yang dicantumkan marketplace di direktori lain, maupun file server MCP yang dibundelnya. Untuk menemukan kesalahan di file-file tersebut, validasi setiap direktori plugin

<h4 id="output-and-exit-codes">
  Output dan exit code
</h4>

Claude Code mencetak file yang divalidasinya, setiap kesalahan dan peringatan beserta path-nya, dan baris putusan. Exit code mengikuti putusan tersebut:

| Exit code | Baris putusan | Arti |
| :- | :- | :- |
| `0` | `Validation passed` atau `Validation passed with warnings` | Manifes dapat dimuat. Dengan `--strict`, juga tanpa peringatan |
| `1` | `Validation failed` atau `Validation failed (--strict treats warnings as errors)` | Kesalahan, atau peringatan di bawah `--strict` |
| `2` | `Unexpected error during validation: <reason>` | Validator itu sendiri gagal, seperti pada path yang tidak dapat dibaca |

Dengan `--json`, Claude Code menulis laporan ke stdout sebagai satu objek JSON dengan field tingkat atas berikut:

* `success`: putusan yang sama dengan yang diberikan exit code
* `strict`: apakah eksekusi memperlakukan peringatan sebagai kesalahan
* `target`: path yang telah di-resolve yang divalidasi Claude Code
* `manifest`: hasil manifes itu sendiri, atau `null` untuk eksekusi tanpa manifes
* `contents`: hasil per file, masing-masing menyebutkan `file`-nya dan membawa array `errors`, `warnings`, dan `notes`
  * `gatingHooks`: apakah setiap hook [mod](/docs/id/plugins/mods/overview) yang dapat menolak suatu tindakan, seperti hook `tool.call`, memiliki [handler `.catch`](/docs/id/plugins/mods/events#handle-a-hook-that-fails). Setiap item memberikan `module`, `pattern`, `hook`, dan `hasCatch`. Memerlukan Claude Code v2.1.290 atau yang lebih baru

Pada exit `2`, perintah tidak menulis apa pun ke stdout. Pesan kesalahan dikirim ke stderr.

<h2 id="claude-plugin-marketplace-commands">
  Perintah claude plugin marketplace
</h2>

Jalankan `claude plugin marketplace <subcommand>` dari shell Anda untuk menambah, mencantumkan, menyegarkan, dan menghapus marketplace yang Anda instal plugin.

* **Kode keluar**: subperintah ini mengikuti [konvensi kode keluar](#claude-plugin-commands) perintah plugin
* **Cakupan**: flag `--scope` mereka tidak memiliki bentuk pendek `-s`

Untuk apa marketplace dan bagaimana Claude Code menyimpannya, lihat [Referensi pemuatan plugin](/docs/id/plugins/loading).

<h3 id="plugin-marketplace-add">
  plugin marketplace add
</h3>

Tambahkan marketplace dari repositori GitHub, URL git, `marketplace.json` yang dihosting, atau jalur lokal, dan deklarasikan dalam file pengaturan.

Setelah menambahkannya, Claude Code menginstal [dependensi](/docs/id/plugins/dependencies) apa pun yang hilang dari plugin yang diinstal.

```bash theme={null}
claude plugin marketplace add <source> [options]
```

| Flag | Deskripsi |
| :- | :- |
| `--scope <scope>` | File pengaturan untuk mendeklarasikan marketplace: `user`, `project`, atau `local`. Default ke `user` |
| `--sparse <paths...>` | Batasi checkout git ke direktori ini, untuk monorepo. Hanya sumber `github` dan `git` |
| `--claudeai` | Baca argumen sebagai nama [marketplace yang dihosting di claude.ai](/docs/id/plugins/install#add-from-claude-ai) alih-alih sumber. Memerlukan Claude Code v2.1.273 atau lebih baru |
| `--json` | Cetak apakah perintah berhasil, beserta pesannya, sebagai satu objek JSON pada baris terakhir stdout, dalam [format hasil JSON](#plugin-json-result). Tidak berpengaruh bila digunakan dengan `--claudeai`. Memerlukan Claude Code v2.1.287 atau lebih baru |

`<source>` mengambil salah satu bentuk dalam tabel di bawah, dan bentuknya memutuskan tipe sumber dan cara Claude Code mengambil marketplace. Untuk objek sumber yang dihasilkan, lihat [referensi marketplace](/docs/id/plugins/marketplace-reference).

| Anda ketik | Tipe sumber | Cara Claude Code mengambilnya |
| :- | :- | :- |
| `owner/repo`, `owner/repo#ref`, atau `owner/repo@ref` | `github` | Mengkloning repositori GitHub, disematkan ke `ref` ketika diberikan. Pemilik dan repo harus mengikuti aturan penamaan GitHub |
| `user@host:path[.git][#ref]` | `git` | Mengkloning melalui SSH |
| URL `http://` atau `https://` yang berakhir dengan `.git[#ref]` atau berisi `/_git/`, seperti `https://example.com/repo.git` | `git` | Mengkloning URL, termasuk URL Azure DevOps |
| `https://github.com/owner/repo` atau `https://gitlab.com/namespace/project`, atau yang sama melalui `http://` | `git` | Mengkloning URL setelah menambahkan `.git` |
| URL `http://` atau `https://` lain, termasuk host git yang dihosting sendiri tanpa `.git` | `url` | Mengambil URL sebagai `marketplace.json`. Untuk mengkloning repositori di sana, tambahkan `.git` |
| `./path`, `../path`, `/path`, atau `~/path` ke direktori | `directory` | Membaca direktori di tempat. Di Windows, bentuk `.\`, `..\`, dan `C:\` juga berfungsi |
| Bentuk jalur yang sama, ke file `.json` | `file` | Membaca file di tempat |

Untuk host yang URL klonnya tidak membawa akhiran `.git`, seperti AWS CodeCommit, tambahkan marketplace sebagai entri git dalam [`extraKnownMarketplaces`](/docs/id/settings-reference#extraknownmarketplaces). Claude Code mengkloning entri git apakah atau tidak URL-nya berakhir dengan `.git`.

Claude Code juga mengkloning URL `gitlab.com` dengan subgrup bersarang, seperti `https://gitlab.com/group/subgroup/project`.

Tambahkan marketplace dan bagikan dengan proyek:

```bash theme={null}
claude plugin marketplace add your-org/your-marketplace --scope project
```

Claude Code mencetak `Successfully added marketplace: your-marketplace (declared in project settings)`, menggunakan `name` dari manifest marketplace sendiri. Penambahan berulang atau sumber yang tidak valid mencetak salah satu hasil ini:

* **Marketplace sudah di disk**: output adalah `Marketplace 'your-marketplace' already on disk — declared in project settings` dan kode keluar adalah `0`
* **Sumber yang tidak dikenali**: output adalah `Invalid marketplace source format. Try: owner/repo, https://..., or ./path` dan kode keluar adalah `1`
* **Host telanjang seperti `gitlab.example.com/team/plugins`**: penambahan gagal sebagai shorthand `owner/repo` yang tidak valid, dan pesan memberi tahu Anda untuk menambahkan `https://` atau menggunakan jalur lokal

Tambahkan [marketplace yang dihosting di claude.ai](/docs/id/plugins/install#add-from-claude-ai) dengan nama yang dicetak dalam bagian `From claude.ai:` dari `claude plugin marketplace list`:

```bash theme={null}
claude plugin marketplace add --claudeai claudeai-organization-library
```

Dengan `--claudeai`, perintah menolak `--scope` dan `--sparse`. Marketplace dihosting untuk akun Anda, bukan dideklarasikan dalam file pengaturan, jadi Anda tidak dapat membagikannya melalui `.claude/settings.json` proyek.

<h3 id="plugin-marketplace-list">
  plugin marketplace list
</h3>

Daftar setiap marketplace yang telah Anda tambahkan, dengan sumbernya.

```bash theme={null}
claude plugin marketplace list [options]
```

| Flag | Deskripsi |
| :- | :- |
| `--json` | Cetak daftar sebagai JSON |

Claude Code mencetak `Configured marketplaces:` dan satu baris `Source:` per marketplace, atau `No marketplaces configured`.

Dengan `--json`, Claude Code mencetak array dengan satu objek per marketplace, membawa field di bawah. Setiap field adalah string.

| Field | Deskripsi |
| :- | :- |
| `name` | Nama marketplace |
| `source` | `github`, `git`, `url`, `directory`, `file`, atau `claudeai` |
| `repo` | `owner/repo`. Hanya sumber `github` |
| `url` | URL kloning atau pengambilan. Hanya sumber `git` dan `url` |
| `path` | Jalur lokal. Hanya sumber `directory` dan `file` |
| `ref` | Branch atau tag yang disematkan. Sumber `github` dan `git`, hanya ketika disematkan |
| `installLocation` | Di mana Claude Code menyimpan marketplace |

Marketplace [claude.ai](/docs/id/plugins/install#add-from-claude-ai) yang ditambahkan tidak memiliki kloning lokal, jadi entrinya membawa pengidentifikasi claude.ai-nya, `marketplaceId` dan `organizationUuid`, sebagai pengganti `installLocation`. Juga membawa `scope` ketika satu dicatat, dan `status`.

Jika sesi terminal Anda [menyinkronkan plugin dari akun claude.ai Anda](/docs/id/plugins/loading#synced-plugins), daftar teks berakhir dengan bagian `From claude.ai:`. Bagian itu menamai marketplace yang claude.ai daftar untuk akun Anda yang belum Anda tambahkan, baik berbasis git maupun dihosting. Memerlukan Claude Code v2.1.273 atau lebih baru.

Untuk menambahkan marketplace dari bagian itu, lihat [Tambahkan marketplace dari claude.ai](/docs/id/plugins/install#add-from-claude-ai).

Output `--json` mencakup marketplace yang dikonfigurasi saja dan meninggalkan bagian.

<h3 id="plugin-marketplace-remove">
  plugin marketplace remove
</h3>

Hapus deklarasi marketplace dari pengaturan Anda. `rm` adalah alias untuk `remove`.

<Warning>
  Ketika Anda menghapus marketplace dari cakupan terakhir yang mendeklarasikannya, Claude Code juga menghapus cache dan mencopot setiap plugin yang Anda instal darinya. Juga menghapus [opsi dan rahasia](/docs/id/plugins/manifest-reference#user-configuration) yang disimpan dan [data](/docs/id/plugins/components#path-variables-and-persistent-data) di mana pun dapat.

  Untuk menyegarkan marketplace tanpa kehilangan plugin, jalankan `plugin marketplace update` sebagai gantinya.
</Warning>

```bash theme={null}
claude plugin marketplace remove <name> [options]
```

`<name>` adalah nama marketplace yang ditunjukkan `plugin marketplace list`, bukan sumber yang Anda lewatkan ke `add`.

| Flag | Deskripsi |
| :- | :- |
| `--scope <scope>` | Hapus deklarasi dari satu cakupan pengaturan: `user`, `project`, atau `local`. Tanpanya, Claude Code menghapus deklarasi dari setiap cakupan |
| `--json` | Cetak apakah perintah berhasil, beserta pesannya, sebagai satu objek JSON pada baris terakhir stdout, dalam [format hasil JSON](#plugin-json-result). Memerlukan Claude Code v2.1.287 atau lebih baru |

Hapus marketplace dari setiap cakupan:

```bash theme={null}
claude plugin marketplace remove your-marketplace
```

Claude Code mencetak `Successfully removed marketplace: your-marketplace`. Ketika perintah mencopot plugin, output mencantumkan mereka di bawah baris seperti `Also uninstalled 2 plugins from this marketplace:`. Untuk menggunakan salah satu dari mereka lagi, tambahkan marketplace kembali dan instal ulang plugin.

Jika Anda membatasi ke file pengaturan yang tidak mendeklarasikan marketplace, perintah gagal dengan `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`

<h3 id="plugin-marketplace-update">
  plugin marketplace update
</h3>

Segarkan satu marketplace, atau setiap marketplace, dari sumbernya untuk mengambil plugin dan versi baru. Marketplace yang ditambahkan dengan branch atau tag `ref` diperbarui ke commit terbaru dari ref itu, bukan branch default repositori.

```bash theme={null}
claude plugin marketplace update [name] [options]
```

| Flag | Deskripsi |
| :- | :- |
| `--json` | Cetak apakah perintah berhasil, beserta pesannya, sebagai satu objek JSON pada baris terakhir stdout, dalam [format hasil JSON](#plugin-json-result). Tanpa nama, perintah menolak `--json` dan keluar dengan `1`. Memerlukan Claude Code v2.1.287 atau lebih baru |

Segarkan satu marketplace:

```bash theme={null}
claude plugin marketplace update your-marketplace
```

Claude Code mencetak `Successfully updated marketplace: your-marketplace`. Ketika Anda menghilangkan nama, mencetak hitungan seperti `Successfully updated 2 marketplaces`.

<h2 id="plugin-in-a-session">
  /plugin dalam sesi
</h2>

Di dalam sesi interaktif, `/plugin` membuka panel plugin. Setiap subperintah membuka panel di tab, menjalankan tindakan di sana, atau mencetak hasil inline. `/plugins` dan `/marketplace` adalah alias untuk `/plugin`.

Anda hanya dapat menjalankan perintah ini dalam sesi terminal interaktif. Dalam run non-interaktif seperti `claude -p`, Claude Code menjawab bahwa `/plugin` tidak tersedia di lingkungan ini.

Untuk permukaan mana yang memiliki `/plugin`, cara menginstal tanpanya, dan apa yang ditunjukkan setiap tab panel, lihat [Instal dan kelola plugin](/docs/id/plugins/install).

`<plugin>` adalah plugin `name` atau `name@marketplace`.

Tabel di bawah mencantumkan setiap bentuk sesi. Subperintah shell `init`, `update`, `details`, `prune`, `eval`, `eval init`, dan `test` tidak memiliki bentuk sesi.

| Perintah | Alias | Apa yang dilakukan |
| :- | :- | :- |
| `/plugin` | | Membuka panel di tab **Discover**. Kata pertama yang tidak dikenali setelah `/plugin` melakukan hal yang sama |
| `/plugin help` | `/plugin --help`, `/plugin -h` | Menampilkan daftar penggunaan subperintah `/plugin` |
| `/plugin list [--enabled\|--disabled]` | `ls` | Mencetak plugin yang diinstal marketplace Anda inline, dengan versi, cakupan, dan status. Flag filter menampilkan hanya status itu. Plugin yang status aktifnya belum diterapkan ditandai `— run /reload-plugins to apply` |
| `/plugin install` | `i` | Membuka tab **Discover** |
| `/plugin install <plugin>` | `i` | Membuka detail plugin di tab **Discover**. Dengan `name@marketplace`, membukanya dalam daftar marketplace itu |
| `/plugin install <source>` | `i` | Melaporkan kesalahan [marketplace not found](/docs/id/plugins/troubleshooting#marketplace-not-found) dan tidak menginstal apa pun ketika target adalah path, URL, atau `owner/repo`, bahkan sumber yang sudah Anda tambahkan. Untuk menginstal dari sumber, lihat [Tambahkan marketplace dan instal dalam satu perintah](/docs/id/plugins/install#add-a-marketplace-and-install-in-one-command) |
| `/plugin install <plugin> --marketplace <source>` | `i` | Menambahkan marketplace di `<source>` ketika Anda belum menambahkannya, meminta Anda mengonfirmasi terlebih dahulu, kemudian membuka detail plugin. Lihat [Tambahkan marketplace dan instal dalam satu perintah](/docs/id/plugins/install#add-a-marketplace-and-install-in-one-command). Memerlukan Claude Code v2.1.275 atau lebih baru |
| `/plugin manage` | | Membuka tab **Installed** |
| `/plugin stats` | | Membuka tab **Stats**, dalam sesi di mana [`/skill-doctor`](/docs/id/skills#find-unused-skills) tersedia. Di tempat lain membuka panel di tab **Discover** |
| `/plugin enable <plugin>` | | Membuka tab **Installed** di plugin dan mengaktifkannya |
| `/plugin disable <plugin>` | | Membuka tab **Installed** di plugin dan menonaktifkannya |
| `/plugin uninstall <plugin>` | | Membuka tab **Installed** di plugin dan mencopot |
| `/plugin configure <plugin>` | `config` | Membuka dialog [`userConfig`](/docs/id/plugins/manifest-reference) plugin, atau melaporkan bahwa plugin tidak mendeklarasikan |
| `/plugin validate <path>` | | Mencetak laporan yang sama seperti `claude plugin validate`, inline |
| `/plugin tag [path] [--push] [--dry-run] [--force]` | | Membuat tag rilis sebagai `claude plugin tag` lakukan. Menerima `--push`, `--dry-run`, dan `--force` atau `-f`; dengan flag lain atau argumen ekstra, Claude Code mencetak penggunaan |
| `/plugin marketplace` | `market` | Tidak melakukan apa pun yang terlihat. Lewatkan `add`, `list`, `update`, atau `remove` |
| `/plugin marketplace add [source]` | `market add` | Dengan sumber, menambahkannya dan melaporkan hasil. Tanpanya, membuka input **Add marketplace** |
| `/plugin marketplace list` | `market list` | Mencetak nama marketplace Anda inline |
| `/plugin marketplace update [name]` | `market update` | Membuka tab **Marketplaces**. Dengan nama, menyegarkan marketplace itu di sana |
| `/plugin marketplace remove [name]` | `market remove`, `market rm`, `marketplace rm` | Membuka tab **Marketplaces**. Dengan nama, menghapus marketplace itu di sana |

Jika Anda menamai plugin yang tidak diinstal dalam proyek saat ini dalam `/plugin enable`, `disable`, `uninstall`, atau `configure`, Claude Code mencetak `Plugin "<plugin>" is not installed in this project` alih-alih bertindak.

<h2 id="reload-plugins">
  /reload-plugins
</h2>

Terapkan perubahan plugin yang tertunda ke sesi yang sedang berjalan tanpa memulai ulang. Perubahan yang tertunda adalah plugin yang Anda instal, perbarui, aktifkan, nonaktifkan, atau edit di disk sejak sesi dimulai.

Ketika Anda menutup panel `/plugin` dengan perubahan yang tertunda yang Anda buat di dalamnya, Claude Code menjalankan `/reload-plugins` untuk Anda. Jalankan sendiri setelah perubahan plugin yang terjadi di luar panel, seperti perintah `claude plugin` yang Anda jalankan di terminal lain.

```text theme={null}
/reload-plugins [--force]
```

| Flag | Deskripsi |
| :- | :- |
| `--force` | Terapkan reload bahkan ketika akan membatalkan cache prompt. `force` tanpa dash juga berfungsi |

<h3 id="reload-summary">
  Ringkasan reload
</h3>

Claude Code memuat ulang setiap plugin aktif dan mencetak satu baris ringkasan, `Reloaded: N plugins · N skills · N agents · N hooks · N plugin MCP servers · N plugin LSP servers`, menghilangkan hitungan server MCP plugin dalam sesi tanpa terminal interaktif. Ketika plugin apa pun gagal, ringkasan menambahkan `N errors during load. Run /plugin for details.`

Hitungan skills mencakup setiap skill yang disediakan plugin, baik entri `commands/` maupun skill `SKILL.md`. Hitungan agents adalah jumlah agen yang dimuat dalam sesi, termasuk yang tidak berasal dari plugin.

Ketika [dependensi](/docs/id/plugins/dependencies) plugin yang dimuat ulang hilang, Claude Code menginstalnya, memuat ulang lagi, dan menambahkan `(+ N dependencies: <names>) resolved` ke ringkasan.

<h3 id="reloads-that-change-mcp-tools">
  Reload yang mengubah alat MCP
</h3>

Ketika reload akan menambah atau menghapus server MCP plugin atau alat `LSP`, dan perubahan itu akan membatalkan [cache prompt](/docs/id/prompt-caching#enabling-or-disabling-a-plugin), Claude Code tidak menerapkan reload. Mencetak baris seperti `This reload changes MCP tools (<server>) — your next message will re-read the whole conversation instead of using the cache. Run /reload-plugins --force to apply.` Lewatkan `--force` untuk menerapkannya.

<h3 id="sessions-without-an-interactive-terminal">
  Sesi tanpa terminal interaktif
</h3>

`/reload-plugins` juga berjalan dalam sesi tanpa terminal interaktif, seperti aplikasi desktop, Agent SDK, dan [mode non-interaktif](/docs/id/headless) dengan `-p`. Memerlukan Claude Code v2.1.260 atau lebih baru.

Dalam sesi itu, perintah berjalan hanya ketika Anda mengetiknya ke dalam sesi sendiri, seperti dalam prompt `-p` atau kotak prompt aplikasi desktop. Ketika tiba dengan cara lain, seperti melalui [Remote Control](/docs/id/remote-control) atau pesan yang disalurkan dari Slack, perintah menjawab `/reload-plugins isn't available over a remote connection in this session.` dan memuat ulang tidak ada.

Reload dalam sesi itu tidak menghubungkan atau memutuskan server MCP plugin. Perubahan itu berlaku dalam sesi berikutnya Anda.

<h2 id="flags-that-load-a-plugin-for-one-session">
  Flag yang memuat plugin untuk satu sesi
</h2>

Dua flag `claude` memuat plugin untuk satu sesi saja, tanpa menginstalnya. Keduanya dapat diulang.

Penulis plugin menggunakannya untuk menguji plugin sebelum menerbitkan. Untuk alur kerja muat-edit-muat ulang, lihat [Kembangkan tanpa marketplace](/docs/id/plugins/create#develop-without-a-marketplace).

| Flag | Deskripsi | Contoh |
| :- | :- | :- |
| `--plugin-dir <path>` | Muat plugin dari direktori atau arsip `.zip` darinya. Folder plugin memuat setiap folder anak yang memegang `.claude-plugin/plugin.json`. Setiap flag mengambil satu jalur | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |
| `--plugin-url <url>` | Ambil arsip plugin `.zip` dari URL. Ulangi flag, atau lewatkan beberapa URL yang dipisahkan spasi dalam satu nilai yang dikutip | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |

Plugin yang dimuat flag apa pun adalah plugin hanya sesi. [`claude plugin list`](#plugin-list) menampilkannya hanya ketika flag yang sama mendahului subperintah, seperti dalam `claude --plugin-dir ./my-plugin plugin list`. Plugin muncul sebagai `<name>@inline` di bawah judul yang dimulai dengan `Session-only plugins`, dan `--json` melaporkan `scope` sebagai `session`.

Ketika plugin hanya sesi berbagi nama dengan plugin yang diinstal, Claude Code memuat salinan hanya sesi untuk sesi itu dan melewati yang diinstal. Salinan yang diinstal memuat sebagai gantinya jika Anda menonaktifkan salinan hanya sesi dengan `claude plugin disable <name>@inline`, atau jika pengaturan terkelola mengunci nama plugin itu. Untuk prioritas, lihat [Referensi pemuatan plugin](/docs/id/plugins/loading).

Administrator dapat menolak kedua flag, dan folder yang dinamai dalam variabel [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/id/env-vars#variables), dengan pengaturan terkelola [`disableSideloadFlags`](/docs/id/settings-reference#disablesideloadflags). Claude Code kemudian mencetak bahwa flag dinonaktifkan oleh pengaturan terkelola organisasi Anda dan keluar `1` tanpa memulai.

Dari Agent SDK, opsi [`plugins`](/docs/id/agent-sdk/plugins) adalah setara dengan `--plugin-dir`.

<h2 id="next-steps">
  Langkah berikutnya
</h2>

* [Instal dan kelola plugin](/docs/id/plugins/install): operasi yang sama seperti langkah, dengan apa yang Anda lihat di setiap
* [Referensi pemuatan plugin](/docs/id/plugins/loading): apa yang diubah setiap perintah di disk dan cakupan mana yang berlaku
* [Troubleshoot plugin](/docs/id/plugins/troubleshooting): pesan kesalahan instal, marketplace, muat, dan validasi dengan perbaikannya
* [Referensi manifest plugin](/docs/id/plugins/manifest-reference): field yang diperiksa `claude plugin validate`
