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.
Kasus-kasus ini tercakup di halaman lain:
- Instal dan kelola langkah, dan di mana
/pluginberjalan: lihat Instal dan kelola plugin - Apa yang diubah perintah di disk dan cakupan mana yang diutamakan: lihat Referensi pemuatan plugin
- Apa arti pesan kesalahan: lihat Troubleshoot plugin
Perintah claude plugin
Jalankanclaude plugin <subcommand> dari shell Anda atau dari skrip, di luar sesi Claude Code. Subperintah ini menginstal dan mengelola plugin tanpa membuka panel /plugin.
claude plugins adalah alias untuk claude plugin.
Setiap subperintah menggunakan exit code, argumen plugin, dan nilai cakupan yang sama berikut ini:
- Exit code:
0jika berhasil dan1jika gagal.validatemenambahkan exit2untuk kesalahan yang tidak terduga, danevalmenambahkan kode yang tercantum di bagiannya. - Argumen plugin: argumen
<plugin>adalahnameplugin atauname@marketplace. Jika dua marketplace menawarkan nama yang sama, gunakan bentuk yang memenuhi syarat (qualified).configurehanya menerima bentuk yang memenuhi syarat. - Cakupan:
--scopemenerimauser,project, ataulocal, dan menentukan file pengaturan yang ditulis oleh perintah tersebut.updatejuga menerimamanaged.
plugin init
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.
<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.
Buat kerangka plugin dengan file skill dan hook awal:
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
--withyang tidak dikenal - Kerangka yang sudah ada di target tanpa
--force - Pengaturan terkelola yang memblokir plugin direktori skills
plugin install
Menginstal plugin dari salah satu marketplace Anda.i adalah alias untuk install.
headersHelper untuk unduhannya, Claude Code terlebih dahulu mencetak perintah tersebut dan bertanya Run this command now? [y/N].
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
-ymaupun--accept-command: instalasi ditolak. Output menyatakan bahwa perintah hanya ditampilkan, dan exit code-nya1 - Claude menjalankan perintah melalui tool Bash-nya:
-ydiabaikan. Jalankan perintah dari terminal Anda sendiri sebagai gantinya
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-nya0 - Anda menolak permintaan konfirmasi command-source: outputnya
Aborted.dan exit code-nya1 - Anda menolak permintaan konfirmasi
headersHelper, atau permintaan tersebut tidak dapat dikonfirmasi tanpa TTY: outputnyaAborted — the command was not run.dan exit code-nya1
Format hasil JSON
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, sepertiinstalloutcome:okataufailedmessage: deskripsi hasil yang dapat dibaca manusia
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.
Hasil JSON untuk perintah marketplace
Padaplugin 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:
command adalah marketplace-add, marketplace-remove, atau marketplace-update. Field di bawah ini hanya muncul jika relevan:
marketplace: nama marketplace yang ditindaklanjuti oleh perintahfailureCode: kode yang menjelaskan mengapa perintah gagal, sepertiinvalid_source
plugin marketplace add dan plugin marketplace remove dapat tidak mencetak baris hasil ketika argumennya adalah nama yang dicadangkan anthropic-plugin-directory, jadi periksa exit code untuk nama tersebut.
Menerima perintah instalasi yang ditampilkan
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.
plugin uninstall
Menghapus plugin yang terinstal dari satu cakupan.remove dan rm adalah alias untuk uninstall.
Hapus instalasi plugin dari cakupan project:
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.
Apa yang dihapus dan dipertahankan oleh penghapusan instalasi
Ketika Anda menghapus instalasi plugin dari cakupan terakhir tempat plugin tersebut terinstal, Claude Code juga menghapus opsi dan rahasia 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
--jsonhasilnya membawasavedKept: "install_records_unreadable"
--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.
plugin enable
Mengaktifkan plugin yang dinonaktifkan. Untuk plugin yang disinkronkan dari claude.ai, berikan<name>@synced sebagai plugin.
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 daripada cakupan yang mendeklarasikan: Claude Code menulis override di cakupan yang Anda berikan. Misalnya,
claude plugin disable formatter --scope localmenonaktifkan 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.
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, Claude Code juga mengaktifkannya. Perintah gagal dalam kasus-kasus berikut:
- Dependensi tidak terinstal: pengaktifan gagal dan mencetak perintah
claude plugin installuntuk setiap dependensi yang hilang - Dependensi diblokir oleh kebijakan plugin organisasi Anda: pengaktifan gagal dan menyebutkan dependensi yang diblokir
- Dependensi diatur ke
falsedi cakupan dengan prioritas lebih tinggi daripada cakupan target: pengaktifan gagal. Aktifkan dependensi di cakupan tersebut, atau berikan--scopeuntuk menulis di sana
Successfully enabled plugin: formatter (scope: project), dengan menyebutkan cakupan yang terdeteksi.
plugin disable
Menonaktifkan plugin tanpa menghapus instalasinya. Untuk plugin yang disinkronkan dari claude.ai, berikan<name>@synced sebagai plugin.
Tanpa
--scope, cakupan dideteksi otomatis dengan urutan local, project, user yang sama seperti 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 untuk plugin yang sudah diaktifkan.
Perintah gagal untuk plugin yang masih dibutuhkan:
- Plugin aktif lain bergantung pada 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
Successfully disabled plugin: formatter (scope: project).
plugin update
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.
Perbarui plugin:
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 dan instalasi tersebut gagal.
Cakupan mana yang diperbarui perintah
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.
Memperbarui dengan nama polos
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 perintahplugin-name@marketplace-name yang memenuhi syarat untuk dijalankan sebagai gantinya. Memperbarui dengan nama polos memerlukan Claude Code v2.1.246 atau yang lebih baru.
Mencoba ulang instalasi dependensi yang belum selesai
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. Jika retry gagal, outputnyaFailed 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.
plugin list
Mencantumkan plugin yang terinstal beserta versi, cakupan, dan statusnya.
Claude Code mengelompokkan output yang dapat dibaca manusia berdasarkan cara setiap plugin dimuat:
Installed plugins:: plugin yang Anda instal dari marketplaceSession-only plugins (--plugin-dir / --plugin-url):: plugin yang dimuat oleh flag tersebut dalam perintah yang sama, seperti padaclaude --plugin-dir ./my-plugin plugin listSkills-directory plugins (.claude/skills/*):: plugin yang ditemukan Claude Code di direktori skillsSynced from claude.ai: plugin yang disinkronkan dari akun claude.ai Anda
No plugins installed. Use `claude plugin install` to install a plugin.
Output JSON
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.
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.
plugin details
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.
--help.
Tampilkan apa yang disumbangkan oleh plugin yang terinstal:
Component inventory: skill, agent, hook, server MCP, dan server LSP milik pluginProjected token cost: token yang selalu aktif yang ditambahkan plugin ke setiap sesiPer-component (rounded): estimasi selalu aktif dan saat dipanggil untuk setiap skill, agent, dan perintah. Dihilangkan jika plugin tidak memilikinya
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.
plugin configure
Menampilkan opsiuserConfig 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.
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"}:
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 atau item Configure di /plugin.
plugin prune
Menghapus dependensi 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.
Pratinjau apa yang akan dihapus oleh prune:
(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:
plugin eval
Menjalankan kasus eval 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 untuk format kasus, grader, hasil, dan penggunaan CI.target opsional default-nya adalah direktori saat ini dan menerima salah satu bentuk berikut:
- Direktori plugin
- Satu file
prompt.mdataucase.yaml - Plugin yang terinstal sebagai
nameatauname@marketplace name@skills-dir
--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.
Exit code melaporkan bagaimana eksekusi berakhir. Untuk menindaklanjutinya dalam pipeline, lihat Menjalankan eval di CI.
plugin eval init
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..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:
- Membaca plugin
- Menanyakan kepada Anda apa yang harus dilakukan plugin dengan baik
- Mengusulkan kasus dan grader
- Menulis file kasus
- Menjalankan kasus dan meninjau nilai bersama Anda untuk memeriksa bahwa grader menilai seperti yang akan Anda lakukan
--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:
plugin tag
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.
[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.
Pratinjau tag untuk plugin dalam checkout marketplace:
- Nama plugin
- Versi dan file asalnya
- Entri marketplace yang cocok, jika ada
- Nama tag
- Perintah
git tagdangit pushyang akan dijalankannya
--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
versiondiplugin.jsonatau entri marketplace - Tag sudah ada
- Working tree kotor
plugin test
Menjalankan pengujian untuk mod, yaitu plugin yang kodenya mendaftarkan event handler. Perintah ini tidak memerlukan sesi, login, atau jaringan. Untuk cara menulis pengujian, lihat Menguji mod.[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:
plugin validate
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. Untuk apa yang diperiksa validator di setiap manifes, lihat referensi manifes plugin dan referensi marketplace.
Validasi plugin sebelum melakukan commit:
Memvalidasi direktori
<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, ataucommands: file-file di dalamnya - Direktori bernama
.claude: direktoriskills,agents, dancommandsdi dalamnya - Direktori lainnya: ketiga direktori tersebut di bawah
.claude-nya
- Direktori bernama
.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, ataucommandsyang ditautkan di bawah root plugin atau.claude: Claude Code memperingatkan bahwa tidak ada isinya yang dibaca. - Entri yang ditautkan di dalam direktori
skills,agents, ataucommands: Claude Code melewatinya dan memperingatkan, per direktori, berapa banyak entri yang dilewati yang akan dimuat oleh sesi. - Direktori
skills,agents, ataucommandsyang 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.
SKILL.mddi root plugin: ketika Anda menjalankanclaude plugin validateterhadap direktori plugin, Claude Code tidak memeriksaSKILL.mddi root pluginCLAUDE.mddi root plugin: dalam eksekusi plugin, Claude Code juga memperingatkan tentangCLAUDE.mddi 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
Output dan exit code
Claude Code mencetak file yang divalidasinya, setiap kesalahan dan peringatan beserta path-nya, dan baris putusan. Exit code mengikuti putusan tersebut:
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 codestrict: apakah eksekusi memperlakukan peringatan sebagai kesalahantarget: path yang telah di-resolve yang divalidasi Claude Codemanifest: hasil manifes itu sendiri, ataunulluntuk eksekusi tanpa manifescontents: hasil per file, masing-masing menyebutkanfile-nya dan membawa arrayerrors,warnings, dannotesgatingHooks: apakah setiap hook mod yang dapat menolak suatu tindakan, seperti hooktool.call, memiliki handler.catch. Setiap item memberikanmodule,pattern,hook, danhasCatch. Memerlukan Claude Code v2.1.290 atau yang lebih baru
2, perintah tidak menulis apa pun ke stdout. Pesan kesalahan dikirim ke stderr.
Perintah claude plugin marketplace
Jalankanclaude 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 perintah plugin
- Cakupan: flag
--scopemereka tidak memiliki bentuk pendek-s
plugin marketplace add
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 apa pun yang hilang dari plugin yang diinstal.
<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.
Untuk host yang URL klonnya tidak membawa akhiran
.git, seperti AWS CodeCommit, tambahkan marketplace sebagai entri git dalam 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:
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 settingsdan kode keluar adalah0 - Sumber yang tidak dikenali: output adalah
Invalid marketplace source format. Try: owner/repo, https://..., or ./pathdan kode keluar adalah1 - Host telanjang seperti
gitlab.example.com/team/plugins: penambahan gagal sebagai shorthandowner/repoyang tidak valid, dan pesan memberi tahu Anda untuk menambahkanhttps://atau menggunakan jalur lokal
From claude.ai: dari claude plugin marketplace list:
--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.
plugin marketplace list
Daftar setiap marketplace yang telah Anda tambahkan, dengan sumbernya.
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.
Marketplace 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, 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.
Output --json mencakup marketplace yang dikonfigurasi saja dan meninggalkan bagian.
plugin marketplace remove
Hapus deklarasi marketplace dari pengaturan Anda.rm adalah alias untuk remove.
<name> adalah nama marketplace yang ditunjukkan plugin marketplace list, bukan sumber yang Anda lewatkan ke add.
Hapus marketplace dari setiap cakupan:
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.
plugin marketplace update
Segarkan satu marketplace, atau setiap marketplace, dari sumbernya untuk mengambil plugin dan versi baru. Marketplace yang ditambahkan dengan branch atau tagref diperbarui ke commit terbaru dari ref itu, bukan branch default repositori.
Segarkan satu marketplace:
Successfully updated marketplace: your-marketplace. Ketika Anda menghilangkan nama, mencetak hitungan seperti Successfully updated 2 marketplaces.
/plugin dalam sesi
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.
<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.
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.
/reload-plugins
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.
Ringkasan reload
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 plugin yang dimuat ulang hilang, Claude Code menginstalnya, memuat ulang lagi, dan menambahkan (+ N dependencies: <names>) resolved ke ringkasan.
Reload yang mengubah alat MCP
Ketika reload akan menambah atau menghapus server MCP plugin atau alatLSP, dan perubahan itu akan membatalkan cache prompt, 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.
Sesi tanpa terminal interaktif
/reload-plugins juga berjalan dalam sesi tanpa terminal interaktif, seperti aplikasi desktop, Agent SDK, dan mode non-interaktif 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 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.
Flag yang memuat plugin untuk satu sesi
Dua flagclaude 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.
Plugin yang dimuat flag apa pun adalah plugin hanya sesi.
claude 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.
Administrator dapat menolak kedua flag, dan folder yang dinamai dalam variabel CLAUDE_CODE_PLUGIN_DIRS, dengan pengaturan terkelola disableSideloadFlags. Claude Code kemudian mencetak bahwa flag dinonaktifkan oleh pengaturan terkelola organisasi Anda dan keluar 1 tanpa memulai.
Dari Agent SDK, opsi plugins adalah setara dengan --plugin-dir.
Langkah berikutnya
- Instal dan kelola plugin: operasi yang sama seperti langkah, dengan apa yang Anda lihat di setiap
- Referensi pemuatan plugin: apa yang diubah setiap perintah di disk dan cakupan mana yang berlaku
- Troubleshoot plugin: pesan kesalahan instal, marketplace, muat, dan validasi dengan perbaikannya
- Referensi manifest plugin: field yang diperiksa
claude plugin validate