Справочник команд плагинов
Полный справочник по командам оболочки claude plugin, /plugin и /reload-plugins в сеансе, а также флагам, которые загружают плагин на один сеанс.
Вы запускаете команды плагинов либо как claude plugin из вашей оболочки или скрипта, либо как /plugin и /reload-plugins внутри сеанса Claude Code. Этот справочник содержит флаги каждой команды, значения по умолчанию, выходные данные и коды выхода, а также два флага, которые загружают плагин на один сеанс.
Запустите claude plugin --help на вашей сборке, чтобы подтвердить, какие подкоманды есть в вашей версии.
Эти случаи рассматриваются на других страницах:
- Установка и управление шагами, и где запускается
/plugin: см. Установка и управление плагинами - Что команда изменяет на диске и какой приоритет области действия: см. Справочник загрузки плагинов
- Что означает сообщение об ошибке: см. Устранение неполадок плагинов
Команды claude plugin
Запустите claude plugin <subcommand> из вашей оболочки или скрипта, вне сеанса Claude Code. Эти подкоманды устанавливают и управляют плагинами без открытия панели /plugin.
claude plugins — это псевдоним для claude plugin.
Каждая подкоманда имеет эти коды выхода, аргументы плагина и значения области действия:
- Коды выхода:
0при успехе и1при ошибке.validateдобавляет выход2для неожиданной ошибки, аevalдобавляет коды, указанные в его разделе. - Аргументы плагина: аргумент
<plugin>— этоnameплагина илиname@marketplace. Когда два маркетплейса предлагают одно и то же имя, используйте квалифицированную форму. - Области действия:
--scopeпринимаетuser,projectилиlocal, и называет файл параметров, в который команда записывает.updateтакже принимаетmanaged.
plugin init
Создайте каркас нового плагина в ~/.claude/skills/<name>/. Он загружается в вашем следующем сеансе как <name>@skills-dir без шага установки.
new — это псевдоним для init.
Для рабочего процесса создания, тестирования и редактирования, который начинается с этой команды, см. Создание плагина.
claude plugin init <name> [options]
<name> становится именем каталога под ~/.claude/skills/ и name плагина в его манифесте.
Команда не имеет флага для другого местоположения. Чтобы создать каркас внутри проекта, см. Создание плагина.
| Флаг | Описание |
|---|---|
--description <text> |
Описание манифеста |
--author <name> |
Имя автора. По умолчанию git config user.name |
--author-email <email> |
Email автора. По умолчанию git config user.email |
--with <components...> |
Также создайте файлы-заготовки для skills, agents, hooks, mcp, lsp, output-style или channel |
-f, --force |
Перезапишите существующий .claude-plugin/ в целевом месте |
Создайте плагин с файлами-заготовками skill и hook:
claude plugin init my-helper --with skills hooks
Claude Code проверяет то, что он написал, и выводит Created plugin "my-helper" at ~/.claude/skills/my-helper, за которым следует идентификатор, под которым он загружается, и команда claude plugin disable, которая его отключает.
Claude Code выходит с кодом 1 без записи, когда не может безопасно создать каркас, и сообщение называет причину. Это распространённые причины:
- Неизвестное значение
--with - Существующий каркас в целевом месте без
--force - Управляемый параметр, который блокирует плагины из каталога skills
plugin install
Установите плагин из маркетплейса, который вы добавили. i — это псевдоним для install.
claude plugin install <plugin> [options]
Большинство плагинов устанавливаются без запроса. Для плагина, запись маркетплейса которого запускает команду для его установки или устанавливает headersHelper для его загрузки, Claude Code сначала выводит команду и спрашивает Run this command now? [y/N].
| Флаг | Описание |
|---|---|
-s, --scope <scope> |
Область действия установки: user, project или local. По умолчанию user |
--config <key=value> |
Установите опцию userConfig, которую объявляет манифест плагина. Повторите флаг для каждой опции. Требует Claude Code v2.1.147 или позже |
-y, --yes |
Примите отображаемую команду установки без запроса Run this command now?. Игнорируется, когда команда запускается внутри сеанса Claude Code, например из инструмента Bash или hook. Требует Claude Code v2.1.229 или позже |
--accept-command <sha256> |
Примите отображаемую команду установки, чей sha256 предыдущий запуск --json сообщил в shownCommand, вместо -y. Не может быть объединён с -y. См. Принять отображаемую команду установки. Требует Claude Code v2.1.271 или позже |
--json |
Выведите результат как один JSON объект на последней строке stdout вместо читаемого сообщения для использования в скриптах. См. Формат результата JSON. Требует Claude Code v2.1.268 или позже |
Передайте -y из вашего собственного терминала, чтобы принять отображаемую команду без запроса. Вот что происходит без TTY и когда Claude запускает команду:
- stdin или stdout не является TTY, и вы не передаёте ни
-y, ни--accept-command: установка отклоняется. Выходные данные говорят, что команда была только отображена, и код выхода —1 - Claude запускает команду через свой инструмент Bash:
-yигнорируется. Запустите команду из вашего собственного терминала вместо этого
Установите плагин для всех, кто клонирует проект:
claude plugin install formatter@my-marketplace --scope project
Claude Code выводит Successfully installed plugin: formatter@my-marketplace (scope: project). Когда ничего нового не устанавливается, выходные данные объясняют почему:
- Уже установлено в этой области действия: выходные данные —
Plugin "formatter@my-marketplace" is already installed (scope: project)и код выхода —0 - Вы отклоняете запрос источника команды: выходные данные —
Aborted.и код выхода —1 - Вы отклоняете запрос
headersHelper, или его нельзя подтвердить без TTY: выходные данные —Aborted — the command was not run.и код выхода —1
Формат результата JSON
Когда вы передаёте --json в plugin install, последняя строка stdout — это один JSON объект. Разбирайте только эту строку, потому что Claude Code выводит любую команду, которую объявляет маркетплейс, перед ней.
Три поля всегда присутствуют:
command: подкоманда, которая запустилась, напримерinstalloutcome:okилиfailedmessage: читаемое описание результата
Другие поля, такие как pluginId, scope и failureCode, появляются только когда они применяются.
Ошибка использования, такая как неверный --scope, не выводит строку результата и выходит с кодом 1 с причиной на stderr.
Принять отображаемую команду установки
Когда запуск --json отображает команду, объявленную маркетплейсом, и не запускает её, результат failed также содержит объект shownCommand. Его поля включают команду в том виде, в котором она отображается, плагин, к которому она принадлежит, и sha256 команды.
Чтобы принять именно эту команду, повторно запустите с этим sha256 как --accept-command из вашего собственного терминала, потому что флаг не имеет эффекта внутри сеанса Claude Code. Требует Claude Code v2.1.271 или позже.
sha256 считается принятием именно этой команды, плагина и каталога маркетплейса. Если любой из них изменился с момента отображения команды, Claude Code не принимает sha256 и показывает команду снова. Изменение, которое обновление маркетплейса собственного запуска получает, также считается таким изменением.
Если shownCommand.acceptCommandMatched — это false, sha256, который вы передали, не совпадает с командой, которая сейчас отображается. Проверьте эту команду перед повторным запуском с её sha256.
plugin uninstall
Удалите установленный плагин из одной области действия. remove и rm — это псевдонимы для uninstall.
claude plugin uninstall <plugin> [options]
| Флаг | Описание |
|---|---|
-s, --scope <scope> |
Удалить из области действия: user, project или local. По умолчанию user |
--keep-data |
Сохраните каталог постоянных данных плагина, ~/.claude/plugins/data/<id>/ |
--prune |
Также удалите автоустановленные зависимости, которые больше не нужны ни одному оставшемуся плагину |
-y, --yes |
Пропустите запрос подтверждения --prune. Требуется с --prune, когда stdin или stdout не является TTY |
--json |
Выведите результат как один JSON объект на последней строке stdout в том же формате, что и plugin install --json. Не может быть объединён с --prune. Требует Claude Code v2.1.268 или позже |
Удалите плагин из области действия проекта:
claude plugin uninstall formatter@my-marketplace --scope project
Claude Code выводит Successfully uninstalled plugin: formatter (scope: project). Когда плагин не установлен в этой области действия, команда выводит строку, которая начинается с Failed to uninstall plugin "formatter@my-marketplace": и выходит с кодом 1.
plugin enable
Включите отключённый плагин. Для плагина, синхронизированного с claude.ai, передайте <name>@synced как плагин.
claude plugin enable <plugin> [options]
| Флаг | Описание |
|---|---|
-s, --scope <scope> |
Область действия для включения: user, project или local. Автоопределяется при пропуске |
--json |
Выведите результат как один JSON объект на последней строке stdout в том же формате, что и plugin install --json. Требует Claude Code v2.1.268 или позже |
Без --scope команда проверяет ваши файлы параметров в порядке local, project, user и использует первую область действия, которая упоминает плагин.
Если вы передаёте --scope, где плагин не объявлен, команда либо записывает переопределение, либо не выполняется:
- Область действия, которая имеет приоритет над объявляющей: Claude Code записывает переопределение в переданную область действия. Например,
claude plugin disable formatter --scope localотключает плагин, включённый на уровне проекта, только для вас - Любая другая область действия: команда не выполняется с
Plugin "formatter" is installed at project scope, not user. Use --scope project or omit --scope to auto-detect.
Если плагин уже включён в разрешённой области действия, команда выводит Plugin "formatter" is already enabled и выходит с кодом 1. С --json результат имеет "failureCode": "already_in_goal_state" и "alreadyInGoalState": true, поэтому скрипт может рассматривать этот случай как успех.
Когда плагин объявляет зависимости, Claude Code также включает их. Команда не выполняется в этих случаях:
- Зависимость не установлена: включение не выполняется и выводит команду
claude plugin installдля каждой отсутствующей зависимости - Зависимость заблокирована политикой плагинов вашей организации: включение не выполняется и называет заблокированную зависимость
- Зависимость установлена на
falseв области действия с более высоким приоритетом, чем целевая область действия: включение не выполняется. Включите зависимость в этой области действия или передайте--scopeдля записи там
Повторно включите плагин везде, где он объявлен:
claude plugin enable formatter
Claude Code выводит Successfully enabled plugin: formatter (scope: project), называя обнаруженную область действия.
plugin disable
Отключите плагин без его удаления. Для плагина, синхронизированного с claude.ai, передайте <name>@synced как плагин.
claude plugin disable [plugin] [options]
| Флаг | Описание |
|---|---|
-a, --all |
Отключите каждый включённый плагин. Не может быть объединён с именем плагина или --scope |
-s, --scope <scope> |
Область действия для отключения: user, project или local. Автоопределяется при пропуске |
--json |
Выведите результат как один JSON объект на последней строке stdout в том же формате, что и plugin install --json. Требует Claude Code v2.1.268 или позже |
Без --scope область действия автоопределяется в том же порядке local, project, user, что и plugin enable.
Если вы не передаёте ни имя плагина, ни --all, Claude Code выводит Please specify a plugin name or use --all to disable all plugins и выходит с кодом 1. Отключение плагина, который уже отключён, выводит Plugin "formatter" is already disabled и выходит с кодом 1, как plugin enable делает для уже включённого плагина.
Команда не выполняется для плагина, который всё ещё требуется:
- Другой включённый плагин зависит от него: команда не выполняется и называет зависимые плагины для отключения в первую очередь
- Ваша организация требует его как синхронизированный плагин: команда не выполняется и ничего не сохраняет
Отключите один плагин:
claude plugin disable formatter
Claude Code выводит Successfully disabled plugin: formatter (scope: project).
plugin update
Обновите плагин до последней версии, которую предлагает его маркетплейс. Новая версия загружается в вашем следующем сеансе или после запуска /reload-plugins в работающем.
claude plugin update <plugin> [options]
| Флаг | Описание |
|---|---|
-s, --scope <scope> |
Область действия для обновления: user, project, local или managed. По умолчанию область действия, в которой установлен плагин |
-y, --yes |
Примите изменённую команду установки из плагина command-source без запроса. Требуется, когда stdin или stdout не является TTY, если вы не передаёте --accept-command. Требует Claude Code v2.1.229 или позже |
--accept-command <sha256> |
Примите команду, объявленную маркетплейсом, чей sha256 предыдущий запуск --json сообщил в shownCommand, вместо -y. Не может быть объединён с -y. Требует Claude Code v2.1.271 или позже |
--json |
Выведите результат как один JSON объект на последней строке stdout в том же формате, что и plugin install --json. Требует Claude Code v2.1.268 или позже |
managed — это единственная область действия, которую вы можете обновить, но не установить. Для плагинов, установленных администратором, см. Управление плагинами для вашей организации.
Обновите плагин:
claude plugin update formatter@my-marketplace
Claude Code выводит Checking for updates for plugin "formatter@my-marketplace"…, затем результат. Когда ничего не новее, он выводит formatter is already at the latest version (1.0.0). и выходит с кодом 0.
Вы можете передать простое имя плагина, которое команда сопоставляет с установленными плагинами. Когда установленные плагины из разных маркетплейсов имеют одно и то же имя, команда отклоняет обновление и выводит квалифицированные команды plugin-name@marketplace-name для запуска вместо этого. Обновление по простому имени требует Claude Code v2.1.246 или позже.
plugin list
Выведите список установленных плагинов с их версией, областью действия и статусом.
claude plugin list [options]
| Флаг | Описание |
|---|---|
--json |
Выведите список как JSON |
--available |
Также выведите плагины, которые предлагают ваши маркетплейсы, но которые вы не установили. Не имеет эффекта без --json |
Claude Code группирует читаемый выход по тому, как загружается каждый плагин:
Installed plugins:: плагины, которые вы установили из маркетплейсаSession-only plugins (--plugin-dir / --plugin-url):: плагины, загруженные этими флагами в той же команде, как вclaude --plugin-dir ./my-plugin plugin listSkills-directory plugins (.claude/skills/*):: плагины, которые Claude Code нашёл в каталоге skillsSynced from claude.ai: плагины, синхронизированные с вашей учётной записью claude.ai
Когда в любой группе ничего нет, Claude Code выводит No plugins installed. Use `claude plugin install` to install a plugin.
Выход JSON
С --json Claude Code выводит массив с одним объектом на установку. Каждый объект содержит поля ниже. id, version, scope, enabled и installPath всегда присутствуют, а остальные появляются только когда они применяются.
| Поле | Тип | Описание |
|---|---|---|
id |
string | name@marketplace для установок, name@inline для плагинов только для сеанса, name@skills-dir для плагинов из каталога skills, name@synced для плагинов, синхронизированных с claude.ai |
version |
string | Для установки маркетплейса, версия, которую вычислил Claude Code при установке. Для плагина только для сеанса, из каталога skills или синхронизированного, version из манифеста или unknown, когда он не объявляет |
scope |
string | user, project, local или managed для установок; user или project для плагинов из каталога skills; session для плагинов только для сеанса; synced для плагинов, синхронизированных с claude.ai |
enabled |
boolean | Включён ли плагин в ваших объединённых параметрах |
installPath |
string | Каталог, из которого загружается плагин |
installedAt |
string | ISO временная метка установки. Только установки маркетплейса |
lastUpdated |
string | ISO временная метка последнего обновления. Только установки маркетплейса |
projectPath |
string | Проект, к которому принадлежит установка. Только области действия project и local |
mcpServers |
object | Определения MCP сервера плагина, когда установленный на маркетплейсе плагин имеет какие-либо |
errors |
array of strings | Ошибки загрузки, когда плагин не загрузился |
notes |
array of strings | Предупреждения авторства для плагина, который загрузился и работает |
errorDetails |
array of objects | Один объект на запись errors, дающий его диагностический type и имена, на которые он ссылается, такие как плагин, маркетплейс, сервер или файл. Требует Claude Code v2.1.268 или позже |
noteDetails |
array of objects | Те же объекты деталей для каждой записи notes. Требует Claude Code v2.1.268 или позже |
С --json --available Claude Code выводит один объект вместо массива. Его поле installed содержит массив объектов установленных плагинов, а его поле available содержит один объект на неустановленный плагин маркетплейса с полями ниже.
| Поле | Тип | Описание |
|---|---|---|
pluginId |
string | name@marketplace |
name |
string | Имя плагина в маркетплейсе |
marketplaceName |
string | Маркетплейс, который его предлагает |
source |
string or object | Источник записи маркетплейса: строка для относительного пути, объект в противном случае |
description |
string | Описание записи, когда оно есть |
version |
string | Версия записи, когда она объявляет |
installCount |
number | Количество установок, когда Claude Code имеет его для плагина |
plugin details
Покажите инвентарь компонентов плагина и его прогнозируемую стоимость в токенах.
Плагин должен быть загружен: установлен, найден в каталоге skills или передан с --plugin-dir или --plugin-url в той же команде. <name> — это name плагина или name@marketplace.
claude plugin details <name>
Команда не принимает флаги кроме --help.
Покажите, что вносит установленный плагин:
claude plugin details formatter
Claude Code выводит имя плагина, версию, описание и источник, затем эти разделы:
Component inventory: skills, agents, hooks, MCP серверы и LSP серверы плагинаProjected token cost: всегда включённые токены, которые плагин добавляет в каждый сеансPer-component (rounded): оценки всегда включённых и при вызове для каждого skill, agent и команды. Пропускается, когда плагин не имеет ни одного
Для того, что означают две цифры стоимости, см. Измерение стоимости и использования плагина.
Для плагина, который не загружен, Claude Code выводит Plugin "formatter" not found. Run `claude plugin list` to see installed plugins, or pass --plugin-dir <path> to load one from disk. и выходит с кодом 1.
plugin prune
Удалите автоустановленные зависимости, которые больше не нужны ни одному установленному плагину. Команда никогда не удаляет плагин, который вы установили сами. autoremove — это псевдоним для prune.
claude plugin prune [options]
| Флаг | Описание |
|---|---|
-s, --scope <scope> |
Очистить в области действия: user, project или local. По умолчанию user |
--dry-run |
Выведите список того, что было бы удалено, без удаления |
-y, --yes |
Пропустите запрос подтверждения. Требуется, когда stdin или stdout не является TTY |
Предпросмотрите то, что удалила бы очистка:
claude plugin prune --dry-run
Claude Code выводит список сиротских зависимостей и заканчивается с (dry run — nothing removed). Когда нечего удалять, он выводит строку, которая начинается с Nothing to prune.
Без --dry-run команда удаляет сиротские зависимости только после того, как вы подтвердите в запросе или передадите -y.
Код выхода — 0 независимо от вашего ответа в запросе.
То, что делает prune, зависит от того, подключен ли терминал и передаёте ли вы -y:
| Терминал и флаги | Что происходит |
|---|---|
Интерактивный терминал, без -y |
Выводит список сиротских зависимостей и спрашивает Remove? [y/N] |
Любой терминал, -y |
Удаляет их и выводит Removed N auto-installed plugins: <names> |
Non-TTY stdin или stdout, без -y |
Выводит список и Not a TTY — run `claude plugin prune -y` to remove., удаляя ничего |
plugin eval
Запустите eval случаи плагина и сообщите оценённые результаты. Требует Claude Code v2.1.269 или позже.
Каждый случай — это подсказка плюс оценщики. Claude Code запускает его несколько раз в изолированном сеансе только с целевым плагином загруженным, и по умолчанию также без плагина, чтобы отчёт показал разницу.
См. Тестирование плагинов с помощью evals для формата случая, оценщиков, результатов и использования CI.
claude plugin eval [target] [options]
Необязательный target по умолчанию — текущий каталог и принимает любую из этих форм:
- Каталог плагина
- Один файл
prompt.mdилиcase.yaml - Установленный плагин как
nameилиname@marketplace name@skills-dir
Поместите target перед --tag, --allow-tools и --json. Каждая из этих опций принимает слова, которые следуют за ней, как её значение, поэтому target, написанный после одной из них, читается как тег, имя инструмента или путь выходного JSON вместо target.
Эта таблица выводит опции, которые используют большинство запусков. Запустите claude plugin eval --help для полного набора, включая --case, --tag, --output-dir, --report, --allow-real-servers, --keep-temp и --verbose.
| Опция | Описание | По умолчанию |
|---|---|---|
--runs <n> |
Запусков на случай в каждом arm | runs каждого случая, иначе 3 |
-j, --concurrency <n> |
Сеансы агента для запуска одновременно, 1 до 8. Они делят ваш лимит скорости | 1 |
--model <model> |
Модель для тестируемого агента | model каждого случая, иначе ANTHROPIC_MODEL, если установлено, иначе по умолчанию Claude Code |
--judge-model <model> |
Модель для оценщиков llm и baseline |
Маленькая быстрая модель |
--ablation <mode> |
none или with-without. См. Сравнение с базовым уровнем без плагина |
with-without, когда плагин разрешается, иначе none |
--threshold <0..1> |
Выход 1, если какой-либо случай оценивается ниже этого | 1.0 |
--max-cost-usd <usd> |
Остановитесь перед следующим запуском, когда расходы достигнут этого, выход 2 и сообщите частичные результаты | Без ограничений |
--allow-tools <tools...> |
Предоставьте инструменты помимо набора только для чтения, такие как Bash, Write, Edit или "mcp__plugin_<plugin>_<server>__*". См. Предоставление инструментов |
|
--scaffold |
Запустите scaffold_script каждого случая |
Выключено |
--trust-plugin |
Пропустите первый запрос доверия, для CI. См. Что может получить доступ запуск | Выключено |
--mocks <mode> |
record или off. См. Mock MCP серверы |
record |
--eval-dir <dir> |
Каталог ниже плагина, который содержит случаи | experimental.evals манифеста, иначе evals |
--json [path] |
Выведите документ результата на stdout или запишите его в путь .json |
|
--no-publish |
Держите HTML отчёт локально |
Код выхода сообщает, как закончился запуск. Чтобы действовать на нём в конвейере, см. Запуск evals в CI.
| Код выхода | Значение |
|---|---|
0 |
Каждый случай соответствует порогу |
1 |
Неудачный случай, ошибка загрузки или недоверенный каталог плагина |
2 |
Частичный запуск |
130 |
Прервано |
143 |
Завершено |
plugin eval init
Создайте набор eval для плагина в текущем каталоге. Требует Claude Code v2.1.269 или позже. См. Создание вашего первого набора eval.
claude plugin eval init [name] [options]
В терминале команда открывает интерактивный сеанс Claude Code для интервью авторства. В интервью Claude делает следующее:
- Читает плагин
- Спрашивает вас, что он должен делать хорошо
- Предлагает случаи и оценщиков
- Записывает файлы случаев
- Запускает случаи и проверяет оценки с вами, чтобы убедиться, что оценщики оценивают так, как вы бы оценили
С --bare или без терминала команда записывает пустой шаблон одного случая вместо этого. Когда Claude запускает команду из внутри сеанса Claude Code, команда выводит инструкции интервью для этого сеанса, чтобы следовать, а не записывать шаблон.
Необязательный name — это имя случая. Это требуется с --bare или без терминала, потому что команда записывает пустой шаблон для этого случая. Интервью не нуждается в одном.
Команда принимает эти опции:
| Опция | Описание | По умолчанию |
|---|---|---|
--bare |
Запишите пустой prompt.md и graders/criteria.md для <name> вместо запуска интервью |
|
-i, --interactive |
Требуйте интервью. Не выполняется без терминала вместо записи шаблона | |
--eval-dir <dir> |
Каталог ниже текущего каталога для записи случаев в | experimental.evals манифеста, иначе evals |
plugin tag
Создайте аннотированный git тег с именем <name>--v<version> для выпуска плагина. Перед тегированием команда проверяет, что plugin.json плагина и любая запись маркетплейса, которая его выводит, согласны по версии.
Для того, когда тегировать выпуск, см. Публикация плагина.
claude plugin tag [path] [options]
[path] — это каталог плагина, по умолчанию текущий каталог. Команда находит запись маркетплейса, поднимаясь от этого каталога к .claude-plugin/marketplace.json, который выводит плагин.
| Флаг | Описание |
|---|---|
--push |
Отправьте тег в --remote после создания |
--dry-run |
Выведите то, что было бы тегировано, без создания тега |
-f, --force |
Пропустите проверки грязного рабочего дерева и существующего тега |
-m, --message <msg> |
Сообщение аннотации тега. %s обозначает версию. По умолчанию <name> <version> |
--remote <name> |
Удалённый для отправки с --push. По умолчанию origin |
Предпросмотрите тег для плагина в проверке маркетплейса:
claude plugin tag plugins/formatter --dry-run
Claude Code выводит план:
- Имя плагина
- Версию и из какого файла она взята
- Соответствующую запись маркетплейса, когда она есть
- Имя тега
- Команды
git tagиgit push, которые он запустил бы
Без --dry-run Claude Code выводит Created tag formatter--v1.0.0 и либо Pushed to origin, либо команду push для запуска самостоятельно. Если push не выполняется, тег всё ещё создаётся локально и команда выходит с ошибкой.
Команда выходит с кодом 1 и выводит причину, когда не может безопасно тегировать. Распространённые причины:
- Нет
versionвplugin.jsonили записи маркетплейса - Тег уже существует
- Рабочее дерево грязное
plugin validate
Проверьте манифест плагина, манифест маркетплейса или skills, agents и команды в каталоге, и выходите с кодом, на который может действовать задача CI. Для рабочего процесса создания, тестирования и редактирования см. Создание плагина. Для того, что проверяет валидатор в каждом манифесте, см. справочник манифеста плагина и справочник маркетплейса.
claude plugin validate <path> [options]
| Флаг | Описание |
|---|---|
--strict |
Рассматривайте предупреждения как ошибки, поэтому нераспознанные поля и отсутствующие метаданные, которые среда выполнения допускает, не выполняют запуск. Требует Claude Code v2.1.145 или позже |
--json |
Выведите отчёт о проверке как один JSON объект с теми же кодами выхода. Требует Claude Code v2.1.259 или позже |
Проверьте плагин перед фиксацией:
claude plugin validate ./my-plugin --strict
Проверка каталога
<path> — это файл манифеста или каталог. Учитывая каталог, Claude Code выбирает то, что проверять, по тому, что он там находит:
.claude-plugin/marketplace.json, когда он существует- Иначе
.claude-plugin/plugin.json - Иначе файлы компонентов, выбранные по имени каталога. Проверка файлов компонентов без манифеста требует Claude Code v2.1.233 или позже:
- Каталог с именем
skills,agentsилиcommands: файлы внутри него - Каталог с именем
.claude: каталогиskills,agentsиcommandsвнутри него - Любой другой каталог: эти три каталога под его
.claude
- Каталог с именем
Claude Code не следует символическим ссылкам внутри названного вами каталога. То, что он делает, зависит от того, где находится ссылка:
- Связанный каталог
skills,agentsилиcommandsпод корнем плагина или.claude: Claude Code предупреждает, что ничего в нём не было прочитано. - Связанная запись внутри каталога
skills,agentsилиcommands: Claude Code пропускает её и предупреждает, по каталогу, сколько записей оно пропустило, которые сеанс загрузил бы. - Каталог
skills,agentsилиcommands, который вы называете, сам является символической ссылкой, или его родительский каталог.claudeявляется: Claude Code сообщает об ошибке и ничего в нём не проверяет. Назовите реальный каталог вместо этого.
Несколько файлов не читаются запуском проверки:
SKILL.mdв корне плагина: когда вы запускаетеclaude plugin validateпротив каталога плагина, Claude Code не проверяетSKILL.mdв корне плагинаCLAUDE.mdв корне плагина: в запуске плагина Claude Code также предупреждает оCLAUDE.mdв корне плагина- Файлы плагина в запуске маркетплейса: из каталога маркетплейса Claude Code не открывает файлы skill, agent, command или hook плагинов. Чтобы найти ошибки в этих файлах, проверьте каждый каталог плагина
Выход и коды выхода
Claude Code выводит файл, который он проверил, любые ошибки и предупреждения с их путями, и строку вердикта. Код выхода следует вердикту:
| Код выхода | Строка вердикта | Значение |
|---|---|---|
0 |
Validation passed или Validation passed with warnings |
Манифест загружается. С --strict, нет предупреждений либо |
1 |
Validation failed или Validation failed (--strict treats warnings as errors) |
Ошибка или предупреждение под --strict |
2 |
Unexpected error during validation: <reason> |
Сам валидатор не выполнился, например на нечитаемом пути |
С --json Claude Code записывает отчёт на stdout как один JSON объект с этими полями верхнего уровня:
success: тот же вердикт, который даёт код выходаstrict: рассматривал ли запуск предупреждения как ошибкиtarget: разрешённый путь, который Claude Code проверилmanifest: собственный результат манифеста илиnullдля запуска без манифестаcontents: результаты для каждого файла, каждый называет свойfileи содержит массивыerrors,warningsиnotes
При выходе 2 команда ничего не записывает на stdout. Сообщение об ошибке идёт на stderr.
Команды claude plugin marketplace
Запустите claude plugin marketplace <subcommand> из вашей оболочки, чтобы добавить, вывести, обновить и удалить маркетплейсы, из которых вы устанавливаете плагины.
- Коды выхода: эти подкоманды следуют соглашению кода выхода команд плагина
- Области действия: их флаг
--scopeне имеет короткой формы-s
Для того, что такое маркетплейс и как Claude Code его кэширует, см. Справочник загрузки плагинов.
plugin marketplace add
Добавьте маркетплейс из репозитория GitHub, URL git, размещённого marketplace.json или локального пути, и объявите его в файле параметров.
После добавления Claude Code устанавливает любые зависимости, которые отсутствовали у ваших установленных плагинов.
claude plugin marketplace add <source> [options]
| Флаг | Описание |
|---|---|
--scope <scope> |
Файл параметров для объявления маркетплейса в: user, project или local. По умолчанию user |
--sparse <paths...> |
Ограничьте проверку git этими каталогами для монорепозиториев. Только источники github и git |
--claudeai |
Читайте аргумент как имя маркетплейса, размещённого на claude.ai. Требует Claude Code v2.1.273 или позже |
<source> принимает любую из форм в таблице ниже, и его форма решает тип источника и как Claude Code получает маркетплейс. Для результирующего объекта источника см. справочник маркетплейса.
| Вы вводите | Тип источника | Как Claude Code его получает |
|---|---|---|
owner/repo, owner/repo#ref или owner/repo@ref |
github |
Клонирует репозиторий GitHub, закреплённый на ref, когда дан. Владелец и репо должны следовать правилам именования GitHub |
user@host:path[.git][#ref] |
git |
Клонирует по SSH |
https://example.com/repo.git[#ref] или URL, содержащий /_git/ |
git |
Клонирует по HTTPS, включая URL Azure DevOps |
https://github.com/owner/repo или https://gitlab.com/namespace/project |
git |
Клонирует по HTTPS после добавления .git |
Любой другой URL http:// или https://, включая самостоятельно размещённый git хост без .git |
url |
Получает URL как marketplace.json. Чтобы клонировать репозиторий там вместо этого, добавьте .git |
./path, ../path, /path или ~/path в каталог |
directory |
Читает каталог на месте. На Windows, .\, ..\ и C:\ формы также работают |
Те же формы пути в файл .json |
file |
Читает файл на месте |
Для хоста, чьи URL клонирования не содержат суффикс .git, такого как AWS CodeCommit, добавьте маркетплейс как запись git в extraKnownMarketplaces вместо этого. Claude Code клонирует запись git независимо от того, заканчивается ли её URL на .git.
Claude Code также клонирует URL gitlab.com с вложенными подгруппами, такой как https://gitlab.com/group/subgroup/project.
Добавьте маркетплейс и поделитесь им с проектом:
claude plugin marketplace add your-org/your-marketplace --scope project
Claude Code выводит Successfully added marketplace: your-marketplace (declared in project settings), используя name из собственного манифеста маркетплейса. Повторное добавление или неверный источник выводит один из этих результатов вместо этого:
- Маркетплейс уже на диске: выходные данные —
Marketplace 'your-marketplace' already on disk — declared in project settingsи код выхода —0 - Нераспознанный источник: выходные данные —
Invalid marketplace source format. Try: owner/repo, https://..., or ./pathи код выхода —1 - Простой хост, такой как
gitlab.example.com/team/plugins: добавление не выполняется как неверный ярлыкowner/repo, и сообщение говорит вам добавитьhttps://или использовать локальный путь
Добавьте маркетплейс, размещённый на claude.ai по имени, выведённому в разделе From claude.ai: из claude plugin marketplace list:
claude plugin marketplace add --claudeai claudeai-organization-library
С --claudeai команда отклоняет --scope и --sparse. Маркетплейс размещён для вашей учётной записи, не объявлен в файле параметров, поэтому вы не можете поделиться им через .claude/settings.json проекта.
plugin marketplace list
Выведите список каждого маркетплейса, который вы добавили, с его источником.
claude plugin marketplace list [options]
| Флаг | Описание |
|---|---|
--json |
Выведите список как JSON |
Claude Code выводит Configured marketplaces: и одну строку Source: на маркетплейс, или No marketplaces configured.
С --json Claude Code выводит массив с одним объектом на маркетплейс, содержащий поля ниже. Каждое поле — это строка.
| Поле | Описание |
|---|---|
name |
Имя маркетплейса |
source |
github, git, url, directory, file или claudeai |
repo |
owner/repo. Только источники github |
url |
URL клонирования или получения. Только источники git и url |
path |
Локальный путь. Только источники directory и file |
ref |
Закреплённая ветвь или тег. Источники github и git, только когда закреплено |
installLocation |
Где Claude Code кэшировал маркетплейс |
Добавленный маркетплейс claude.ai не имеет локального клона, поэтому его запись содержит его идентификаторы claude.ai, marketplaceId и organizationUuid, вместо installLocation. Он также содержит scope, когда один записан, и status.
Если ваши сеансы терминала синхронизируют плагины с вашей учётной записью claude.ai, текстовый список заканчивается разделом From claude.ai:. Этот раздел называет маркетплейсы, которые claude.ai выводит для вашей учётной записи, которые вы не добавили, как основанные на git, так и размещённые. Это требует Claude Code v2.1.273 или позже.
Чтобы добавить маркетплейс из этого раздела, см. Добавление маркетплейса с claude.ai.
Выход --json охватывает только настроенные маркетплейсы и оставляет раздел.
plugin marketplace remove
Удалите объявление маркетплейса из ваших параметров. rm — это псевдоним для remove.
Когда вы удаляете маркетплейс из последней области действия, которая его объявляет, Claude Code также удаляет его кэш и удаляет каждый плагин, который вы установили из него. Без --scope команда удаляет объявление из каждой области действия. Чтобы обновить маркетплейс без потери его плагинов, запустите plugin marketplace update вместо этого.
claude plugin marketplace remove <name> [options]
<name> — это имя маркетплейса, которое показывает plugin marketplace list, не источник, который вы передали в add.
| Флаг | Описание |
|---|---|
--scope <scope> |
Удалить объявление из одной области действия параметров: user, project или local. Без него Claude Code удаляет объявление из каждой области действия |
Удалите маркетплейс из каждой области действия:
claude plugin marketplace remove your-marketplace
Claude Code выводит Successfully removed marketplace: your-marketplace, добавляя (from project settings), когда вы его ограничили. Если вы ограничиваете файл параметров, который не объявляет маркетплейс, команда не выполняется с Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.
plugin marketplace update
Обновите один маркетплейс или каждый маркетплейс из его источника, чтобы получить новые плагины и версии. Маркетплейс, добавленный с ветвью или тегом ref, обновляется до последнего коммита этого ref, не ветви по умолчанию репозитория.
claude plugin marketplace update [name]
Команда не принимает флаги кроме --help.
Обновите один маркетплейс:
claude plugin marketplace update your-marketplace
Claude Code выводит Successfully updated marketplace: your-marketplace. Когда вы пропускаете имя, он выводит счёт, такой как Successfully updated 2 marketplaces. Без добавленных маркетплейсов он выводит No marketplaces configured и выходит с кодом 0.
/plugin в сеансе
Внутри интерактивного сеанса /plugin открывает панель плагина. Каждая подкоманда открывает панель на вкладке, запускает действие там или выводит результат встроенно. /plugins и /marketplace — это псевдонимы для /plugin.
Вы можете запускать эти команды только в интерактивном сеансе терминала. В неинтерактивном запуске, таком как claude -p, Claude Code отвечает, что /plugin недоступен в этой среде.
Для того, какие поверхности имеют /plugin, как установить без него и что показывает каждая вкладка панели, см. Установка и управление плагинами.
<plugin> — это name плагина или name@marketplace.
Таблица ниже выводит каждую форму сеанса. Подкоманды оболочки init, update, details, prune, eval и eval init не имеют формы сеанса.
| Команда | Псевдонимы | Что она делает |
|---|---|---|
/plugin |
Открывает панель на вкладке Discover. Любое нераспознанное первое слово после /plugin делает то же самое |
|
/plugin help |
/plugin --help, /plugin -h |
Показывает список использования подкоманд /plugin |
/plugin list [--enabled|--disabled] |
ls |
Выводит ваши установленные на маркетплейсе плагины встроенно, с версией, областью действия и статусом. Флаг фильтра показывает только это состояние. Плагин, чьё состояние включения ещё не применено, отмечен — run /reload-plugins to apply. Требует Claude Code v2.1.163 или позже |
/plugin install |
i |
Открывает вкладку Discover |
/plugin install <plugin> |
i |
Открывает детали плагина на вкладке Discover. С name@marketplace открывает их в списке этого маркетплейса |
/plugin install <plugin> --marketplace <source> |
i |
Добавляет маркетплейс в <source>, когда вы его ещё не добавили, спрашивая вас подтвердить сначала, затем открывает детали плагина. См. Добавление маркетплейса и установка в одной команде. Требует Claude Code v2.1.275 или позже |
/plugin manage |
Открывает вкладку Installed | |
/plugin stats |
Открывает вкладку Stats в сеансах, где /skill-doctor доступен. Везде ещё открывает панель на вкладке Discover |
|
/plugin enable <plugin> |
Открывает вкладку Installed на плагине и включает его | |
/plugin disable <plugin> |
Открывает вкладку Installed на плагине и отключает его | |
/plugin uninstall <plugin> |
Открывает вкладку Installed на плагине и удаляет его | |
/plugin configure <plugin> |
config |
Открывает диалог userConfig плагина или сообщает, что плагин не объявляет ни одного. Требует Claude Code v2.1.147 или позже |
/plugin validate <path> |
Выводит тот же отчёт, что и claude plugin validate, встроенно |
|
/plugin tag [path] [--push] [--dry-run] [--force] |
Создаёт тег выпуска как claude plugin tag делает. Принимает --push, --dry-run и --force или -f; с любым другим флагом или дополнительным аргументом Claude Code выводит использование вместо этого |
|
/plugin marketplace |
market |
Ничего видимого не делает. Передайте add, list, update или remove |
/plugin marketplace add [source] |
market add |
С источником добавляет его и сообщает результат. Без одного открывает ввод Add marketplace |
/plugin marketplace list |
market list |
Выводит имена ваших маркетплейсов встроенно |
/plugin marketplace update [name] |
market update |
Открывает вкладку Marketplaces. С именем обновляет этот маркетплейс там |
/plugin marketplace remove [name] |
market remove, market rm, marketplace rm |
Открывает вкладку Marketplaces. С именем удаляет этот маркетплейс там |
Если вы называете плагин, который не установлен в текущем проекте в /plugin enable, disable, uninstall или configure, Claude Code выводит Plugin "<plugin>" is not installed in this project вместо действия.
/reload-plugins
Примените ожидающие изменения плагина к работающему сеансу без перезагрузки. Ожидающие изменения — это плагины, которые вы установили, обновили, включили, отключили или отредактировали на диске с момента начала сеанса.
Когда вы закрываете панель /plugin с ожидающими изменениями, которые вы сделали в ней, Claude Code запускает /reload-plugins для вас. Запустите его самостоятельно после изменений плагина, которые происходят вне панели, такие как команда claude plugin, которую вы запустили в другом терминале.
/reload-plugins [--force]
| Флаг | Описание |
|---|---|
--force |
Примените перезагрузку, даже если она инвалидирует кэш подсказок. force без дефисов также работает |
Сводка перезагрузки
Claude Code перезагружает каждый активный плагин и выводит одну строку сводки, Reloaded: N plugins · N skills · N agents · N hooks · N plugin MCP servers · N plugin LSP servers, пропуская счёт сервера MCP плагина в сеансе без интерактивного терминала. Когда какой-либо плагин не выполнился, сводка добавляет N errors during load. Run /plugin for details.
Счёт skills охватывает каждый skill, который предоставляет плагин, как его записи commands/, так и skills SKILL.md. Счёт agents — это количество агентов, загруженных в сеансе, включая те, которые не поступают из плагинов.
Когда перезагруженный плагин зависимости отсутствуют, Claude Code устанавливает их, перезагружает снова и добавляет (+ N dependencies: <names>) resolved к сводке.
Перезагрузки, которые изменяют инструменты MCP
Когда перезагрузка добавляет или удаляет сервер MCP плагина или инструмент LSP, и это изменение инвалидирует кэш подсказок, Claude Code не применяет перезагрузку. Он выводит строку, такую как 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. Передайте --force, чтобы применить её в любом случае.
Сеансы без интерактивного терминала
/reload-plugins также запускается в сеансах без интерактивного терминала, такие как приложение для рабочего стола, Agent SDK и неинтерактивный режим с -p. Требует Claude Code v2.1.260 или позже.
В этих сеансах команда запускается только когда вы вводите её в сеанс самостоятельно, такие как в подсказке -p или поле подсказки приложения для рабочего стола. Когда она приходит другим способом, такой как через Remote Control или сообщение, переданное из Slack, команда отвечает /reload-plugins isn't available over a remote connection in this session. и ничего не перезагружает.
Перезагрузка в этих сеансах не подключает или отключает серверы MCP плагина. Эти изменения вступают в силу в вашем следующем сеансе.
Флаги, которые загружают плагин на один сеанс
Два флага claude загружают плагин на один сеанс только, без установки. Оба повторяемы.
Авторы плагинов используют их для тестирования плагина перед публикацией. Для рабочего процесса загрузки-редактирования-перезагрузки см. Разработка без маркетплейса.
| Флаг | Описание | Пример |
|---|---|---|
--plugin-dir <path> |
Загрузите плагин из каталога или архива .zip одного. Папка плагинов загружает каждую дочернюю папку, которая содержит .claude-plugin/plugin.json. Каждый флаг принимает один путь |
claude --plugin-dir ./my-plugin --plugin-dir ./other.zip |
--plugin-url <url> |
Получите архив плагина .zip из URL. Повторите флаг или передайте несколько URL, разделённых пробелом, в одном цитируемом значении |
claude --plugin-url "https://example.com/a.zip https://example.com/b.zip" |
Плагин, который загружает любой флаг, — это плагин только для сеанса. claude plugin list показывает его как <name>@inline с областью действия session, но только когда тот же флаг предшествует подкоманде. Например, запустите claude --plugin-dir ./my-plugin plugin list.
Когда плагин только для сеанса имеет одно и то же имя с установленным плагином, Claude Code загружает копию только для сеанса для этого сеанса и пропускает установленную. Установленная копия загружается вместо этого, если вы отключили копию только для сеанса с claude plugin disable <name>@inline, или если управляемые параметры блокируют это имя плагина. Для приоритета см. Справочник загрузки плагинов.
Администратор может отклонить оба флага и папки, названные в переменной CLAUDE_CODE_PLUGIN_DIRS, с управляемым параметром disableSideloadFlags. Claude Code затем выводит, что флаг отключён управляемыми параметрами вашей организации, и выходит с кодом 1 без запуска.
Из Agent SDK опция plugins — это эквивалент --plugin-dir.
Следующие шаги
- Установка и управление плагинами: те же операции, что и шаги, с тем, что вы видите на каждом
- Справочник загрузки плагинов: что каждая команда изменяет на диске и какая область действия вступает в силу
- Устранение неполадок плагинов: установка, маркетплейс, загрузка и сообщения об ошибках проверки с их исправлениями
- Справочник манифеста плагина: поля, которые
claude plugin validateпроверяет