Плагины
Плагины Claude Code
В этой папке собраны полноценные примеры плагинов, которые объединяют несколько возможностей Claude Code в единые, готовые к установке пакеты.
Обзор
Плагины Claude Code - это готовые наборы кастомизаций (slash-команд, субагентов, MCP-серверов и hooks), устанавливаемые одной командой. Это механизм расширения самого высокого уровня: он объединяет несколько возможностей в единые пакеты, которыми удобно делиться.
Архитектура плагинов
graph TB A["Plugin"] B["Slash Commands"] C["Subagents"] D["MCP Servers"] E["Hooks"] F["Configuration"] A -->|bundles| B A -->|bundles| C A -->|bundles| D A -->|bundles| E A -->|bundles| FПроцесс загрузки плагинов
sequenceDiagram participant User participant Claude as Claude Code participant Plugin as Plugin Marketplace participant Install as Installation participant SlashCmds as Slash Commands participant Subagents participant MCPServers as MCP Servers participant Hooks participant Tools as Configured Tools User->>Claude: /plugin install pr-review Claude->>Plugin: Download plugin manifest Plugin-->>Claude: Return plugin definition Claude->>Install: Extract components Install->>SlashCmds: Configure Install->>Subagents: Configure Install->>MCPServers: Configure Install->>Hooks: Configure SlashCmds-->>Tools: Ready to use Subagents-->>Tools: Ready to use MCPServers-->>Tools: Ready to use Hooks-->>Tools: Ready to use Tools-->>Claude: Plugin installed ✅Marketplace не требуется (v2.1.157+): плагины, размещённые в директориях
.claude/skills, теперь загружаются автоматически без marketplace. Создайте заготовку нового плагина командойclaude plugin init <name>- он будет создан в~/.claude/skills/<name>/(глобально для пользователя) и автоматически подгружен в следующей сессии как<name>@skills-dir.
Типы плагинов и способы распространения
| Type | Scope | Shared | Authority | Examples |
|---|---|---|---|---|
| Official | Global | All users | Anthropic | PR Review, Security Guidance |
| Community | Public | All users | Community | DevOps, Data Science |
| Organization | Internal | Team members | Company | Internal standards, tools |
| Personal | Individual | Single user | Developer | Custom workflows |
Структура определения плагина
Манифест плагина использует формат JSON и располагается в файле .claude-plugin/plugin.json:
Помимо этих идентификационных полей, манифест может указывать Claude Code на компоненты, расположенные вне папок по умолчанию, а также содержать метаданные для обнаружения и информацию о зависимостях:
| Field | Type | Description |
|---|---|---|
workflows | string | array | Custom workflow script files or directories (replaces the default workflows/) |
outputStyles | string | array | Custom output style files or directories (replaces the default output-styles/) |
lspServers | string | array | object | LSP servers for code intelligence - go to definition, find references, diagnostics. Commonly "./.lsp.json". See LSP server configuration |
channels | array | Channel declarations for message injection (Telegram, Slack, Discord style) |
dependencies | array | Other plugins this plugin requires, optionally with semver version constraints |
keywords | array | Discovery tags used when browsing and searching marketplaces |
metadata | object | Free-form object for your own data, such as entitlement or catalog fields |
experimental.themes | string | array | Color theme files or directories (replaces the default themes/) |
experimental.monitors | string | array | Background Monitor configurations that start automatically when the plugin is active |
Пример структуры плагина
Примечание: каталог
commands/считается устаревшим. Официальная рекомендация - «для новых плагинов используйтеskills/». Существующие каталогиcommands/продолжают работать (один из трёх демонстрационных плагинов в этом модуле как раз их использует), однако новый плагин должен размещать свою функциональность вskills/в виде каталогов сSKILL.md, а не в виде плоских Markdown-файлов с командами.
Конфигурация LSP-сервера
Плагины могут включать поддержку Language Server Protocol (LSP) для интеллектуального анализа кода в реальном времени. LSP-серверы предоставляют диагностику, навигацию по коду и информацию о символах прямо в процессе работы.
Где задаётся конфигурация:
- файл
.lsp.jsonв корневом каталоге плагина; - ключ
lspServersвplugin.json- официальное имя поля манифеста. Он принимает строку, массив или объект: строка или массив указывают на файл(ы) или каталоги с конфигурацией LSP (например,"./.lsp.json"), а объект описывает серверы непосредственно в манифесте.
Справочник полей
| Field | Required | Description |
|---|---|---|
command | Yes | LSP server binary (must be in PATH) |
extensionToLanguage | Yes | Maps file extensions to language IDs |
args | No | Command-line arguments for the server |
transport | No | Communication method: stdio (default) or socket |
env | No | Environment variables for the server process |
initializationOptions | No | Options sent during LSP initialization |
settings | No | Workspace configuration passed to the server |
workspaceFolder | No | Override the workspace folder path |
startupTimeout | No | Maximum time (ms) to wait for server startup |
shutdownTimeout | No | Maximum time (ms) for graceful shutdown |
restartOnCrash | No | Automatically restart if the server crashes |
maxRestarts | No | Maximum restart attempts before giving up |
Примеры конфигураций
Go (gopls):
Python (pyright):
TypeScript:
Доступные LSP-плагины
В официальном маркетплейсе доступны преднастроенные LSP-плагины:
| Plugin | Language | Server Binary | Install Command |
|---|---|---|---|
pyright-lsp | Python | pyright-langserver | pip install pyright |
typescript-lsp | TypeScript/JavaScript | typescript-language-server | npm install -g typescript-language-server typescript |
rust-lsp | Rust | rust-analyzer | Install via rustup component add rust-analyzer |
Возможности LSP
После настройки LSP-серверы предоставляют:
- Мгновенная диагностика - ошибки и предупреждения появляются сразу после правок
- Навигация по коду - переход к определению, поиск ссылок и реализаций
- Информация при наведении - сигнатуры типов и документация во всплывающей подсказке
- Список символов - просмотр символов в текущем файле или во всём workspace
Каталог bin/ в PATH
Когда plugin включён, его каталог bin/ добавляется в начало PATH сессии. Любой поставляемый в нём исполняемый файл можно вызвать по имени напрямую из инструмента Bash - указывать полный путь не требуется.
Используйте это для вспомогательных CLI-утилит, которые hooks, skills или команды внутри того же плагина будут вызывать через shell. Пометьте файлы исполняемыми в репозитории плагина (chmod +x) - git сохраняет этот бит.
Опции плагина (v2.1.83+)
Плагины могут объявлять пользовательские настройки в манифесте через userConfig. Значения с пометкой sensitive: true хранятся в системном keychain, а не в текстовых файлах настроек:
Постоянные данные плагина (${CLAUDE_PLUGIN_DATA}) (v2.1.78+)
Плагинам доступен каталог для хранения постоянного состояния через переменную окружения ${CLAUDE_PLUGIN_DATA}. Этот каталог уникален для каждого плагина и сохраняется между сессиями, поэтому подходит для кэшей, баз данных и других постоянных данных:
Директория создаётся автоматически при установке плагина. Файлы, хранящиеся здесь, сохраняются до момента удаления плагина.
Фоновые мониторы (v2.1.105)
Плагины могут регистрировать фоновые мониторы, которые автоматически активируются при старте сессии или при вызове skill плагина. Добавьте в манифест плагина ключ верхнего уровня monitors:
Поле trigger принимает следующие значения:
"session_start"- автоматически активировать монитор при старте сессии"skill_invoke"- активировать монитор при вызове skill плагина
Под капотом мониторы используют тот же инструмент Monitor, передавая строки stdout как события, на которые Claude может реагировать.
Встроенный плагин через настройки (source: 'settings') (v2.1.80+)
Плагины можно описывать прямо в файлах настроек как записи marketplace, используя поле source: 'settings'. Это позволяет встроить определение плагина напрямую, без отдельного репозитория или marketplace:
Настройки плагина
Плагины могут поставляться с файлом settings.json, задающим конфигурацию по умолчанию. На данный момент поддерживается ключ agent, который указывает агента основного потока для плагина:
Когда plugin включает settings.json, его значения по умолчанию применяются при установке. Пользователи могут переопределить эти настройки в конфигурации своего проекта или в пользовательской конфигурации.
Standalone-подход и подход через plugin
| Approach | Command Names | Configuration | Best For |
|---|---|---|---|
| Standalone | /hello | Manual setup in CLAUDE.md | Personal, project-specific |
| Plugins | /plugin-name:hello | Automated via plugin.json | Sharing, distribution, team use |
| Используйте отдельные slash commands для быстрых персональных сценариев. Используйте плагины, когда нужно объединить несколько возможностей, поделиться с командой или опубликовать для распространения. |
Вызов через пробел (v2.1.136+): Slash commands из плагинов также работают с пробелом -
/myplugin reviewразворачивается в каноническую форму/myplugin:review. Оба варианта допустимы; форма с двоеточием является канонической и рекомендуется в скриптах.
Обнаружение
skills/(v2.1.136+): Наличие поляskillsвplugin.jsonбольше не скрывает стандартную директориюskills/плагина. Skills, объявленные в обоих местах, объединяются - так что можно перечислить несколько ключевых вplugin.json, не теряя остальные.
Плагины с
SKILL.mdв корне (v2.1.142+): Плагин сSKILL.mdна верхнем уровне и без поддиректорииskills/сам представляется как единый skill - плагин и есть skill. Это дополнительный шаблон, а не замена директорииskills/или поляskillsвplugin.json; применяйте его для небольших плагинов с одним skill, когда отдельная структура директорий не даёт никаких преимуществ.
Практические примеры
Пример 1: плагин для PR Review
Файл: .claude-plugin/plugin.json
Текущая дата: воскресенье, 6 сентября 2026 г.
<query>Файл: commands/review-pr.md
PR Review
This command initiates a complete pull request review including:
- Security analysis
- Test coverage verification
- Documentation updates
- Code quality checks
- Performance impact assessment
Установка:
Пример 2: DevOps-плагин
Компоненты:
Пример 3: Плагин для документации
Входящие в состав компоненты:
Маркетплейс плагинов
Официальный каталог плагинов, поддерживаемый Anthropic, - anthropics/claude-plugins-official; он автоматически регистрируется при первом интерактивном запуске. Администраторы корпоративных тарифов также могут создавать приватные маркетплейсы плагинов для внутреннего распространения.
Помимо него есть маркетплейс сообщества - anthropics/claude-plugins-community, где размещаются сторонние плагины, прошедшие автоматизированную проверку корректности и безопасности со стороны Anthropic; в каталоге каждый из них закреплён за конкретным commit SHA. В отличие от официального маркетплейса, его нужно добавлять вручную:
Настройка маркетплейса
Enterprise- и продвинутые пользователи могут управлять поведением маркетплейса через настройки:
| Setting | Description |
|---|---|
extraKnownMarketplaces | Add additional marketplace sources beyond the defaults |
strictKnownMarketplaces | Control which marketplaces users are allowed to add (managed-only) |
blockedMarketplaces | Admin-managed blocklist of marketplaces (supports hostPattern / pathPattern regex fields since v2.1.119) |
deniedPlugins | Admin-managed blocklist to prevent specific plugins from being installed |
Более удобные алиасы (v2.1.232):
additionalMarketplacesпринимается как алиас дляextraKnownMarketplaces, аallowedMarketplaces- дляstrictKnownMarketplaces. Источник - changelog: они анонсированы в changelog v2.1.232, однако официальная справка по настройкам пока не упоминает ни одно из этих имён. Канонические ключи по-прежнему можно спокойно использовать.
Wildcard'ы владельца (v2.1.223+): запись вида
"owner/*"разрешает или блокирует все marketplace-репозитории одного GitHub-владельца. Принимается только вstrictKnownMarketplacesиblockedMarketplaces. Во всех остальных местах, где используется источникgithub- включаяextraKnownMarketplacesи/plugin marketplace add, - значениеrepoдолжно указывать на один конкретный репозиторий.
Применение правил (v2.1.117+):
blockedMarketplacesиstrictKnownMarketplacesпроверяются на каждом событии жизненного цикла плагина - install, update, refresh и autoupdate, - а не только при первом добавлении.strictKnownMarketplacesдоступен только в managed-режиме.
Пример blockedMarketplaces с regex по host/path (v2.1.119):
headersHelper маркетплейса (v2.1.238)
Маркетплейс типа url - или отдельная запись каталога - может задать команду headersHelper, которая формирует HTTP-заголовки для загрузки каталога и любых архивов того же origin. Так приватный маркетплейс, стоящий за сервисом выдачи токенов, проходит аутентификацию без статического секрета в конфиге.
Helper записи каталога запускается только при установке или обновлении и только после того, как его команда была показана пользователю: claude plugin install и claude plugin update перед запуском выводят приглашение [y/N]. Для автоматизации передайте -y, чтобы подтвердить без запроса.
Дополнительные возможности маркетплейса
- Строка поиска по маркетплейсу (v2.1.172): при просмотре плагинов маркетплейса в
/pluginстрока поиска позволяет фильтровать их по имени или ключевому слову - удобно для крупных маркетплейсов, где пролистывать весь список долго. - Таймаут git по умолчанию: увеличен с 30 до 120 секунд для больших репозиториев с плагинами.
- Кастомные npm-реестры: плагины могут указывать собственные URL npm-реестров для разрешения зависимостей.
- Закрепление версий: фиксируйте плагины на конкретных версиях для воспроизводимых окружений.
- Прогноз стоимости контекста в панели просмотра (v2.1.143): обозреватель маркетплейса
/pluginпоказывает для каждого плагина прогнозируемый расход context-token за ход - сумму по всегда загружаемым skills, hooks и дескрипторам MCP-серверов. Используйте эту оценку, чтобы прикинуть влияние плагина ещё до установки. Тот же прогноз доступен после установки черезclaude plugin details <name>.
Пример строки в списке со столбцом стоимости:
Схема описания marketplace
Маркетплейсы плагинов описываются в файле .claude-plugin/marketplace.json:
| Field | Required | Description |
|---|---|---|
name | Yes | Marketplace name in kebab-case |
owner | Yes | Organization or user who maintains the marketplace |
plugins | Yes | Array of plugin entries |
plugins[].name | Yes | Plugin name (kebab-case) |
plugins[].source | Yes | Plugin source (path string or source object) |
plugins[].description | No | Brief plugin description |
plugins[].version | No | Semantic version string |
plugins[].author | No | Plugin author name |
plugins[].renames | No | Maps a former plugin name to its current name (or null if removed) so users migrate automatically (v2.1.193) |
plugins[].displayName | No | Human-readable name shown in the UI; not used for lookup (v2.1.143) |
plugins[].defaultEnabled | No | If false, the plugin installs disabled until the user opts in (v2.1.154) |
Типы источников плагинов
Плагины можно загружать из различных источников:
| Source | Syntax | Example |
|---|---|---|
| Relative path | String path | "./plugins/my-plugin" |
| GitHub | { "source": "github", "repo": "owner/repo" } | { "source": "github", "repo": "acme/lint-plugin", "ref": "v1.0" } |
| Git URL | { "source": "url", "url": "..." } | { "source": "url", "url": "https://git.internal/plugin.git" } |
| Git subdirectory | { "source": "git-subdir", "url": "...", "path": "..." } | { "source": "git-subdir", "url": "https://github.com/org/monorepo.git", "path": "packages/plugin" } |
| npm | { "source": "npm", "package": "..." } | { "source": "npm", "package": "@acme/claude-plugin", "version": "^2.0" } |
| pip | { "source": "pip", "package": "..." } | { "source": "pip", "package": "claude-data-plugin", "version": ">=1.0" } |
| Archive (v2.1.224+) | { "source": "archive", "url": "..." } | { "source": "archive", "url": "https://cdn.example.com/lint-plugin-1.2.0.zip", "sha256": "…" } |
| Command (v2.1.229+) | { "source": "command", "command": "..." } | { "source": "command", "command": "acme-plugin-resolver --print-dir" } |
Источники GitHub и git поддерживают необязательные поля ref (branch/tag) и sha (commit hash) для фиксации версии. |
Короткие имена источников и metadata.pluginRoot (v2.1.239): поле metadata.pluginRoot маркетплейса теперь действительно учитывается - короткое имя источника плагина в каталоге разрешается в поддиректорию этого корня, и больше не нужно прописывать полный относительный путь в каждой записи.
Skills, синхронизированные из claude.ai (v2.1.239): плагины, подтянутые из claude.ai, отображаются как name@synced. Обращайтесь к ним именно в таком виде: claude plugin enable <name>@synced и claude plugin disable <name>@synced. Синхронизированный плагин никогда не перекрывает установленный плагин с тем же именем - они сосуществуют, различаясь суффиксом @synced.
Источник archive (v2.1.224+)
Установка плагина из zip-архива по HTTPS - без git clone и без npm install.
| Field | Required | Notes |
|---|---|---|
url | Yes | HTTPS only. http://, loopback, link-local, and cloud-metadata hosts are rejected - and re-checked on every redirect hop, so a redirect cannot smuggle you onto a blocked host |
sha256 | No | 64 hex characters. On mismatch the install fails with Plugin archive integrity check failed |
Размер архивов ограничен 256 MiB. Фиксируйте sha256 для всего, что вы не собирали сами, - иначе тот, кто контролирует URL, контролирует и код, выполняемый в вашей сессии. |
Источник command (v2.1.229+)
Позвольте локально установленному инструменту самому определить, где будет размещён плагин. Удобно, когда внутренний пакетный менеджер уже умеет скачивать и раскладывать ваши плагины.
Контракт строгий: команда должна вывести в stdout ровно одну строку и завершиться с кодом 0. Эта строка - абсолютный путь к каталогу, содержащему плагин целиком.
| Field | Required | Default | Notes |
|---|---|---|---|
command | Yes | - | The command to run |
timeout | No | 60 (seconds) | Maximum 600 |
mode | No | "copy" | "copy" snapshots the directory; "link" symlinks it, so edits are live |
| Команда повторно разрешается в каждой сессии, и результат применяется без перезапуска. | |||
Организации могут полностью запретить этот тип источника с помощью disableCommandPluginSources. |
Список зарезервированных имён marketplace теперь включает first-party-plugins и healthcare (v2.1.205) - они закреплены за официальным использованием и не могут быть заняты пользовательским marketplace.
Способы распространения
GitHub (рекомендуется):
Другие git-сервисы (требуется полный URL):
URL репозиториев gitlab.com без указания схемы - включая вложенные подгруппы - клонируются так же, как URL github.com (v2.1.232). Схема обязательна: начиная с v2.1.196, gitlab.example.com/team/plugins без схемы отклоняется как некорректное сокращение вида owner/repo, поэтому используйте полную форму https://gitlab.com/company/plugins.git. В v2.1.232 также добавлено маскирование секретов из семейства токенов GitLab, а CLI glab получил ту же изоляцию в sandbox и защиту путей к учётным данным, что уже были у gh.
Приватные репозитории: поддерживаются через git credential helpers или токены в переменных окружения. У пользователя должен быть доступ на чтение к репозиторию.
Публикация в официальном marketplace: отправляйте плагины в курируемый Anthropic marketplace для более широкого распространения через claude.ai/settings/plugins/submit или platform.claude.com/plugins/submit.
Управление marketplace
Важно: команда
marketplace updateлишь обновляет каталог плагинов (список доступных для установки). Она НЕ обновляет уже установленные плагины. Для обновления конкретных установленных плагинов используйтеplugin update <name>.
Строгий режим
Управление тем, как описания из marketplace взаимодействуют с локальными файлами plugin.json:
| Setting | Behavior |
|---|---|
strict: true (default) | Local plugin.json is authoritative; marketplace entry supplements it |
strict: false | Marketplace entry is the entire plugin definition |
Ограничения на уровне организации с strictKnownMarketplaces: | |
| Value | Effect |
| ------- | -------- |
| Not set | No restrictions - users can add any marketplace |
Empty array [] | Lockdown - no marketplaces allowed |
| Array of patterns | Allowlist - only matching marketplaces can be added |
Внимание: В строгом режиме с
strictKnownMarketplacesпользователи могут устанавливать плагины только из маркетплейсов, включённых в белый список. Это удобно для корпоративных сред, где требуется контролируемое распространение плагинов.
Установка плагинов и жизненный цикл
graph LR A["Discover"] -->|Browse| B["Marketplace"] B -->|Select| C["Plugin Page"] C -->|View| D["Components"] D -->|Install| E["/plugin install"] E -->|Extract| F["Configure"] F -->|Activate| G["Use"] G -->|Check| H["Update"] H -->|Available| G G -->|Done| I["Disable"] I -->|Later| J["Enable"] J -->|Back| GСравнение возможностей плагинов
| Feature | Slash Command | Skill | Subagent | Plugin |
|---|---|---|---|---|
| Installation | Manual copy | Manual copy | Manual config | One command |
| Setup Time | 5 minutes | 10 minutes | 15 minutes | 2 minutes |
| Bundling | Single file | Single file | Single file | Multiple |
| Versioning | Manual | Manual | Manual | Automatic |
| Team Sharing | Copy file | Copy file | Copy file | Install ID |
| Updates | Manual | Manual | Manual | Auto-available |
| Dependencies | None | None | None | May include |
| Marketplace | No | No | No | Yes |
| Distribution | Repository | Repository | Repository | Marketplace |
CLI-команды для плагинов
Все операции с плагинами доступны в виде CLI-команд:
Псевдонимы: claude plugin new - для init, remove / rm - для uninstall, ls - для list, autoremove - для prune.
Полезные флаги:
| Command | Flag | Purpose |
|---|---|---|
plugin init | --with <components...> | Scaffold specific component folders: skills, agents, hooks, mcp, lsp, output-style, channel |
plugin init | -f, --force | Overwrite an existing .claude-plugin/ directory |
plugin install | --config <key=value> | Set a userConfig option at install time |
plugin install | -y, --yes | Accept commands without a confirmation prompt |
plugin list | --available | Also list plugins available from marketplaces (requires --json) |
plugin tag | --push | Push the tag to the remote after creating it |
plugin tag | --dry-run | Print what would be tagged without creating the tag |
plugin validate | --strict | Treat warnings as errors |
plugin validate | --json | Emit a machine-readable validation report (v2.1.259+) |
Пример: claude plugin tag ./my-plugin принимает путь к плагину (а не строку с версией). Команда создаёт git-тег вида {name}--v{version} на основе plugin.json, проверяя согласованность plugin.json с содержащей его записью marketplace, и является рекомендуемым способом выпуска релизов плагинов для распространения. |
claude plugin prune полезна после установки или удаления marketplace-плагинов, которые притянули собственные зависимости: она удаляет автоматически установленные плагины, чей родительский плагин был впоследствии удалён. plugin uninstall --prune выполняет тот же каскад за один шаг.
Контроль зависимостей (v2.1.143):
claude plugin disable <name>отклоняет операцию, если другой включённый плагин по-прежнему зависит от целевого (иначе граф зависимостей был бы нарушен).claude plugin enable <name>принудительно включает транзитивные зависимости после одного общего подтверждения, вместо того чтобы запрашивать включение для каждой по отдельности. Используйтеclaude plugin prune, чтобы вычистить зависимости, зависимые от которых плагины были впоследствии удалены.
claude plugin details <name> (v2.1.139+)
claude plugin details <name> выводит полный перечень компонентов плагина - skills, hooks, MCP servers, LSP servers, фоновые мониторы, slash-команды - а также прогнозируемую стоимость в токенах на ход (и на вызов). Используйте её, чтобы оценить «вес» плагина перед внедрением, особенно на моделях с ограниченным контекстом.
Пример вывода (сокращённо):
LSP-серверы были добавлены на панель сведений в v2.1.142. См. также прогнозируемую стоимость контекста на панели обзора маркетплейса (v2.1.143), описанную в разделе Plugin Marketplace.
Способы установки
Из Marketplace
Вступает ли изменение в силу сразу? Начиная с v2.1.221 - как правило, да. Обратите внимание на последнюю строку в сводке установки:
| Install summary says | What it means |
|---|---|
Plugin is now active. | Claude Code activated the plugin as part of the install. Nothing more to do. |
Run /reload-plugins to activate. | The plugin is installed but not live yet - either activating it would have invalidated the prompt cache, or the activation attempt failed. |
| До версии v2.1.221 установка плагина не применялась к текущей сессии до тех пор, пока вы не выполняли | |
/reload-plugins или не перезапускали Claude Code, поэтому в старых руководствах этот шаг описан как обязательный. |
Включение и отключение (с автоопределением области действия)
Интерфейс /plugin показывает неиспользуемые плагины, чтобы их можно было удалить (v2.1.187+). Включение и отключение также работают в случаях, когда поле name в plugin.json плагина отличается от имени его записи в маркетплейсе (v2.1.195+).
Просмотр списка установленных плагинов (v2.1.163)
Проверьте, какие плагины активны в текущей сессии:
Локальный плагин (для разработки)
Из Git-репозитория
Автообновление
Claude Code может автоматически обновлять маркетплейсы и установленные из них плагины при запуске.
| Marketplace Type | Auto-Update Default | How to Toggle |
|---|---|---|
Official (claude-plugins-official) | ✅ Enabled | /plugin → Marketplaces → Select |
| Third-party / Local | ❌ Disabled | Same UI path |
| При запуске автообновления Claude Code: |
- Обновляет каталог marketplace
- Обновляет установленные плагины до последних версий
- Сообщает результат по каждому плагину:
Plugin is now active.- если Claude Code активировал его в рамках обновления, либоRun /reload-plugins to activate.- если активация не была выполнена
Переменные окружения
| Variable | Effect |
|---|---|
DISABLE_AUTOUPDATER=1 | Disable all auto-updates (Claude Code + plugins) |
DISABLE_AUTOUPDATER=1 + FORCE_AUTOUPDATE_PLUGINS=1 | Keep plugin updates, disable Claude Code updates |
CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 | (v2.1.141+) Force claude plugin install to clone GitHub plugin sources over HTTPS instead of SSH, even when an SSH remote is available. Use in CI runners or containers without SSH keys. |
Загрузка плагинов в удалённых сессиях (v2.1.179): в версии v2.1.179 ускорена загрузка плагинов в удалённых сессиях, поэтому при подключении к такой сессии плагины становятся доступны быстрее.
Когда стоит создавать плагин
graph TD A["Should I create a plugin?"] A -->|Need multiple components| B{"Multiple commands<br/>or subagents<br/>or MCPs?"} B -->|Yes| C["✅ Create Plugin"] B -->|No| D["Use Individual Feature"] A -->|Team workflow| E{"Share with<br/>team?"} E -->|Yes| C E -->|No| F["Keep as Local Setup"] A -->|Complex setup| G{"Needs auto<br/>configuration?"} G -->|Yes| C G -->|No| DСценарии использования плагинов
| Use Case | Recommendation | Why |
|---|---|---|
| Team Onboarding | ✅ Use Plugin | Instant setup, all configurations |
| Framework Setup | ✅ Use Plugin | Bundles framework-specific commands |
| Enterprise Standards | ✅ Use Plugin | Central distribution, version control |
| Quick Task Automation | ❌ Use Command | Overkill complexity |
| Single Domain Expertise | ❌ Use Skill | Too heavy, use skill instead |
| Specialized Analysis | ❌ Use Subagent | Create manually or use skill |
| Live Data Access | ❌ Use MCP | Standalone, don't bundle |
Тестирование плагина
Перед публикацией протестируйте плагин локально с помощью CLI-флага --plugin-dir (его можно указывать несколько раз для подключения нескольких плагинов):
Это запустит Claude Code с загруженным плагином и позволит:
- убедиться, что все slash-команды доступны;
- проверить корректность работы subagents и агентов;
- подтвердить, что MCP-серверы подключаются без ошибок;
- проверить выполнение hooks;
- проверить настройки LSP-серверов;
- выявить возможные ошибки конфигурации.
Hot-Reload
Плагины поддерживают hot-reload в процессе разработки. При изменении файлов плагина Claude Code способен автоматически отслеживать изменения. Также можно принудительно выполнить перезагрузку с помощью:
Это повторно считывает все манифесты плагинов, команды, агенты, skills, hooks и конфигурации MCP/LSP без перезапуска сессии.
Управляемые настройки для плагинов
Администраторы могут управлять поведением плагинов в рамках всей организации с помощью managed settings:
| Setting | Description |
|---|---|
enabledPlugins | Allowlist of plugins that are enabled by default |
deniedPlugins | Blocklist of plugins that cannot be installed |
extraKnownMarketplaces | Add additional marketplace sources beyond the defaults |
strictKnownMarketplaces | Restrict which marketplaces users are allowed to add (managed-only; enforced on every plugin lifecycle event since v2.1.117) |
blockedMarketplaces | Blocklist of marketplaces; enforced on every plugin lifecycle event since v2.1.117; supports hostPattern / pathPattern regex fields since v2.1.119 |
allowedChannelPlugins | Control which plugins are permitted per release channel |
disableCommandPluginSources | Block the command plugin source type org-wide (v2.1.229+) |
Более удобные псевдонимы (v2.1.232):
additionalMarketplacesпринимается как алиас дляextraKnownMarketplaces, аallowedMarketplaces- дляstrictKnownMarketplaces. Источник - changelog: об этих алиасах объявлено в changelog v2.1.232, однако в официальном справочнике настроек они пока не упомянуты. Канонические ключи можно спокойно продолжать использовать.
Wildcard'ы для владельца (v2.1.223+): запись вида
"owner/*"разрешает или блокирует все marketplace-репозитории одного GitHub-владельца. Принимается только вstrictKnownMarketplacesиblockedMarketplaces. Во всех остальных местах, где встречается источникgithub, - включаяextraKnownMarketplacesи/plugin marketplace add- значениеrepoдолжно указывать на конкретный репозиторий.
Эти настройки можно применять на уровне организации через управляемые конфигурационные файлы; они имеют приоритет над пользовательскими настройками.
Безопасность плагинов
Subagent'ы плагинов выполняются в изолированном sandbox с ограничениями. Следующие ключи frontmatter запрещены в определениях subagent'ов плагина:
hooks- subagent'ы не могут регистрировать обработчики событийmcpServers- subagent'ы не могут настраивать MCP-серверыpermissionMode- subagent'ы не могут переопределять модель разрешений
Это гарантирует, что плагины не смогут повысить привилегии или изменить host-окружение за пределами заявленной области действия.
Публикация плагина
Шаги публикации:
- Создайте структуру плагина со всеми компонентами
- Напишите манифест
.claude-plugin/plugin.json - Создайте
README.mdс документацией - Протестируйте локально командой
claude --plugin-dir ./my-plugin - Поставьте tag на релиз с помощью
claude plugin tag ./my-plugin(v2.1.118+) - команда принимает путь к плагину и создаёт git-тег вида{name}--v{version}на основеplugin.json - Отправьте плагин в marketplace
- Пройдите review и получите одобрение
- Плагин публикуется в marketplace
- Пользователи смогут установить его одной командой
Пример заявки на публикацию:
Features
✅ Security analysis ✅ Test coverage checking ✅ Documentation verification ✅ Code quality assessment ✅ Performance impact analysis
Usage
Requirements
- Claude Code 2.1+
- GitHub access
- CodeQL (optional)
Рекомендации
Что делать ✅
- Используйте понятные, описательные имена плагинов
- Включайте подробный README
- Корректно версионируйте плагин (semver)
- Тестируйте все компоненты вместе
- Чётко документируйте требования
- Приводите примеры использования
- Реализуйте обработку ошибок
- Проставляйте подходящие теги для поиска
- Поддерживайте обратную совместимость
- Делайте плагины сфокусированными и целостными
- Покрывайте функциональность тестами
- Документируйте все зависимости
Чего не делать ❌
- Не объединяйте несвязанные возможности в одном плагине
- Не зашивайте учётные данные в код
- Не пропускайте тестирование
- Не забывайте про документацию
- Не создавайте дублирующие плагины
- Не игнорируйте версионирование
- Не усложняйте зависимости между компонентами
- Не забывайте корректно обрабатывать ошибки
Инструкции по установке
Установка из Marketplace
-
Просмотр доступных плагинов:
-
Просмотр информации о плагине:
-
Установка плагина:
Установка из локального пути
Установка из GitHub
Список установленных плагинов
Обновление плагина
Используйте вариант из CLI - именно он описан в документации по команде plugin update и именно на него ссылается сам Claude Code, когда доступно обновление:
Отключение/включение плагина
Удаление плагина
Связанные концепции
Следующие возможности Claude Code работают совместно с плагинами:
- Slash-команды - отдельные команды, входящие в состав плагинов
- Memory - постоянный контекст для плагинов
- Skills - предметная экспертиза, которую можно упаковать в плагины
- Субагенты - специализированные агенты, включаемые в качестве компонентов плагина
- MCP-серверы - интеграции по протоколу Model Context Protocol, поставляемые в составе плагинов
- Hooks - обработчики событий, запускающие сценарии работы плагинов
Полный пример рабочего процесса
Полный рабочий процесс плагина PR Review
Устранение неполадок
Плагин не устанавливается
- Проверьте совместимость версии Claude Code:
/version - Проверьте синтаксис
plugin.jsonс помощью JSON-валидатора - Проверьте интернет-соединение (для удалённых плагинов)
- Проверьте права доступа:
ls -la plugin/
Компоненты не загружаются
- Убедитесь, что пути в
plugin.jsonсоответствуют фактической структуре каталогов - Проверьте права доступа к файлам:
chmod +x scripts/ - Проверьте синтаксис файла компонента
- Просмотрите список компонентов:
claude plugin details plugin-name
Не удалось подключиться к MCP
- Убедитесь, что переменные окружения заданы корректно
- Проверьте установку и работоспособность MCP-сервера
- Протестируйте подключение к MCP отдельно с помощью
/mcp test - Проверьте конфигурацию MCP в каталоге
mcp/
Команды недоступны после установки
- Убедитесь, что плагин установлен успешно:
/plugin list - Проверьте, включён ли плагин:
/plugin list --enabled - Проверьте, активен ли он уже - см. пояснения к сводке установки в разделе Методы установки: сообщение
Plugin is now active.не требует действий, аRun /reload-plugins to activate.означает, что нужно выполнить указанную команду (перезапуск не требуется) - Проверьте, нет ли конфликтов имён с существующими командами
Проблемы с выполнением hooks
- Убедитесь, что у файлов hooks выставлены корректные права доступа
- Проверьте синтаксис hooks и имена событий
- Изучите логи hooks - там будут подробности об ошибках
- По возможности протестируйте hooks вручную
Дополнительные материалы
- Официальная документация по плагинам
- Поиск плагинов
- Маркетплейсы плагинов
- Справочник по плагинам
- Справочник по MCP-серверам
- Руководство по настройке subagent
- Справочник по системе hooks
Последнее обновление: 6 сентября 2026 г. Версия Claude Code: 2.1.263 Источники:
- https://code.claude.com/docs/en/plugins
- https://code.claude.com/docs/en/plugins-reference
- https://code.claude.com/docs/en/changelog#2-1-172
- https://code.claude.com/docs/en/changelog
- https://code.claude.com/docs/en/commands
- https://code.claude.com/docs/en/plugin-marketplaces
- https://code.claude.com/docs/en/discover-plugins.md
- https://github.com/anthropics/claude-code/releases/tag/v2.1.117
- https://github.com/anthropics/claude-code/releases/tag/v2.1.118
- https://github.com/anthropics/claude-code/releases/tag/v2.1.131
- https://github.com/anthropics/claude-code/releases/tag/v2.1.138
- https://github.com/anthropics/claude-code/releases/tag/v2.1.139
- https://github.com/anthropics/claude-code/releases/tag/v2.1.141
- https://github.com/anthropics/claude-code/releases/tag/v2.1.142
- https://github.com/anthropics/claude-code/releases/tag/v2.1.143
- https://code.claude.com/docs/en/cli-reference
- https://code.claude.com/docs/en/model-config
- https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md Совместимые модели: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5