Исправьте ошибки плагинов в Claude Code. Найдите точное сообщение об ошибке, сгруппированное по этапам от запуска /plugin до установки и политики организации.
На этой странице перечислены сообщения об ошибках и симптомы для плагинов Claude Code и для маркетплейсов — каталогов, из которых Claude Code устанавливает плагины. Каждая запись содержит причину, одно решение и то, что вы видите после применения исправления.
Если сообщение содержит имя плагина или маркетплейса, запись показывает заполнитель, такой как <name>.
Используйте эту страницу, устанавливаете ли вы плагины, создаёте их, размещаете маркетплейс или администрируете плагины для организации.
Найдите точное сообщение, которое вы видели. Каждое сообщение указано под этапом, который его создаёт, что не всегда совпадает с командой, которую вы запустили. Например, установка может завершиться ошибкой, потому что маркетплейс отсутствует, поэтому это сообщение находится в разделе Добавить маркетплейс.
Найдите, где запускается `/plugin`
/plugin — это команда, которую вы вводите в работающем сеансе терминала Claude Code, и она открывает интерактивную панель. Записи в этом разделе охватывают места, где вы можете её ввести, но она не может запуститься, и написания команд, которые не существуют.
`/plugin isn't available in this environment`
Вы ввели /plugin где-то вне сеанса терминала Claude Code, и Claude ответил этой строкой вместо открытия чего-либо.
Вы получаете этот ответ в сеансе, у которого нет терминала для отрисовки панели /plugin: неинтерактивный режим с claude -p, Agent SDK, вкладка Code в приложении Claude для рабочего стола, панель расширения VS Code и браузер на claude.ai/code.
В панели расширения VS Code только строка /plugin с чем-то после неё, такая как /plugin install <plugin>@<marketplace>, получает этот ответ. /plugin или /plugins, введённые отдельно, открывают диалог Управление плагинами.
Установите плагин с поверхности, на которой вы находитесь:
Приложение Claude для рабочего стола, локальный или SSH-сеанс: нажмите кнопку + рядом с приглашением, затем Плагины, затем Добавить плагин, чтобы открыть браузер плагинов
Расширение VS Code: используйте вкладку VS Code в разделе Установить плагин
Claude Code в веб-браузере или облачный сеанс рабочего стола: облачный сеанс не имеет браузера плагинов. См. вкладку Cloud session в разделе Установить плагин, чтобы узнать, что загружает облачный сеанс
Терминал, к которому у вас есть доступ: запустите claude и введите /plugin там, или запустите claude plugin install <plugin>@<marketplace> в вашей оболочке без запуска сеанса
Когда установка терминала работает, /plugin выводит сводку установки, которая начинается с ✓ Installed <plugin>. и claude plugin install выводит Successfully installed plugin: <plugin>@<marketplace>.
`zsh: no such file or directory: /plugin`
Вы ввели /plugin ... в приглашение оболочки, и оболочка сообщила, что файла с именем /plugin не существует. Bash сообщает bash: /plugin: No such file or directory.
/plugin — это команда, которую вы вводите в сеансе Claude Code, а не в приглашение оболочки. Запустите сеанс и введите ту же команду там:
claude
Затем в приглашении Claude Code:
/plugin install <plugin>@<marketplace>
Успешная установка выводит сводку, которая начинается с ✓ Installed <plugin>. Если сама установка затем не пройдёт, её сообщение находится в разделе Добавить маркетплейс или Установить плагин.
Чтобы установить из оболочки без запуска сеанса, запустите claude plugin install <plugin>@<marketplace>.
`The term '/plugin' is not recognized as the name of a cmdlet`
Вы ввели /plugin ... в приглашение PowerShell, и /plugin — это команда Claude Code, а не программа. Bash и Zsh сообщают свою форму этой ошибки.
Используйте вместо этого одно из следующих:
Запустите claude, затем введите /plugin в приглашение Claude Code
Запустите claude plugin install <plugin>@<marketplace> в PowerShell без запуска сеанса
`claude: command not found` после `claude plugin ...`
Вы запустили claude plugin install ... в вашей оболочке, и оболочка вообще не смогла найти claude. На Windows сообщение: 'claude' is not recognized as the name of a cmdlet или 'claude' is not recognized as an internal or external command.
Причина не в команде плагина. Либо Claude Code не установлен, либо его каталог установки не находится в вашем PATH в этой оболочке. Следуйте command not found: claude после установки, затем повторите команду плагина.
`Unknown command` и написания команд, которые не существуют
Вы ввели команду плагина, которую видели где-то, и получили Unknown command: /<name> в сеансе, или error: unknown command '<name>' или error: unknown option '<flag>' из двоичного файла claude в вашей оболочке.
Используются несколько написаний команд, которые Claude Code не имеет. Таблица ниже сопоставляет каждое с реальной командой. Справочник команд плагинов перечисляет все подкоманды и флаги.
Вы ввели
Что говорит Claude Code
Используйте вместо этого
claude plugin add <source>
error: unknown command 'add'
claude plugin marketplace add <source> для добавления маркетплейса или claude plugin install <plugin>@<marketplace> для установки плагина
claude plugin install <plugin> --project
error: unknown option '--project'
claude plugin install <plugin>@<marketplace> --scope project
/install <plugin>
Unknown command: /install
/plugin install <plugin>@<marketplace>
/plugin add <source>
Панель /plugin открывается на вкладке Discover
/plugin marketplace add <source>
marketplace.anthropic.com как источник
Invalid marketplace source format. Try: owner/repo, https://..., or ./path
anthropics/claude-plugins-official для официального маркетплейса
Эти написания выглядят неправильно, но работают:
claude plugins — это псевдоним claude plugin
claude plugin remove — это псевдоним claude plugin uninstall
/plugins и /marketplace в сеансе открывают ту же панель, что и /plugin
Добавить маркетплейс
Маркетплейс — это каталог, который вы добавляете в Claude Code из репозитория git, URL или локального пути. Эти записи охватывают сообщения, которые вы получаете, когда добавление не удаётся или более позднее обновление не удаётся.
`Marketplace "claude-plugins-official" not found`
Вы запустили /plugin install <plugin>@claude-plugins-official в сеансе, и Claude Code сообщил, что у него нет маркетплейса с таким именем.
Официальный маркетплейс ещё не зарегистрирован на этой машине. Claude Code обычно регистрирует его самостоятельно при первом запуске интерактивного сеанса терминала. Он ещё не запустился, если вы использовали Claude Code только через расширение VS Code, и он пропускает или откладывает этот шаг:
Когда политика блокирует источник
Когда установлена переменная CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL
После неудачной попытки, которая ждёт повтора
Команды оболочки claude plugin никогда не регистрируют его для вас.
Та же строка также появляется на вкладке Errors в /plugin, списке сбоев загрузки панели, когда плагин, указанный в ваших параметрах, называет маркетплейс, который вы не добавили.
`Marketplace "" not found`
Вы запустили /plugin install <plugin>@<name> в сеансе, часто из строки установки, которую кто-то вам отправил, и Claude Code сообщил, что у него нет маркетплейса с таким именем.
Если имя начинается с claudeai-, маркетплейс размещён на claude.ai, и вы добавляете его по имени из вашей оболочки с помощью claude plugin marketplace add --claudeai <name>. См. Добавить маркетплейс с claude.ai.
Для любого другого имени строка установки называет маркетплейс, но не говорит, где он размещён, и Claude Code не имеет индекса для поиска имени маркетплейса. Попросите у того, кто отправил строку, источник маркетплейса, который является GitHub owner/repo, URL git или путём. Затем добавьте маркетплейс и запустите строку установки снова.
Если вы уже добавили маркетплейс, проверьте написание в /plugin marketplace list.
`Invalid marketplace source format`
Вы запустили /plugin marketplace add <source> или claude plugin marketplace add <source>, и Claude Code ответил Invalid marketplace source format. Try: owner/repo, https://..., or ./path.
Claude Code принимает источник в одной из этих форм:
Сокращение GitHub owner/repo
URL https:// или http://
SSH URL user@host:path
Локальный путь, начинающийся с ./, ../, / или ~
Простое имя, такое как claude-plugins-official, не соответствует ни одному из них. Также не соответствует простое имя хоста, такое как marketplace.anthropic.com.
Claude Code выводит Successfully added marketplace: <name>, когда добавление работает.
`'' is not a valid GitHub owner/repo shorthand`
Вы передали источник с косой чертой, который не является owner/repo, такой как github.com/owner/repo или путь gitlab.example.com/group/project. Claude Code отказал ему с этим сообщением и списком принятых форм.
Сокращение owner/repo предназначено только для GitHub и должно следовать правилам именования GitHub, поэтому имя хоста или дополнительный сегмент пути не работает. Передайте источник в форме, которая соответствует тому, где размещён маркетплейс:
Репозиторий на любом хосте: полный URL клонирования
Размещённый marketplace.json: его URL https://
Локальная копия: ./path или абсолютный путь
Например, чтобы добавить официальный маркетплейс по его URL клонирования, в сеансе:
Вы передали локальный путь в marketplace add, и ничего не существует по этому пути. Относительный путь разрешается относительно вашего текущего каталога.
Проверьте разрешённый путь в сообщении. Затем запустите команду из каталога, с которого начинается относительный путь, или передайте абсолютный путь к каталогу маркетплейса. Успешное добавление выводит Successfully added marketplace: <name>.
Claude Code принимает каталог, содержащий .claude-plugin/marketplace.json, или путь к файлу .json. Путь к любому другому файлу не работает с File path must point to a .json file (marketplace.json).
`Marketplace file not found at /.claude-plugin/marketplace.json`
Claude Code клонировал или загрузил маркетплейс, но не нашёл marketplace.json по ожидаемому пути внутри него. Команда добавления сообщает об этом как Failed to add marketplace: Marketplace file not found at ....
Расположение по умолчанию — .claude-plugin/marketplace.json в корне репозитория, и справочник маркетплейса перечисляет принятые расположения.
Исправление отличается для владельца и для всех остальных:
Вы владеете маркетплейсом: поместите файл в это расположение и повторно добавьте маркетплейс
Кто-то другой размещает его: попросите у владельца точный источник, который они публикуют
`SSH authentication failed` или `HTTPS authentication failed`
Вы добавили или обновили маркетплейс из репозитория git, и клонирование не удалось с Failed to clone marketplace repository:, за которым следует одна из этих строк.
Сначала проверьте сам репозиторий: неправильный owner/repo, репозиторий, который не существует, или приватный репозиторий, который вы не можете видеть, также заканчивается этим сообщением. Откройте URL репозитория в вашем браузере или запустите git ls-remote <url> в вашем терминале, чтобы подтвердить, что он существует и у вас есть доступ.
Если репозиторий правильный, причина — учётные данные. Claude Code запускает git с отключёнными интерактивными приглашениями, поэтому он не может попросить вас пароль, парольную фразу ключа или учётные данные так, как это делал бы ваш терминал. Если git нужно приглашение, вы видите fatal: Cannot prompt because user interactivity has been disabled или terminal prompts disabled в исходной ошибке. Работают только учётные данные, которые уже работают неинтерактивно:
SSH: ssh -T git@<host> должен успешно выполниться без запроса парольной фразы, и хост должен уже находиться в known_hosts
HTTPS: ваш помощник учётных данных должен содержать токен для хоста. Для GitHub запустите gh auth login и gh auth setup-git. Для другого хоста сохраните личный токен доступа в помощнике учётных данных git. Протестируйте с помощью git ls-remote <url>
Как только git ls-remote успешно выполнится в вашем терминале без приглашения, запустите добавление или обновление снова. Успешное добавление выводит Successfully added marketplace: <name>. Успешное обновление выводит Successfully updated marketplace: <name> из вашей оболочки или ✔ Updated 1 marketplace в сеансе.
Чтобы Claude Code пропустил SSH для источников GitHub owner/repo, установите CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1. Без этого Claude Code клонирует эти источники через SSH, когда SSH-ключ для github.com выглядит настроенным, и возвращается к HTTPS, когда клонирование SSH не удаётся.
Вы добавили маркетплейс через SSH с хоста, к которому вы никогда не подключались, и клонирование не удалось с этой строкой и подсказкой ssh -T git@<host>. Для хоста, чей ключ изменился, сообщение: SSH host key has changed с подсказкой ssh-keygen -R <host> вместо этого.
Claude Code клонирует с StrictHostKeyChecking=yes, поэтому он отказывает хосту, чей ключ вы ещё не приняли, вместо автоматического принятия ключа. Подключитесь один раз из вашего терминала, чтобы принять отпечаток, затем повторите попытку:
ssh -T git@github.com
Для публичного репозитория добавьте маркетплейс по его URL https:// вместо этого, чтобы полностью избежать SSH.
`Command 'git' not found or is in an unsafe location`
На Windows вы добавили маркетплейс, и Claude Code сообщил Failed to clone marketplace repository: Command 'git' not found or is in an unsafe location (current directory).
Claude Code ищет git в вашем PATH и отказывается запускать найденный только в текущем каталоге. Чтобы исправить это, установите Git и повторите попытку:
1
Установить Git для Windows
Установите Git для Windows, чтобы git находился в вашем PATH.
2
Откройте новый терминал
Откройте новый терминал, чтобы обновлённый PATH применился.
3
Подтвердите, что git работает
Подтвердите, что git --version выводит версию.
4
Повторите добавление
Запустите команду marketplace add снова.
`Git clone timed out after 120s`
Вы добавили или обновили маркетплейс, и это не удалось с Git clone timed out after 120s, за которым следует подсказка установить CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS.
Клонирование маркетплейса и повторное клонирование для его обновления получает 120 секунд по умолчанию. Для большого репозитория или медленного соединения повысьте лимит. Значение указано в миллисекундах:
export CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS=300000
$env:CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS = "300000"
Затем повторите попытку в той же оболочке.
Если репозиторий — это монорепо, ограничьте проверку каталогами, которые вы называете с помощью claude plugin marketplace add <source> --sparse <paths>.
Обновления маркетплейса продолжают не работать в автономном режиме
Вы работаете в среде, где хост git маркетплейса недоступен, и каждый сеанс повторяет неудачное обновление в фоне. Ваша существующая копия маркетплейса остаётся на месте, и запуск не задерживается.
Каждый сеанс для маркетплейса с включённым автообновлением Claude Code проверяет хост git маркетплейса на предмет новых коммитов в фоне. Когда эта проверка не может достичь хоста, она пытается клонировать маркетплейс снова, и в автономном режиме это клонирование также не удаётся.
Установите эту переменную, чтобы пропустить попытку повторного клонирования и продолжить использовать существующую копию, когда проверка не может достичь хоста:
С установленной переменной Claude Code пропускает повторное клонирование только для копии, которая уже содержит .claude-plugin/marketplace.json. Маркетплейс, который никогда не был клонирован или чьё клонирование остановилось на полпути, всё ещё получает попытку клонирования, поэтому добавьте его один раз в сети.
Для полностью автономного развёртывания вместо этого предварительно заполните каталог плагинов во время сборки образа с помощью CLAUDE_CODE_PLUGIN_SEED_DIR, следуя Seed контейнеры и CI.
Добавление маркетплейса не работает на хосте GitHub Enterprise Server
Вы добавили маркетплейс с URL GitHub Enterprise Server (GHES) и получили ошибку политики, или вы добавили его с claude.ai и получили ошибку доступа GitHub.
Оба случая находятся на странице GHES:
Ошибка политики означает, что ваша организация ограничила источники маркетплейса, и администратор должен добавить hostPattern для хоста
Вы добавили маркетплейс и запустили установку, и установка остановилась с сообщением вместо установки чего-либо. Эти записи охватывают эти сообщения. Они также охватывают связанные сообщения, которые появляются позже на вкладке Errors в /plugin или как пустая вкладка Discover, когда плагин или его маркетплейс не могут быть найдены, прочитаны или доверены.
`Plugin "" not found in marketplace ""`
Вы запустили /plugin install <name>@<marketplace> или claude plugin install <name>@<marketplace>, и имя плагина отсутствует в копии каталога этого маркетплейса на вашей машине.
claude plugin install в вашей оболочке выводит то же сообщение, когда вы вообще не добавили маркетплейс. Если claude plugin marketplace update <marketplace> затем ответит Marketplace '<marketplace>' not found, сначала добавьте маркетплейс.
`not found in marketplace` с подсказкой обновления
Подсказка гласит Your local copy may be out of date — try claude plugin marketplace update <marketplace> или The marketplace couldn't be refreshed (...). Claude Code не обновил маркетплейс перед поиском, например, когда вы в автономном режиме, поэтому ваша копия каталога может быть устаревшей. Обновите с именем маркетплейса, затем установите снова:
/plugin marketplace update <marketplace>
claude plugin marketplace update выводит Successfully updated marketplace: <name>, и /plugin marketplace update показывает ✔ Updated 1 marketplace. Если повторная установка выводит то же сообщение, проверьте имя, как описано в not found in marketplace без подсказки. Когда Claude Code обновляет маркетплейс перед установкой перечисляет другие случаи, когда обновление не запускается.
`not found in marketplace` без подсказки
Имя — наиболее вероятная проблема. Откройте /plugin, перейдите на Discover и скопируйте имя из списка.
До v2.1.232 Claude Code обновлял названный маркетплейс только после того, как поиск не удавался, и только когда для него было включено автообновление.
`Plugin "" not found in any marketplace`
Вы запустили /plugin install <name> без @marketplace, и ни один зарегистрированный маркетплейс не имеет этого плагина. claude plugin install <name> сообщает Plugin "<name>" not found in any configured marketplace.
Без имени маркетплейса claude plugin install ищет каталоги, которые он уже имеет, и не обновляет их в первую очередь, и /plugin install обновляет только маркетплейсы, у которых включено автообновление. Назовите маркетплейс, и Claude Code обновит его перед поиском плагина:
/plugin install <name>@<marketplace>
Когда установка работает, вы видите ✓ Installed <plugin>. в сеансе или Successfully installed plugin: <plugin>@<marketplace> из claude plugin install.
Если вы не знаете, какой маркетплейс содержит плагин, запустите /plugin marketplace list для маркетплейсов, которые у вас есть, и просмотрите Discover в /plugin для имени плагина.
`Plugin '@' is already installed globally`
Вы запустили /plugin install для плагина, который уже установлен в области пользователя или управляемыми параметрами, и Claude Code отказал с Use '/plugin' to manage existing plugins. Если вы ввели имя плагина без @<marketplace>, сообщение опускает globally.
Плагин уже доступен в каждом проекте, поэтому нечего добавлять. Чтобы изменить его область видимости, включить или отключить его или настроить его, откройте /plugin и перейдите на Installed.
Плагин, установленный только в области проекта или локальной области, не вызывает это сообщение. Claude Code позволяет вам установить его также в области пользователя, поэтому он доступен в других проектах.
claude plugin install в вашей оболочке выводит другое сообщение. Для плагина, уже установленного в целевой области, он выводит Plugin "<name>@<marketplace>" is already installed (scope: user) и выходит с кодом 0. Если его каталог кэша отсутствует, та же команда повторно загружает его.
`This plugin uses a source type your Claude Code version does not support`
Вы установили плагин, чья запись маркетплейса использует тип источника, который эта версия Claude Code не может получить, и Claude Code остановился с этим сообщением и Update Claude Code and try again.
Обновите Claude Code, затем повторите установку. Типы источников находятся в справочнике маркетплейса.
`Plugin archive integrity check failed`
Вы установили плагин, который распространяется как zip-архив, и Claude Code отказал ему с этой строкой и The archive was not installed. Запись маркетплейса плагина использует archive источник с закреплением sha256, и дайджест загруженного файла не совпадает с закреплением.
Полное сообщение выглядит так:
Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.
Исправление отличается для издателя и установщика:
Вы публикуете плагин: пересчитайте дайджест точного файла, который служит URL, и обновите sha256 в записи маркетплейса. Используйте shasum -a 256 my-plugin.zip или Get-FileHash -Algorithm SHA256 my-plugin.zip в PowerShell
Вы устанавливаете плагин: запустите /plugin marketplace update <name> в сеансе, чтобы обновить каталог на случай, если запись была исправлена, затем повторите установку. Если дайджесты всё ещё не совпадают после обновления, попросите владельца маркетплейса, какой файл они закрепили перед установкой
`Marketplace "" is registered from an untrusted source`
Маркетплейс, который вы добавили ранее, перестал загружаться, и его плагины тоже. Эта строка появляется на вкладке Errors в /plugin или при следующем обновлении.
Маркетплейс зарегистрирован под именем, которое зарезервировано для официальных маркетплейсов Anthropic, но его зарегистрированный источник не является репозиторием GitHub anthropics. Зарезервированные имена повторно проверяются каждый раз, когда маркетплейс загружается или обновляется, поэтому маркетплейс и плагины, установленные из него, перестают загружаться.
Полное сообщение называет зарезервированное имя и исправление:
Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.
Исправление отличается для пользователей и издателей:
Вы используете маркетплейс: в вашей оболочке запустите claude plugin marketplace remove <name>, затем добавьте маркетплейс снова из официального репозитория github.com/anthropics
Вы публикуете сторонний маркетплейс, который использовал имя до того, как оно было зарезервировано: переименуйте его и попросите пользователей повторно добавить его из вашего источника
До v2.1.205 Claude Code проверял имя только при добавлении маркетплейса, поэтому запись, зарегистрированная до того, как её имя было зарезервировано, продолжала загружаться.
`Plugin has a corrupt manifest file` или `has an invalid manifest file`
Claude Code получил плагин, затем не смог прочитать его .claude-plugin/plugin.json. В оболочке <name> в этой строке может быть временным именем каталога; префикс Failed to install plugin "<name>@<marketplace>" содержит реальное имя плагина. Формулировка говорит, какая проверка не удалась:
corrupt manifest file, за которым следует JSON parse error:: файл не является действительным JSON
invalid manifest file, за которым следует Validation errors:: файл анализируется, но не проходит схему, такую как name: Invalid input для отсутствующего обязательного поля
claude plugin install сообщает либо как Failed to install plugin "<name>@<marketplace>": и выходит с кодом 1.
Автор плагина должен исправить файл, и плагин не может быть установлен до этого:
Если это вы: запустите claude plugin validate <plugin-directory> в вашей оболочке, чтобы увидеть ту же ошибку с нарушающим путём, затем исправьте файл
Если это не вы: сообщите сообщение владельцу маркетплейса
`Plugin directory not found at path: `
Вкладка Errors в /plugin показывает это для включённого плагина, который его маркетплейс указывает относительным путём, такой как ./plugins/my-plugin, когда в этом пути внутри маркетплейса не существует каталога. Если вы поддерживаете маркетплейс, исправьте путь source записи или восстановите папку. В противном случае сообщите сообщение владельцу маркетплейса.
Marketplace directory not found at path: <path> означает, что вместо этого отсутствует собственный каталог маркетплейса. Для маркетплейса, который вы добавили из локального пути, этот каталог переместился или был удалён. Восстановите его или удалите маркетплейс и добавьте его снова из его нового расположения.
`No plugins available` или `No marketplaces configured`
Вы открыли /plugin и вкладка Discover пуста, или claude plugin marketplace list вывел No marketplaces configured.
Ни один маркетплейс не зарегистрирован, поэтому нет каталога для отображения. В сеансе добавьте официальный маркетплейс, anthropics/claude-plugins-official:
Claude Code выводит Successfully added marketplace: claude-plugins-official, и Discover перечисляет его плагины. На странице Маркетплейсы Anthropic перечислены другие маркетплейсы, которые вы можете добавить.
`Marketplace "" is already added from a different source`
Вы подтвердили добавление маркетплейса через /plugin install <plugin> --marketplace <source>, и каталог, который Claude Code получил из этого источника, имеет то же имя, что и маркетплейс, который вы уже добавили из другого источника. Claude Code сохраняет существующий маркетплейс вместо его замены, и плагин не устанавливается.
Полное сообщение выглядит так:
Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.
Выберите, какой источник вы хотите:
Маркетплейс, который вы уже добавили: установите из него по имени с помощью /plugin install <plugin>@<name>
Новый источник: запустите /plugin marketplace remove <name>, затем повторите установку
`Cannot add marketplace "": its network source differs from the one declared for it in settings`
Вы запустили marketplace add, и каталог в этом источнике имеет то же имя, что и маркетплейс, который файл параметров уже объявляет в extraKnownMarketplaces с другим источником. Claude Code отказывает добавлению и ничего не регистрирует.
Сообщение заканчивается исправлением: источник должен совпадать с тем, который объявлен для этого имени в параметрах, или вы изменяете объявление. Сравните источник, который вы передали, с записью extraKnownMarketplaces для этого имени, включая его ref, path и headers, затем сделайте одно из следующего:
Используйте объявленный источник: добавьте маркетплейс из источника, который называет запись параметров
Используйте новый источник: отредактируйте или удалите запись extraKnownMarketplaces, затем добавьте маркетплейс снова. Если управляемые параметры объявляют это, попросите вашего администратора
`Failed to install: ()`
Вы выбрали плагины для установки в меню /plugin, ни один из них не установился, и меню закрылось с этой сводкой того, что не удалось.
Некоторые причины, такие как вывод git после неудачного клонирования, показывают только их первую строку. Когда такая причина была сокращена, сводка заканчивается Installing a plugin from its details (Enter) in /plugin shows its full error.
Что делать, зависит от того, была ли сокращена сводка причины:
Исправьте то, что называет причина в скобках
Когда причина была сокращена, запустите /plugin, выберите плагин на вкладке Discover и нажмите Enter, чтобы установить его из его деталей. Если установка там не удаётся, представление деталей показывает всю ошибку
`Could not move the new copy of this plugin version into `
Когда вы устанавливаете плагин, Claude Code загружает свежую копию его файлов и перемещает её в папку этой версии в кэше плагинов. Это сообщение означает, что перемещение не удалось, обычно потому, что другая программа использовала папку во время установки. Код файловой системы появляется в скобках:
Could not move the new copy of this plugin version into /home/user/.claude/plugins/cache/acme-tools/formatter/1.2.0: the new copy or the version folder stayed busy while the install ran (ENOTEMPTY) — usually a scanner still reading the freshly downloaded files, another program using that folder, or another process re-creating it. The previously installed copy was moved back. Run the install again once other Claude Code sessions or programs using that folder have finished.
Сообщение говорит, что произошло с копией, которая была установлена раньше, что говорит вам, работает ли плагин:
The previously installed copy was moved back: версия, которая у вас была, всё ещё установлена
had to be removed first, was not moved back или could not be moved back: эта версия плагина не установлена до успешной установки
Нет такого предложения: не было более ранней копии, поэтому версия ещё не установлена
На Windows, когда другая программа удерживает саму установленную копию, сообщение вместо этого говорит, что эта копия could not be replaced и что It was not replaced and the new copy was discarded, поэтому версия, которая у вас была, всё ещё установлена.
Список Left on disk называет отложенные папки внутри кэша. Более позднее обновление этой версии или очистка кэша плагинов удаляет их, поэтому вам не нужно их удалять.
Чтобы исправить установку:
Закройте другие сеансы Claude Code, редакторы и терминалы, которые используют папку плагина в ~/.claude/plugins/cache, затем запустите установку снова
Когда сообщение говорит проверить разрешения папки кэша плагинов, восстановите разрешение на запись в папку, которую оно называет, и освободите место на диске, затем запустите установку снова
Ошибки зависимостей
Плагин, который объявляет зависимости, может не установиться или установиться и остаться отключённым, когда зависимость не может быть удовлетворена. Сообщение достигает вас во время установки или во время загрузки:
Во время установки: отказ возвращается как сообщение об ошибке установки
Когда плагин загружается: проблема появляется в claude plugin list и на вкладке Errors в /plugin, и Claude Code держит затронутый плагин отключённым до тех пор, пока вы не разрешите это
Таблица перечисляет каждое сообщение и его исправление. Чтобы объявить зависимости как автор, см. Зависимости плагинов.
Сообщение
Значение
Как разрешить
Dependency "<dep>" is not installed
Объявленная зависимость не установлена.
Установите её в вашей оболочке с помощью claude plugin install <dep>@<marketplace> или удалите плагин. Если маркетплейс зависимости ещё не зарегистрирован, добавьте его и запустите /reload-plugins в вашем сеансе, который устанавливает отсутствующие зависимости, которые он может разрешить.
Dependency "<dep>" is disabled
Зависимость установлена, но отключена.
Включите зависимость или удалите плагин, который её требует.
Requires "<dep>" <range>, installed <version>
Версия установленной зависимости находится вне объявленного диапазона плагина.
Обновите зависимость до версии в диапазоне или удалите плагин.
<Plugin or Dependency> "<name>" has conflicting version requirements
Ни одна версия не удовлетворяет каждому диапазону, который её закрепляет. Сообщение перечисляет диапазоны.
Удалите или обновите один из конфликтующих плагинов или попросите автора вышестоящего уровня расширить его ограничение.
... has version requirements too complex to intersect или has an invalid version requirement
Диапазон не является действительным semver или объединённые диапазоны не могут быть пересечены.
Исправьте недействительный диапазон или упростите длинные цепочки ||.
... has no git tag satisfying <range>
Репозиторий зависимости не имеет тега <name>--v* в диапазоне.
Проверьте, что вышестоящий уровень помечает выпуски этим соглашением, или ослабьте диапазон.
Dependency "<dep>" (required by <plugin>) is in <marketplace>, which is not in the allowlist
Зависимость находится в другом маркетплейсе, и разрешение между маркетплейсами отключено по умолчанию.
Установите зависимость самостоятельно в той же области видимости, в вашей оболочке с помощью claude plugin install <dep>@<marketplace> плюс --scope, в котором вы устанавливаете плагин, затем повторите попытку.
Чтобы увидеть это программно, запустите claude plugin list --json в вашей оболочке. Плагины с проблемами содержат поле errors с сообщениями и поле errorDetails с type для каждого: первые две строки — dependency-unsatisfied, а третья — dependency-version-unsatisfied.
Плагин установлен, но не работает
Установка прошла успешно, но skills, hooks или серверы плагина ничего не делают. Начните с Плагин не появляется или его skills не отображаются, что говорит вам, где Claude Code сообщает, что он загрузил, затем сопоставьте сообщение.
Плагин не появляется или его skills не отображаются
Вы установили плагин и ввели /, ожидая его skills, или попросили Claude использовать его, и ничего не произошло.
Проверьте состояние плагина перед изменением чего-либо:
1
Подтвердите, что плагин установлен и включён
Запустите /plugin и откройте Installed. Подтвердите, что плагин указан и включён. claude plugin list в вашей оболочке выводит тот же список с версией каждого плагина, областью видимости и Status: ✔ enabled.
2
Прочитайте вкладку Errors
Откройте вкладку Errors в той же панели. Каждая запись связывает сообщение с строкой руководства. Большинство сообщений в остальной части этого раздела поступают с этой вкладки.
3
Перезагрузитесь, если вы установили во время этого сеанса
Если плагин установлен и без ошибок, но вы установили его во время этого сеанса, запустите /reload-plugins. Он выводит Reloaded: с подсчётом плагинов, skills, агентов, hooks и серверов. Когда что-то не удалось, он добавляет N errors during load. Run /plugin for details.
Если плагин загружается без ошибок и его skills всё ещё не появляются, следующий шаг отличается для вашего собственного плагина и для чужого:
Плагин, который кто-то другой опубликовал: откройте Installed в /plugin и откройте панель деталей плагина, которая перечисляет, что содержит плагин. Плагин, который не перечисляет skills там, не имеет их для предложения, когда вы вводите /
`Run /reload-plugins to activate.`
Сводка установки в /plugin закончилась с Run /reload-plugins to activate. вместо Plugin is now active.
Claude Code не активировал плагин во время установки, либо потому, что активация его инвалидирует кэш подсказок, либо потому, что попытка активации не удалась.
Вам не нужно вводить команду. Панель закрывается и Claude Code запускает /reload-plugins для вас, или ставит её в очередь до завершения потоковой передачи ответа.
Прочитайте, что выводит эта перезагрузка:
Reloaded: с подсчётом плагинов, skills, агентов, hooks и серверов: плагин теперь активен. Когда что-то не удалось загрузить, строка добавляет N errors during load. Run /plugin for details.
This reload changes MCP tools (...) — your next message will re-read the whole conversation instead of using the cache. Run /reload-plugins --force to apply.: перезагрузка добавит или удалит сервер MCP плагина или инструмент LSP, и инвалидирует ваш кэш подсказок. Для случая LSP строка начинается с This reload adds the LSP tool или This reload removes the LSP tool. Запустите его с --force, чтобы активировать плагин в любом случае, или запустите новый сеанс
До v2.1.268 установка, которая не активировалась во время установки, оставалась в ожидании до тех пор, пока вы не запустили /reload-plugins самостоятельно.
До v2.1.246 подсчёт skills в этой сводке включал только записи commands/ плагина, поэтому перезагрузка могла загрузить skills SKILL.md плагина и всё ещё сообщать 0 skills.
`Plugin "" not cached at `
Вкладка Errors показывает эту строку с руководством Run /plugin to refresh the plugin cache. Claude Code имеет запись об установке плагина, но каталог, на который указывает запись, отсутствует, например, после очистки кэша.
Переустановите плагин из вашей оболочки. claude plugin install <name>@<marketplace> повторно загружает плагин, чей каталог установки отсутствует, даже если его запись существует:
claude plugin install <name>@<marketplace>
Затем запустите /reload-plugins в вашем сеансе. Запись на вкладке Errors исчезает и плагин вернулся в Installed.
`Disabled in ~/.claude/settings.json but still loads`
Вы установили плагин на false в ~/.claude/settings.json, и его строка в claude plugin list или /plugin показывает это сообщение, за которым следует источник, который его включает, такой как — project settings enable it, which overrides your user setting. true в этом источнике с более высоким приоритетом переопределяет ваш пользовательский параметр.
Чтобы отказаться от плагина, включённого проектом, на вашей машине установите id на false в .claude/settings.local.json, который имеет более высокий приоритет, чем файл проекта. Для других источников, которые может назвать сообщение, см. Отключено в пользовательских параметрах, но всё ещё загружается.
Если claude plugin list вместо этого помечает плагин required by your org, никакой файл параметров не задействован: ваша организация помечает этот синхронизированный плагин как требуемый на claude.ai, и он загружается, даже если вы отключили его ранее. См. Плагины, синхронизированные с claude.ai.
`Plugin "" is enabled in project settings but isn't installed here`
Вкладка Errors показывает эту строку для плагина, который .claude/settings.json вашего проекта включает, с руководством Run claude plugin install <name>@<marketplace> --scope project to install it for this project.
Параметры репозитория могут включать плагин для всех, кто его открывает, но они его не устанавливают. Когда плагин поступает из внешнего источника, такого как репозиторий GitHub или пакет npm, Claude Code не загружает его до тех пор, пока вы не установите его самостоятельно. Запустите команду из строки руководства в вашей оболочке, затем перезагрузитесь:
claude plugin install <name>@<marketplace>--scope project
После запуска /reload-plugins в вашем сеансе запись на вкладке Errors исчезает и плагин указан в Installed.
`Failed to load hooks from ` и hooks, которые не срабатывают
Hooks плагина не запускаются. Либо вкладка Errors показывает ошибку загрузки для них, hooks загружаются и вы видите уведомления <Event> hook error в стенограмме, либо hook загружается без ошибки и никогда не срабатывает.
Hooks не загружаются
Вкладка Errors показывает одно из этих сообщений:
Failed to load hooks from <path>: <reason>: hooks/hooks.json не является действительным JSON или не проходит схему hooks. Причина называет ошибку анализа или проверки. Исправьте файл. Чтобы поймать проблему синтаксиса JSON в hooks/hooks.json перед публикацией плагина, запустите claude plugin validate <plugin-directory> в вашей оболочке
hooks path not found: <path>: поле hooks манифеста называет файл, который не существует по этому пути относительно корня плагина. Исправьте путь или добавьте файл
Уведомления `hook error` в стенограмме
Уведомление формы ... hook error: Failed with non-blocking status code: <stderr> означает, что hook запустился и его команда не удалась. Например, Stop hook error: Failed with non-blocking status code: /bin/sh: node: command not found означает, что оболочка, которую Claude Code создал, не смогла найти node. Установите его или убедитесь, что он находится в PATH терминала, из которого вы запускаете claude.
Для любой другой ошибки запустите команду hook самостоятельно из каталога плагина, чтобы увидеть полный вывод, или захватите полный stderr с помощью отладочного логирования.
Hook загружается, но никогда не срабатывает
Если hook загружается без ошибки, но никогда не срабатывает, проверьте его определение, а затем посмотрите, как он запускается:
1
Проверьте имя события
Имена событий чувствительны к регистру, поэтому подтвердите, что ваше совпадает точно, например PostToolUse.
2
Проверьте matcher
Подтвердите, что matcher hook совпадает с именем инструмента.
3
Запустите событие специально
Для hook PostToolUse попросите Claude отредактировать файл.
4
Прочитайте отладочный журнал
Откройте отладочный журнал, который записывает, какие hooks совпадали. Hook, который запустился, появляется там с его кодом выхода.
`Invalid MCP server config for ""` и MCP серверы, которые не запускаются
Плагин содержит MCP сервер, и вкладка Errors показывает Invalid MCP server config for "<server>": <error>, или сервер указан, но /mcp никогда не показывает его подключённым.
`Invalid MCP server config for "": `
Конфигурация сервера проходит проверку схемы, но Claude Code не может разрешить её для этого сеанса. Текст после двоеточия называет причину и решает исправление:
Missing environment variables: <names>: установите эти переменные в оболочке, из которой вы запускаете Claude Code, затем запустите новый сеанс
URL is unset or invalid: опция ${user_config.*}, которую использует URL, не установлена. Запустите /plugin configure <plugin>, чтобы установить её
has an invalid MCP url или headersHelper for MCP server '<server>' references ${user_config.*}: конфигурация самого плагина виновата. Исправьте url или headersHelper в конфигурации MCP вашего плагина или сообщите об этом автору плагина, если плагин не ваш. Случай headersHelper имеет свою собственную запись в разделе команда плагина ссылается на user_config
Сервер настроен, но никогда не подключается
Запустите /mcp, чтобы увидеть статус сервера. Когда сервер здоров, /mcp перечисляет его как подключённый.
Чтобы прочитать ошибку, которую сервер вывел при запуске, запустите claude --debug и откройте журнал в ~/.claude/debug/<session-id>.txt. Флаг --debug не выводит на терминал.
Запись сервера в .mcp.json, которая не проходит схему, не появляется на вкладке Errors. Claude Code удаляет этот сервер и записывает Invalid MCP server config for <server> in <path> только в этот отладочный журнал. Чтобы найти запись без загрузки плагина, запустите claude plugin validate в вашей оболочке в каталоге плагина, который сообщает об этом как об ошибке.
До v2.1.281 claude plugin validate не проверял .mcp.json.
Сервер работает с `--plugin-dir`, но не работает после установки
Вы автор плагина, и сервер запускается, когда вы загружаете плагин из его исходного каталога с --plugin-dir, но не работает после установки плагина.
Claude Code копирует установленный плагин в его кэш, поэтому путь, который работает только из исходного каталога, ломается. Напишите пути внутри плагина с помощью ${CLAUDE_PLUGIN_ROOT}.
Языковой сервер не запускается, использует слишком много памяти или сообщает неправильные диагностики
Вы установили плагин интеллекта кода и Claude не видит диагностики, или языковой сервер использует слишком много памяти или сообщает об ошибках, которые не являются реальными.
Языковой сервер не запускается
Плагин подключается к двоичному файлу языкового сервера, который вы устанавливаете отдельно, и Claude Code создаёт его по имени команды из вашего PATH.
Вкладка Errors в /plugin показывает ошибку с её причиной, такой как Executable not found in $PATH: "<binary>", и claude --debug логирует её как LSP server <name> failed to start: <reason>.
Установите двоичный файл и подтвердите, что он находится в PATH терминала, из которого вы запускаете claude, например, с помощью which typescript-language-server. Затем запустите новый сеанс.
Языковой сервер использует слишком много памяти
Языковые серверы, такие как rust-analyzer и pyright, индексируют весь проект. Отключите плагин с помощью /plugin disable <plugin> в сеансе и вместо этого полагайтесь на встроенные инструменты поиска Claude.
Ложные положительные диагностики в монорепо
Языковой сервер, который не настроен для рабочей области, может сообщать о неразрешённых импортах для внутренних пакетов. На стороне Claude Code нечего исправлять, и диагностики не мешают Claude редактировать код.
Создать плагин
Вы разрабатываете плагин и загружаете его с помощью --plugin-dir или устанавливаете из локального маркетплейса. Эти записи охватывают ошибки, которые вы получаете при разработке плагина. Для проверок, которые запускаются после каждого изменения, см. Тестирование и отладка.
Вкладка Errors показывает commands path not found: <absolute path> с руководством Check that the path in your manifest or marketplace config is correct. То же сообщение появляется для skills, agents и hooks.
Claude Code разрешил путь из вашего plugin.json или записи маркетплейса относительно корня плагина и ничего там не нашёл. Путь в сообщении — это абсолютный путь, который он проверил, поэтому сравните его с тем, что находится на диске. Исправьте путь или создайте каталог, затем запустите /reload-plugins.
Пути в манифесте относительны корню плагина и начинаются с ./. Путь, который разрешается вне корня плагина, сообщается как <component> path escapes plugin directory вместо этого и удаляется.
`--plugin-dir` в корне маркетплейса не загружает плагины в `plugins/`
Вы запустили claude --plugin-dir <path> и не видите ошибку, но skills, агенты и hooks плагина отсутствуют.
--plugin-dir принимает каталог корня плагина, тот, который содержит .claude-plugin/plugin.json и каталоги компонентов, такие как skills/. Если вы вместо этого указываете его на корень маркетплейса, Claude Code не читает marketplace.json, поэтому плагин в plugins/ не загружается, и вы не видите ошибку. До v2.1.281 Claude Code загружал корень маркетплейса как один пустой плагин с именем этого каталога. Укажите флаг на сам каталог плагина:
claude --plugin-dir ./my-marketplace/plugins/my-plugin
Затем откройте Installed в /plugin, где панель деталей плагина перечисляет его компоненты.
Файлы, на которые ссылается плагин вне его каталога, не найдены
Плагин работает из его исходного каталога с --plugin-dir, но не работает после установки, с ошибками о пути, такой как ../shared-utils.
Claude Code копирует установленный плагин в его кэш и загружает его оттуда, поэтому путь, который достигает вне собственного каталога плагина, указывает на ничто в кэше. Переместите общие файлы внутри каталога плагина или ссылайтесь на них через символическую ссылку внутри него. Для того, где находится кэш и как разрешаются пути, см. Найдите плагины на диске.
`${CLAUDE_PLUGIN_ROOT}` показывает прямые косые черты на Windows
На Windows hook плагина получает ${CLAUDE_PLUGIN_ROOT} как C:/Users/you/... вместо C:\Users\you\..., и скрипт, который ожидал обратных косых черт, ломается.
Claude Code запускает hooks в форме оболочки через Git Bash на Windows и подставляет корень плагина в форме Win32 с прямыми косыми чертами специально. Встроенные функции Bash, инструменты MSYS и собственные двоичные файлы Windows все принимают эту форму.
Если вашему скрипту нужны обратные косые черты, переключитесь на одну из форм, которые сохраняют собственные пути, описанные в разделе exec форма и shell форма:
Hook в exec-форме, который создаёт процесс непосредственно с массивом args
Hook с "shell": "powershell"
Плагин загружается, но его skills отсутствуют
Ваш плагин указан в Installed без ошибок, но его skills не предлагаются, когда вы вводите /.
Skills загружаются из skills/ в корне плагина и команды из commands/ в корне плагина. Только plugin.json принадлежит внутри .claude-plugin/, и каталог skills/ внутри .claude-plugin/ не сканируется. Переместите каталоги в корень плагина и запустите /reload-plugins. После этого панель деталей плагина в /plugin перечисляет skills, и ввод / предлагает их.
Каждый skill — это каталог, содержащий SKILL.md. Запись skills в манифесте, которая указывает на файл SKILL.md вместо его каталога, сообщается как path is a file; skills entries must be directories containing SKILL.md.
Skill загружается, но Claude никогда не вызывает skill
Skill вашего плагина запускается, когда вы вводите его команду /<plugin>:<skill>, но Claude никогда не вызывает его в ответ на простой запрос.
Проверьте эти причины по порядку:
Skill устанавливает disable-model-invocation: true: с этим полем установленным только вы можете вызвать skill. Шаблонный skill в Создайте свой первый плагин устанавливает его. Удалите строку из skill, который вы хотите, чтобы Claude вызвал самостоятельно. Контролируйте, кто вызывает skill охватывает поле
Описание не совпадает с тем, как люди спрашивают: пройдите проверки в Skill не срабатывает
Описание обрезано: когда установлено много skills, Claude Code сокращает описания, чтобы они поместились в бюджет символов списка, что может удалить ключевые слова, которые Claude нужны для сопоставления запроса. См. Описания skills обрезаны
Чтобы измерить, как часто skill срабатывает на реалистичных подсказках, а не проверять по одной, напишите случай eval с оценщиком tool_used: Skill и запустите его с claude plugin eval после каждого изменения описания.
` is not a plugin or skill folder` из `claude plugin eval init`
Вы запустили claude plugin eval init из каталога, который не является корнем плагина, такой как ваш домашний каталог или корень репозитория, который хранит плагин в подкаталоге. init пишет набор в рабочий каталог, поэтому он останавливается вместо создания каталога evals/, который плагин никогда не увидит.
Перейдите в корень плагина, каталог, который содержит .claude-plugin/plugin.json или SKILL.md skill, и запустите команду снова. Чтобы создать набор где-то ещё специально, передайте --eval-dir. См. Тестируйте плагины с помощью evals.
Диалог `userConfig` никогда не появляется
Ваш плагин объявляет опции userConfig, но диалог конфигурации не появляется при его установке.
Интерактивная установка показывает диалог, и команда оболочки принимает значения как флаги вместо этого:
/plugin install в сеансе или вкладка Discover в /plugin: диалог является частью этой интерактивной установки
claude plugin install в вашей оболочке: никогда не запрашивает значения userConfig. Он сохраняет любые значения --config KEY=VALUE, которые вы передаёте, и когда опции остаются неустановленными, он выводит N userConfig options not yet set — run /plugin configure <plugin>@<marketplace> in Claude Code, or pass --config KEY=VALUE. Когда любая из неустановленных опций требуется, (M required) следует за not yet set.
Если вы установили из оболочки, передайте значения с --config, один флаг на опцию:
claude plugin install my-plugin@my-marketplace--config api_url=https://example.com
Когда каждая опция установлена, вывод установки не содержит строку not yet set. Чтобы открыть диалог позже вместо этого, запустите /plugin configure my-plugin@my-marketplace в сеансе.
Если вы передаёте ключ --config, который манифест не объявляет, плагин всё ещё устанавливается, и команда выводит ⚠ Installed, but --config not applied: --config key "<key>" isn't declared in this plugin's userConfig. за которым следуют ключи, которые плагин объявляет.
`claude plugin validate` сообщает об ошибках
Вы запустили claude plugin validate <path> или /plugin validate <path> в сеансе, и он вывел Found N errors и Validation failed, затем вышел с кодом 1.
Валидатор читает манифест по пути, который вы даёте ему: .claude-plugin/plugin.json для каталога плагина или .claude-plugin/marketplace.json для каталога маркетплейса. Для маркетплейса он предваряет проблемы в собственном манифесте записи с индексом записи, как plugins[1] plugin.json → json: ....
Таблица охватывает сообщения, которые останавливают валидацию, и два предупреждения, No frontmatter block found и Unknown field '<key>', которые останавливают её только при передаче --strict. Другие предупреждения, такие как отсутствующее описание, не указаны.
Сообщение
Причина
Исправление
File not found: <path>
Путь не имеет манифеста или не существует.
Запустите команду против корня плагина или маркетплейса, каталога, который содержит .claude-plugin/.
No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json
Каталог не имеет манифеста .claude-plugin/.
Создайте манифест или укажите на правильный каталог.
Invalid JSON syntax: <parse error>
Манифест или hooks/hooks.json не является действительным JSON.
Исправьте JSON. До тех пор, пока вы не исправите hooks/hooks.json, сеанс загружает плагин без hooks в этом файле.
Path not found: <path>. The runtime loader will report this as a load failure.
Путь компонента в манифесте не существует.
Исправьте путь или создайте каталог.
Path contains ".." which could be a path traversal attempt: <path>
Путь компонента выходит за пределы каталога плагина.
Используйте пути внутри корня плагина.
Path is a file; skills entries must be directories containing SKILL.md
Запись skills указывает на SKILL.md вместо его каталога.
Укажите на родительский каталог или . для SKILL.md на уровне корня.
No frontmatter block found или YAML frontmatter failed to parse: <error>
Файл skill, агента или команды имеет отсутствующий или недействительный YAML frontmatter.
Добавьте или исправьте frontmatter между разделителями ---. Сообщается при валидации каталога плагина.
Unknown field '<key>'
Манифест имеет поле, которое схема не определяет.
Удалите его или используйте имя, которое предлагает сообщение. Claude Code игнорирует неизвестные поля во время загрузки.
Запустите команду снова после каждого исправления до тех пор, пока она не выведет никаких ошибок.
Плагин не загружается с Plugin <name> has conflicting manifests: both plugin.json and marketplace entry specify components.
Плагин имеет свой собственный plugin.json, и его запись маркетплейса устанавливает strict: false, одновременно объявляя любой из commands, agents, skills, hooks, outputStyles или themes. Удалите эти поля из записи или установите strict: true в записи, чтобы Claude Code добавил их к plugin.json. См. Strict режим.
`Warning: No commands found in plugin custom directory`
Когда плагин загружается, журнал claude --debug в ~/.claude/debug/<session-id>.txt записывает Warning: No commands found in plugin <name> custom directory: <path>. Expected .md files or SKILL.md in subdirectories. Ничего не появляется в сеансе или на вкладке Errors.
Путь commands в манифесте существует, но не содержит файлов .md и не содержит SKILL.md в подкаталоге. Добавьте файлы команд или удалите путь из манифеста.
Размещение маркетплейса
Вы публикуете маркетплейс и пользователь сообщает об ошибке, или ваша собственная валидация не удаётся. Эти записи предназначены для владельца маркетплейса.
Плагины с относительными путями не работают в маркетплейсах на основе URL
Пользователи добавили ваш маркетплейс с URL https://example.com/marketplace.json. Установки плагинов, чей source — это относительный путь, такой как ./plugins/my-plugin, не работают с its marketplace entry path does not stay inside the marketplace directory. Уже установленные плагины не загружаются с Plugin source path refused. Оба сообщения имеют запись справочника ошибок.
Когда пользователь добавляет маркетплейс на основе URL, Claude Code загружает только сам файл marketplace.json. Он не загружает файлы плагинов по относительному пути с этого сервера, поэтому относительный путь в записи указывает на каталог, который никогда не был загружен. Дайте каждой записи источник, который Claude Code может получить самостоятельно, такой как репозиторий GitHub:
Альтернативно, разместите маркетплейс в репозитории git и скажите пользователям добавить его с URL репозитория. Для источника git Claude Code клонирует весь репозиторий, поэтому относительные пути разрешаются. Типы источников находятся в справочнике маркетплейса.
Ошибки валидации маркетплейса
Вы запустили claude plugin validate . из каталога вашего маркетплейса и он сообщил об ошибках или предупреждениях в самом файле маркетплейса.
claude plugin validate также валидирует каждую запись, чей source — это локальный путь, и предупреждает, когда version записи не совпадает с собственным манифестом плагина.
Таблица перечисляет сообщения на уровне маркетплейса. Сообщения на уровне записи — это сообщения плагина в разделе claude plugin validate сообщает об ошибках, предваренные plugins[N] plugin.json →.
Сообщение
Вид
Исправление
Duplicate plugin name "<name>" found in marketplace
Ошибка
Дайте каждому плагину уникальное имя name.
Path contains "..": <path> в plugins[N].source
Ошибка
Используйте пути относительно корня маркетплейса без сегментов ...
Marketplace name cannot contain control or bidirectional-formatting characters
Ошибка
Удалите символ из имени, такой как escape или новая строка.
Plugin name cannot contain control or bidirectional-formatting characters
Ошибка
Удалите символ из имени плагина name.
Marketplace has no plugins defined
Предупреждение
Добавьте по крайней мере одну запись в plugins.
No marketplace description provided
Предупреждение
Добавьте описание на уровне верхнего уровня description.
Plugin name "<name>" is not kebab-case в plugins[N] plugin.json → name
Предупреждение
Переименуйте в строчные буквы, цифры и дефисы. Claude Code принимает другие формы, но синхронизация маркетплейса claude.ai их отклоняет.
Entry declares version "<a>" but <path>/plugin.json says "<b>"
Предупреждение
Обновите запись, чтобы совпадать с plugin.json, который является авторитетным во время установки.
Marketplace name "<name>" is reserved in Claude Desktop
Предупреждение
Переименуйте маркетплейс. Синхронизация управляемого маркетплейса Claude Desktop отклоняет org, org-provisioned и unknown в любом регистре.
Marketplace name "<name>" is not accepted by Claude Desktop или Plugin name "<name>" is not accepted by Claude Desktop
Предупреждение
Переименуйте максимум на 128 символов букв, цифр, ., _ и -, начиная с буквы или цифры.
До v2.1.247 имя маркетплейса, содержащее управляющие или двунаправленные символы форматирования, сообщалось только как Marketplace name impersonates an official Anthropic/Claude marketplace.
Заблокировано вашей организацией
Ваша организация развёртывает управляемые параметры, которые ограничивают плагины, и команда была отклонена с сообщением политики. Эти записи называют параметр, стоящий за каждым отказом, чтобы вы знали, что попросить у администратора. Для стороны администратора см. Управляйте плагинами для вашей организации.
`Marketplace source '' is blocked by enterprise policy`
Вы запустили /plugin marketplace add, update или установку, и Claude Code отказал с этой строкой. Для источника GitHub или git хост следует за источником в скобках, как в 'github:owner/repo' (github.com).
Ваш администратор установил blockedMarketplaces или strictKnownMarketplaces в управляемых параметрах, и этот источник не разрешён. Попросите вашего администратора разрешить источник или добавить один из разрешённых источников, которые перечисляет сообщение.
Сопоставьте остальную часть сообщения, чтобы увидеть, какой вид политики заблокировал источник:
Allowed sources: <list>: блокировка поступает из списка разрешений strictKnownMarketplaces вместо списка блокировок blockedMarketplaces
No external marketplaces are allowed.: список разрешений strictKnownMarketplaces пуст
Tip: о том, что сокращение предполагает github.com: список разрешений разрешает хост git по имени хоста, и сокращение owner/repo, которое вы передали, указывает на github.com. Если репозиторий находится на вашем внутреннем хосте, добавьте его снова с его полным URL, такой как git@your-git-host.com:owner/repo.git
Маркетплейс, который вы добавили до того, как политика стала более ограничивающей, также перестаёт обновляться, потому что политика применяется при каждом обновлении.
`Marketplace "" is not in the allowed marketplace list`
Вкладка Errors показывает эту строку или Marketplace "<name>" is blocked by enterprise policy для маркетплейса, который у вас уже есть зарегистрирован.
Те же управляемые параметры, которые блокируют источник маркетплейса, применяются во время загрузки. strictKnownMarketplaces не включает этот маркетплейс, или blockedMarketplaces его называет, поэтому Claude Code перестаёт его загружать и его плагины. Для варианта списка разрешений строка руководства показывает разрешённые источники или Contact your administrator to configure allowed marketplace sources. Для варианта списка блокировок она гласит This marketplace source is explicitly blocked by your administrator.
`Plugin "" is blocked by your organization's policy and cannot be installed`
Установка была отклонена с этой строкой, включение с той же строкой, заканчивающейся cannot be enabled, или установка или обновление с одной, называющей причину: Plugin "<name>" is from marketplace "<marketplace>", which is blocked by your organization's policy или Plugin "<name>" depends on "<dep>", which is blocked by your organization's policy.
Управляемые параметры блокируют этот плагин, его маркетплейс или зависимость, которая ему нужна. Попросите вашего администратора, какая запись применяется. Заблокированная зависимость означает, что плагин не может установиться до тех пор, пока маркетплейс зависимости не будет разрешён.
`--plugin-dir is disabled by your organization's managed settings (disableSideloadFlags)`
Вы запустили claude с --plugin-dir, --plugin-url, --agents или --mcp-config. Claude Code вышел с этим сообщением и Plugins, custom agents, and MCP servers can only be loaded from sources your administrator has approved.
Ваш администратор установил disableSideloadFlags в управляемых параметрах, что отключает флаги, которые загружают плагины, агентов и серверы из произвольных путей. Загрузите плагин из одобренного маркетплейса вместо этого или попросите вашего администратора удалить параметр.
Связанное сообщение на вкладке Errors в /plugin — это --plugin-dir copy of "<name>" ignored: plugin is locked by managed settings. Управляемые параметры включают или отключают этот плагин по имени, и Claude Code игнорирует вашу копию --plugin-dir его, чтобы флаг не мог переопределить политику.
`Plugins from ~/.claude/skills/ are blocked by your organization's managed settings`
Вы запустили claude plugin init или claude plugin enable, и это остановилось с этой строкой. Сообщение называет strictKnownMarketplaces or blockedMarketplaces и просит вашего администратора добавить {"source":"skills-dir"} в strictKnownMarketplaces или удалить его из blockedMarketplaces.
Источник skills-dir обозначает плагины, которые Claude Code загружает из вашего каталога ~/.claude/skills/. Попросите вашего администратора сделать изменение, которое называет сообщение.
`Command-sourced plugins are disabled by your organization's managed settings`
Вы установили или обновили плагин с источником command, и это остановилось с этой строкой и The plugin was not installed or updated and its command was not run.
Ваш администратор установил disableCommandPluginSources, поэтому Claude Code отказывает запуск команды, объявленной маркетплейсом, которая производит плагин. Установка allowManagedHooksOnly одна имеет тот же эффект, когда disableCommandPluginSources не установлена. Попросите вашего администратора, может ли плагин быть опубликован из типа источника, который разрешает политика.
`Marketplace '' is seed-managed`
Вы запустили claude plugin marketplace update <name>, и это не удалось с Marketplace '<name>' is seed-managed (<dir>) и подсказкой попросить вашего администратора.
Оператор предварительно заполнил этот маркетплейс через CLAUDE_CODE_PLUGIN_SEED_DIR, и Claude Code рассматривает управляемый семенем маркетплейс как доступный только для чтения. Массовое marketplace update пропускает его и обновляет остальные.
Чтобы изменить содержимое маркетплейса, попросите человека, который поддерживает образ семени, обновить его. Для процедуры см. Seed контейнеры и CI.
2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
3> Use this file to discover all available pages before exploring further.
4
5# Устранение неполадок плагинов
6
7> Исправьте ошибки плагинов в Claude Code. Найдите точное сообщение об ошибке, сгруппированное по этапам от запуска /plugin до установки и политики организации.
8
9На этой странице перечислены сообщения об ошибках и симптомы для плагинов Claude Code и для маркетплейсов — каталогов, из которых Claude Code устанавливает плагины. Каждая запись содержит причину, одно решение и то, что вы видите после применения исправления.
10
11Если сообщение содержит имя плагина или маркетплейса, запись показывает заполнитель, такой как `<name>`.
12
13Используйте эту страницу, устанавливаете ли вы плагины, создаёте их, размещаете маркетплейс или администрируете плагины для организации.
14
15<Note>
16 Эти случаи рассматриваются на других страницах:
17
18 * **Почему области видимости, кэш и приоритет ведут себя так, как они себя ведут**: прочитайте [Справочник по загрузке плагинов](/docs/ru/plugins/loading)
19 * **Поиск флага, поля или команды**: используйте [справочник команд плагинов](/docs/ru/plugins/cli-reference), [справочник манифеста](/docs/ru/plugins/manifest-reference) или [справочник маркетплейса](/docs/ru/plugins/marketplace-reference)
20</Note>
21
22Найдите точное сообщение, которое вы видели. Каждое сообщение указано под этапом, который его создаёт, что не всегда совпадает с командой, которую вы запустили. Например, установка может завершиться ошибкой, потому что маркетплейс отсутствует, поэтому это сообщение находится в разделе [Добавить маркетплейс](#add-a-marketplace).
23
24<h2 id="find-where-/plugin-runs">
25 Найдите, где запускается `/plugin`
26</h2>
27
28`/plugin` — это команда, которую вы вводите в работающем сеансе терминала Claude Code, и она открывает интерактивную панель. Записи в этом разделе охватывают места, где вы можете её ввести, но она не может запуститься, и написания команд, которые не существуют.
34Вы ввели `/plugin` где-то вне сеанса терминала Claude Code, и Claude ответил этой строкой вместо открытия чего-либо.
35
36Вы получаете этот ответ в сеансе, у которого нет терминала для отрисовки панели `/plugin`: [неинтерактивный режим](/docs/ru/headless) с `claude -p`, Agent SDK, вкладка Code в приложении Claude для рабочего стола, панель расширения VS Code и браузер на claude.ai/code.
37
38В панели расширения VS Code только строка `/plugin` с чем-то после неё, такая как `/plugin install <plugin>@<marketplace>`, получает этот ответ. `/plugin` или `/plugins`, введённые отдельно, открывают диалог **Управление плагинами**.
39
40Установите плагин с поверхности, на которой вы находитесь:
41
42* **Приложение Claude для рабочего стола, локальный или SSH-сеанс**: нажмите кнопку **+** рядом с приглашением, затем **Плагины**, затем **Добавить плагин**, чтобы открыть [браузер плагинов](/docs/ru/desktop#install-plugins)
43* **Расширение VS Code**: используйте вкладку **VS Code** в разделе [Установить плагин](/docs/ru/plugins/install#install-a-plugin)
44* **Claude Code в веб-браузере или облачный сеанс рабочего стола**: облачный сеанс не имеет браузера плагинов. См. вкладку **Cloud session** в разделе [Установить плагин](/docs/ru/plugins/install#install-a-plugin), чтобы узнать, что загружает облачный сеанс
45* **Терминал, к которому у вас есть доступ**: запустите `claude` и введите `/plugin` там, или запустите `claude plugin install <plugin>@<marketplace>` в вашей оболочке без запуска сеанса
46
47Когда установка терминала работает, `/plugin` выводит сводку установки, которая начинается с `✓ Installed <plugin>.` и `claude plugin install` выводит `Successfully installed plugin: <plugin>@<marketplace>`.
48
49<h3 id="zsh-no-such-file-or-directory-plugin">
50 `zsh: no such file or directory: /plugin`
51</h3>
52
53Вы ввели `/plugin ...` в приглашение оболочки, и оболочка сообщила, что файла с именем `/plugin` не существует. Bash сообщает `bash: /plugin: No such file or directory`.
54
55`/plugin` — это команда, которую вы вводите в сеансе Claude Code, а не в приглашение оболочки. Запустите сеанс и введите ту же команду там:
56
57```shell theme={null}
58claude
59```
60
61Затем в приглашении Claude Code:
62
63```text theme={null}
64/plugin install <plugin>@<marketplace>
65```
66
67Успешная установка выводит сводку, которая начинается с `✓ Installed <plugin>.` Если сама установка затем не пройдёт, её сообщение находится в разделе [Добавить маркетплейс](#add-a-marketplace) или [Установить плагин](#install-a-plugin).
68
69Чтобы установить из оболочки без запуска сеанса, запустите `claude plugin install <plugin>@<marketplace>`.
72 `The term '/plugin' is not recognized as the name of a cmdlet`
73</h3>
74
75Вы ввели `/plugin ...` в приглашение PowerShell, и `/plugin` — это команда Claude Code, а не программа. Bash и Zsh сообщают [свою форму этой ошибки](#zsh-no-such-file-or-directory-plugin).
76
77Используйте вместо этого одно из следующих:
78
79* Запустите `claude`, затем введите `/plugin` в приглашение Claude Code
80* Запустите `claude plugin install <plugin>@<marketplace>` в PowerShell без запуска сеанса
83 `claude: command not found` после `claude plugin ...`
84</h3>
85
86Вы запустили `claude plugin install ...` в вашей оболочке, и оболочка вообще не смогла найти `claude`. На Windows сообщение: `'claude' is not recognized as the name of a cmdlet` или `'claude' is not recognized as an internal or external command`.
87
88Причина не в команде плагина. Либо Claude Code не установлен, либо его каталог установки не находится в вашем `PATH` в этой оболочке. Следуйте [`command not found: claude` после установки](/docs/ru/troubleshoot-install#command-not-found-claude-after-installation), затем повторите команду плагина.
91 `Unknown command` и написания команд, которые не существуют
92</h3>
93
94Вы ввели команду плагина, которую видели где-то, и получили `Unknown command: /<name>` в сеансе, или `error: unknown command '<name>'` или `error: unknown option '<flag>'` из двоичного файла `claude` в вашей оболочке.
95
96Используются несколько написаний команд, которые Claude Code не имеет. Таблица ниже сопоставляет каждое с реальной командой. [Справочник команд плагинов](/docs/ru/plugins/cli-reference) перечисляет все подкоманды и флаги.
97
98| Вы ввели | Что говорит Claude Code | Используйте вместо этого |
104| `marketplace.anthropic.com` как источник | `Invalid marketplace source format. Try: owner/repo, https://..., or ./path` | `anthropics/claude-plugins-official` для официального маркетплейса |
105
106Эти написания выглядят неправильно, но работают:
107
108* `claude plugins` — это псевдоним `claude plugin`
109* `claude plugin remove` — это псевдоним `claude plugin uninstall`
110* `/plugins` и `/marketplace` в сеансе открывают ту же панель, что и `/plugin`
111
112<h2 id="add-a-marketplace">
113 Добавить маркетплейс
114</h2>
115
116Маркетплейс — это каталог, который вы добавляете в Claude Code из репозитория git, URL или локального пути. Эти записи охватывают сообщения, которые вы получаете, когда добавление не удаётся или более позднее обновление не удаётся.
119 `Marketplace "claude-plugins-official" not found`
120</h3>
121
122Вы запустили `/plugin install <plugin>@claude-plugins-official` в сеансе, и Claude Code сообщил, что у него нет маркетплейса с таким именем.
123
124Официальный маркетплейс ещё не зарегистрирован на этой машине. Claude Code обычно регистрирует его самостоятельно при первом запуске интерактивного сеанса терминала. Он ещё не запустился, если вы использовали Claude Code только через расширение VS Code, и он пропускает или откладывает этот шаг:
125
126* Когда политика блокирует источник
127* Когда установлена переменная `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`
128* После неудачной попытки, которая ждёт повтора
129
130Команды оболочки `claude plugin` никогда не регистрируют его для вас.
138Claude Code выводит `Successfully added marketplace: claude-plugins-official`, и `/plugin marketplace list` показывает маркетплейс с его источником.
139
140Для любого другого имени маркетплейса в этом сообщении см. [`Marketplace "<name>" not found`](#marketplace-not-found).
141
142Та же строка также появляется на вкладке **Errors** в `/plugin`, списке сбоев загрузки панели, когда плагин, указанный в ваших параметрах, называет маркетплейс, который вы не добавили.
143
144<h3 id="marketplace-not-found">
145 `Marketplace "<name>" not found`
146</h3>
147
148Вы запустили `/plugin install <plugin>@<name>` в сеансе, часто из строки установки, которую кто-то вам отправил, и Claude Code сообщил, что у него нет маркетплейса с таким именем.
149
150Если имя начинается с `claudeai-`, маркетплейс размещён на claude.ai, и вы добавляете его по имени из вашей оболочки с помощью `claude plugin marketplace add --claudeai <name>`. См. [Добавить маркетплейс с claude.ai](/docs/ru/plugins/install#add-from-claude-ai).
151
152Для любого другого имени строка установки называет маркетплейс, но не говорит, где он размещён, и Claude Code не имеет индекса для поиска имени маркетплейса. Попросите у того, кто отправил строку, источник маркетплейса, который является GitHub `owner/repo`, URL git или путём. Затем [добавьте маркетплейс](/docs/ru/plugins/install#add-a-marketplace) и запустите строку установки снова.
153
154Маркетплейс, который кто-то вам отправляет, является сторонним, поэтому [просмотрите плагин перед его установкой](/docs/ru/plugins/security#review-a-plugin-before-you-install).
155
156Если вы уже добавили маркетплейс, проверьте написание в `/plugin marketplace list`.
157
158<h3 id="invalid-marketplace-source-format">
159 `Invalid marketplace source format`
160</h3>
161
162Вы запустили `/plugin marketplace add <source>` или `claude plugin marketplace add <source>`, и Claude Code ответил `Invalid marketplace source format. Try: owner/repo, https://..., or ./path`.
163
164Claude Code принимает источник в одной из этих форм:
165
166* Сокращение GitHub `owner/repo`
167* URL `https://` или `http://`
168* SSH URL `user@host:path`
169* Локальный путь, начинающийся с `./`, `../`, `/` или `~`
170
171Простое имя, такое как `claude-plugins-official`, не соответствует ни одному из них. Также не соответствует простое имя хоста, такое как `marketplace.anthropic.com`.
182 `'<source>' is not a valid GitHub owner/repo shorthand`
183</h3>
184
185Вы передали источник с косой чертой, который не является `owner/repo`, такой как `github.com/owner/repo` или путь `gitlab.example.com/group/project`. Claude Code отказал ему с этим сообщением и списком принятых форм.
186
187Сокращение `owner/repo` предназначено только для GitHub и должно следовать правилам именования GitHub, поэтому имя хоста или дополнительный сегмент пути не работает. Передайте источник в форме, которая соответствует тому, где размещён маркетплейс:
188
189* **Репозиторий на любом хосте**: полный URL клонирования
190* **Размещённый `marketplace.json`**: его URL `https://`
191* **Локальная копия**: `./path` или абсолютный путь
192
193Например, чтобы добавить официальный маркетплейс по его URL клонирования, в сеансе:
205Вы передали локальный путь в `marketplace add`, и ничего не существует по этому пути. Относительный путь разрешается относительно вашего текущего каталога.
206
207Проверьте разрешённый путь в сообщении. Затем запустите команду из каталога, с которого начинается относительный путь, или передайте абсолютный путь к каталогу маркетплейса. Успешное добавление выводит `Successfully added marketplace: <name>`.
208
209Claude Code принимает каталог, содержащий `.claude-plugin/marketplace.json`, или путь к файлу `.json`. Путь к любому другому файлу не работает с `File path must point to a .json file (marketplace.json)`.
212 `Marketplace file not found at <path>/.claude-plugin/marketplace.json`
213</h3>
214
215Claude Code клонировал или загрузил маркетплейс, но не нашёл `marketplace.json` по ожидаемому пути внутри него. Команда добавления сообщает об этом как `Failed to add marketplace: Marketplace file not found at ...`.
216
217Расположение по умолчанию — `.claude-plugin/marketplace.json` в корне репозитория, и [справочник маркетплейса](/docs/ru/plugins/marketplace-reference) перечисляет принятые расположения.
218
219Исправление отличается для владельца и для всех остальных:
220
221* **Вы владеете маркетплейсом**: поместите файл в это расположение и повторно добавьте маркетплейс
222* **Кто-то другой размещает его**: попросите у владельца точный источник, который они публикуют
225 `SSH authentication failed` или `HTTPS authentication failed`
226</h3>
227
228Вы добавили или обновили маркетплейс из репозитория git, и клонирование не удалось с `Failed to clone marketplace repository:`, за которым следует одна из этих строк.
229
230Сначала проверьте сам репозиторий: неправильный `owner/repo`, репозиторий, который не существует, или приватный репозиторий, который вы не можете видеть, также заканчивается этим сообщением. Откройте URL репозитория в вашем браузере или запустите `git ls-remote <url>` в вашем терминале, чтобы подтвердить, что он существует и у вас есть доступ.
231
232Если репозиторий правильный, причина — учётные данные. Claude Code запускает git с отключёнными интерактивными приглашениями, поэтому он не может попросить вас пароль, парольную фразу ключа или учётные данные так, как это делал бы ваш терминал. Если git нужно приглашение, вы видите `fatal: Cannot prompt because user interactivity has been disabled` или `terminal prompts disabled` в исходной ошибке. Работают только учётные данные, которые уже работают неинтерактивно:
233
234* **SSH**: `ssh -T git@<host>` должен успешно выполниться без запроса парольной фразы, и хост должен уже находиться в `known_hosts`
235* **HTTPS**: ваш помощник учётных данных должен содержать токен для хоста. Для GitHub запустите `gh auth login` и `gh auth setup-git`. Для другого хоста сохраните личный токен доступа в помощнике учётных данных git. Протестируйте с помощью `git ls-remote <url>`
236
237Как только `git ls-remote` успешно выполнится в вашем терминале без приглашения, запустите добавление или обновление снова. Успешное добавление выводит `Successfully added marketplace: <name>`. Успешное обновление выводит `Successfully updated marketplace: <name>` из вашей оболочки или `✔ Updated 1 marketplace` в сеансе.
238
239Чтобы Claude Code пропустил SSH для источников GitHub `owner/repo`, установите `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`. Без этого Claude Code клонирует эти источники через SSH, когда SSH-ключ для `github.com` выглядит настроенным, и возвращается к HTTPS, когда клонирование SSH не удаётся.
240
241Для того, что фоновое автообновление может и не может делать с вашими учётными данными, см. [Что фоновое автообновление делает с учётными данными](/docs/ru/plugins/host-marketplace#what-background-auto-update-does-with-credentials).
244 `SSH host key is not in your known_hosts file`
245</h3>
246
247Вы добавили маркетплейс через SSH с хоста, к которому вы никогда не подключались, и клонирование не удалось с этой строкой и подсказкой `ssh -T git@<host>`. Для хоста, чей ключ изменился, сообщение: `SSH host key has changed` с подсказкой `ssh-keygen -R <host>` вместо этого.
248
249Claude Code клонирует с `StrictHostKeyChecking=yes`, поэтому он отказывает хосту, чей ключ вы ещё не приняли, вместо автоматического принятия ключа. Подключитесь один раз из вашего терминала, чтобы принять отпечаток, затем повторите попытку:
250
251```shell theme={null}
252ssh -T git@github.com
253```
254
255Для публичного репозитория добавьте маркетплейс по его URL `https://` вместо этого, чтобы полностью избежать SSH.
258 `Command 'git' not found or is in an unsafe location`
259</h3>
260
261На Windows вы добавили маркетплейс, и Claude Code сообщил `Failed to clone marketplace repository: Command 'git' not found or is in an unsafe location (current directory)`.
262
263Claude Code ищет `git` в вашем `PATH` и отказывается запускать найденный только в текущем каталоге. Чтобы исправить это, установите Git и повторите попытку:
264
265<Steps>
266 <Step title="Установить Git для Windows">
267 Установите Git для Windows, чтобы `git` находился в вашем `PATH`.
268 </Step>
269
270 <Step title="Откройте новый терминал">
271 Откройте новый терминал, чтобы обновлённый `PATH` применился.
272 </Step>
273
274 <Step title="Подтвердите, что git работает">
275 Подтвердите, что `git --version` выводит версию.
276 </Step>
277
278 <Step title="Повторите добавление">
279 Запустите команду `marketplace add` снова.
280 </Step>
281</Steps>
282
283<h3 id="git-clone-timed-out-after-120s">
284 `Git clone timed out after 120s`
285</h3>
286
287Вы добавили или обновили маркетплейс, и это не удалось с `Git clone timed out after 120s`, за которым следует подсказка установить `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`.
288
289Клонирование маркетплейса и повторное клонирование для его обновления получает 120 секунд по умолчанию. Для большого репозитория или медленного соединения повысьте лимит. Значение указано в миллисекундах:
307Если репозиторий — это монорепо, ограничьте проверку каталогами, которые вы называете с помощью `claude plugin marketplace add <source> --sparse <paths>`.
310 Обновления маркетплейса продолжают не работать в автономном режиме
311</h3>
312
313Вы работаете в среде, где хост git маркетплейса недоступен, и каждый сеанс повторяет неудачное обновление в фоне. Ваша существующая копия маркетплейса остаётся на месте, и запуск не задерживается.
314
315Каждый сеанс для маркетплейса с [включённым автообновлением](/docs/ru/plugins/loading#which-marketplaces-and-plugins-auto-update) Claude Code проверяет хост git маркетплейса на предмет новых коммитов в фоне. Когда эта проверка не может достичь хоста, она пытается клонировать маркетплейс снова, и в автономном режиме это клонирование также не удаётся.
316
317Установите эту переменную, чтобы пропустить попытку повторного клонирования и продолжить использовать существующую копию, когда проверка не может достичь хоста:
333С установленной переменной Claude Code пропускает повторное клонирование только для копии, которая уже содержит `.claude-plugin/marketplace.json`. Маркетплейс, который никогда не был клонирован или чьё клонирование остановилось на полпути, всё ещё получает попытку клонирования, поэтому добавьте его один раз в сети.
334
335Для полностью автономного развёртывания вместо этого предварительно заполните каталог плагинов во время сборки образа с помощью `CLAUDE_CODE_PLUGIN_SEED_DIR`, следуя [Seed контейнеры и CI](/docs/ru/plugins/org#seed-containers-and-ci).
338 Добавление маркетплейса не работает на хосте GitHub Enterprise Server
339</h3>
340
341Вы добавили маркетплейс с URL GitHub Enterprise Server (GHES) и получили ошибку политики, или вы добавили его с claude.ai и получили ошибку доступа GitHub.
342
343Оба случая находятся на странице GHES:
344
345* [Ошибка политики](/docs/ru/github-enterprise-server#marketplace-add-fails-with-a-policy-error) означает, что ваша организация ограничила источники маркетплейса, и администратор должен добавить `hostPattern` для хоста
346* [Ошибка доступа GitHub на claude.ai](/docs/ru/github-enterprise-server#marketplace-add-on-claude-ai-fails-with-a-github-access-error) означает, что ваша собственная учётная запись GitHub Enterprise ещё не подключена
347
348<h2 id="install-a-plugin">
349 Установить плагин
350</h2>
351
352Вы добавили маркетплейс и запустили установку, и установка остановилась с сообщением вместо установки чего-либо. Эти записи охватывают эти сообщения. Они также охватывают связанные сообщения, которые появляются позже на вкладке **Errors** в `/plugin` или как пустая вкладка **Discover**, когда плагин или его маркетплейс не могут быть найдены, прочитаны или доверены.
353
354<h3 id="plugin-not-found-in-marketplace">
355 `Plugin "<name>" not found in marketplace "<marketplace>"`
356</h3>
357
358Вы запустили `/plugin install <name>@<marketplace>` или `claude plugin install <name>@<marketplace>`, и имя плагина отсутствует в копии каталога этого маркетплейса на вашей машине.
359
360`claude plugin install` в вашей оболочке выводит то же сообщение, когда вы вообще не добавили маркетплейс. Если `claude plugin marketplace update <marketplace>` затем ответит `Marketplace '<marketplace>' not found`, сначала [добавьте маркетплейс](#add-a-marketplace).
361
362<h4 id="the-message-ends-with-a-refresh-hint">
363 `not found in marketplace` с подсказкой обновления
364</h4>
365
366Подсказка гласит `Your local copy may be out of date — try claude plugin marketplace update <marketplace>` или `The marketplace couldn't be refreshed (...)`. Claude Code не обновил маркетплейс перед поиском, например, когда вы в автономном режиме, поэтому ваша копия каталога может быть устаревшей. Обновите с именем маркетплейса, затем установите снова:
367
368```text theme={null}
369/plugin marketplace update <marketplace>
370```
371
372`claude plugin marketplace update` выводит `Successfully updated marketplace: <name>`, и `/plugin marketplace update` показывает `✔ Updated 1 marketplace`. Если повторная установка выводит то же сообщение, проверьте имя, как описано в [`not found in marketplace` без подсказки](#the-message-has-no-hint). [Когда Claude Code обновляет маркетплейс перед установкой](/docs/ru/plugins/loading#when-claude-code-refreshes-a-marketplace-before-an-install) перечисляет другие случаи, когда обновление не запускается.
373
374<h4 id="the-message-has-no-hint">
375 `not found in marketplace` без подсказки
376</h4>
377
378Имя — наиболее вероятная проблема. Откройте `/plugin`, перейдите на **Discover** и скопируйте имя из списка.
379
380До v2.1.232 Claude Code обновлял названный маркетплейс только после того, как поиск не удавался, и только когда для него было включено автообновление.
381
382<h3 id="plugin-not-found-in-any-marketplace">
383 `Plugin "<name>" not found in any marketplace`
384</h3>
385
386Вы запустили `/plugin install <name>` без `@marketplace`, и ни один зарегистрированный маркетплейс не имеет этого плагина. `claude plugin install <name>` сообщает `Plugin "<name>" not found in any configured marketplace`.
387
388Без имени маркетплейса `claude plugin install` ищет каталоги, которые он уже имеет, и не обновляет их в первую очередь, и `/plugin install` обновляет только маркетплейсы, у которых включено автообновление. Назовите маркетплейс, и Claude Code обновит его перед поиском плагина:
389
390```text theme={null}
391/plugin install <name>@<marketplace>
392```
393
394Когда установка работает, вы видите `✓ Installed <plugin>.` в сеансе или `Successfully installed plugin: <plugin>@<marketplace>` из `claude plugin install`.
395
396Если вы не знаете, какой маркетплейс содержит плагин, запустите `/plugin marketplace list` для маркетплейсов, которые у вас есть, и просмотрите **Discover** в `/plugin` для имени плагина.
397
398<h3 id="plugin-is-already-installed-globally">
399 `Plugin '<name>@<marketplace>' is already installed globally`
400</h3>
401
402Вы запустили `/plugin install` для плагина, который уже установлен в области пользователя или управляемыми параметрами, и Claude Code отказал с `Use '/plugin' to manage existing plugins.` Если вы ввели имя плагина без `@<marketplace>`, сообщение опускает `globally`.
403
404Плагин уже доступен в каждом проекте, поэтому нечего добавлять. Чтобы изменить его [область видимости](/docs/ru/plugins/install), включить или отключить его или настроить его, откройте `/plugin` и перейдите на **Installed**.
405
406Плагин, установленный только в области проекта или локальной области, не вызывает это сообщение. Claude Code позволяет вам установить его также в области пользователя, поэтому он доступен в других проектах.
407
408`claude plugin install` в вашей оболочке выводит другое сообщение. Для плагина, уже установленного в целевой области, он выводит `Plugin "<name>@<marketplace>" is already installed (scope: user)` и выходит с кодом 0. Если его каталог кэша отсутствует, та же команда повторно загружает его.
411 `This plugin uses a source type your Claude Code version does not support`
412</h3>
413
414Вы установили плагин, чья запись маркетплейса использует тип источника, который эта версия Claude Code не может получить, и Claude Code остановился с этим сообщением и `Update Claude Code and try again.`
415
416Обновите Claude Code, затем повторите установку. Типы источников находятся в [справочнике маркетплейса](/docs/ru/plugins/marketplace-reference).
422Вы установили плагин, который распространяется как zip-архив, и Claude Code отказал ему с этой строкой и `The archive was not installed.` Запись маркетплейса плагина использует [`archive` источник](/docs/ru/plugins/marketplace-reference) с закреплением `sha256`, и дайджест загруженного файла не совпадает с закреплением.
423
424Полное сообщение выглядит так:
425
426```text theme={null}
427Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.
428```
429
430Исправление отличается для издателя и установщика:
431
432* **Вы публикуете плагин**: пересчитайте дайджест точного файла, который служит URL, и обновите `sha256` в записи маркетплейса. Используйте `shasum -a 256 my-plugin.zip` или `Get-FileHash -Algorithm SHA256 my-plugin.zip` в PowerShell
433* **Вы устанавливаете плагин**: запустите `/plugin marketplace update <name>` в сеансе, чтобы обновить каталог на случай, если запись была исправлена, затем повторите установку. Если дайджесты всё ещё не совпадают после обновления, попросите владельца маркетплейса, какой файл они закрепили перед установкой
436 `Marketplace "<name>" is registered from an untrusted source`
437</h3>
438
439Маркетплейс, который вы добавили ранее, перестал загружаться, и его плагины тоже. Эта строка появляется на вкладке **Errors** в `/plugin` или при следующем обновлении.
440
441Маркетплейс зарегистрирован под именем, которое [зарезервировано для официальных маркетплейсов Anthropic](/docs/ru/plugins/marketplace-reference), но его зарегистрированный источник не является репозиторием GitHub `anthropics`. Зарезервированные имена повторно проверяются каждый раз, когда маркетплейс загружается или обновляется, поэтому маркетплейс и плагины, установленные из него, перестают загружаться.
442
443Полное сообщение называет зарезервированное имя и исправление:
444
445```text theme={null}
446Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.
447```
448
449Исправление отличается для пользователей и издателей:
450
451* **Вы используете маркетплейс**: в вашей оболочке запустите `claude plugin marketplace remove <name>`, затем добавьте маркетплейс снова из официального репозитория `github.com/anthropics`
452* **Вы публикуете сторонний маркетплейс, который использовал имя до того, как оно было зарезервировано**: переименуйте его и попросите пользователей повторно добавить его из вашего источника
453
454До v2.1.205 Claude Code проверял имя только при добавлении маркетплейса, поэтому запись, зарегистрированная до того, как её имя было зарезервировано, продолжала загружаться.
457 `Plugin <name> has a corrupt manifest file` или `has an invalid manifest file`
458</h3>
459
460Claude Code получил плагин, затем не смог прочитать его `.claude-plugin/plugin.json`. В оболочке `<name>` в этой строке может быть временным именем каталога; префикс `Failed to install plugin "<name>@<marketplace>"` содержит реальное имя плагина. Формулировка говорит, какая проверка не удалась:
461
462* **`corrupt manifest file`, за которым следует `JSON parse error:`**: файл не является действительным JSON
463* **`invalid manifest file`, за которым следует `Validation errors:`**: файл анализируется, но не проходит схему, такую как `name: Invalid input` для отсутствующего обязательного поля
464
465`claude plugin install` сообщает либо как `Failed to install plugin "<name>@<marketplace>":` и выходит с кодом 1.
466
467Автор плагина должен исправить файл, и плагин не может быть установлен до этого:
468
469* **Если это вы**: запустите `claude plugin validate <plugin-directory>` в вашей оболочке, чтобы увидеть ту же ошибку с нарушающим путём, затем исправьте файл
470* **Если это не вы**: сообщите сообщение владельцу маркетплейса
471
472<h3 id="plugin-directory-not-found-at-path">
473 `Plugin directory not found at path: <path>`
474</h3>
475
476Вкладка **Errors** в `/plugin` показывает это для включённого плагина, который его маркетплейс указывает относительным путём, такой как `./plugins/my-plugin`, когда в этом пути внутри маркетплейса не существует каталога. Если вы поддерживаете маркетплейс, исправьте путь `source` записи или восстановите папку. В противном случае сообщите сообщение владельцу маркетплейса.
477
478`Marketplace directory not found at path: <path>` означает, что вместо этого отсутствует собственный каталог маркетплейса. Для маркетплейса, который вы добавили из локального пути, этот каталог переместился или был удалён. Восстановите его или удалите маркетплейс и добавьте его снова из его нового расположения.
481 `No plugins available` или `No marketplaces configured`
482</h3>
483
484Вы открыли `/plugin` и вкладка **Discover** пуста, или `claude plugin marketplace list` вывел `No marketplaces configured`.
485
486Ни один маркетплейс не зарегистрирован, поэтому нет каталога для отображения. В сеансе добавьте официальный маркетплейс, `anthropics/claude-plugins-official`:
492Claude Code выводит `Successfully added marketplace: claude-plugins-official`, и **Discover** перечисляет его плагины. На странице [Маркетплейсы Anthropic](/docs/ru/plugins/anthropic-marketplaces) перечислены другие маркетплейсы, которые вы можете добавить.
495 `Marketplace "<name>" is already added from a different source`
496</h3>
497
498Вы подтвердили добавление маркетплейса через [`/plugin install <plugin> --marketplace <source>`](/docs/ru/plugins/install#add-a-marketplace-and-install-in-one-command), и каталог, который Claude Code получил из этого источника, имеет то же имя, что и маркетплейс, который вы уже добавили из другого источника. Claude Code сохраняет существующий маркетплейс вместо его замены, и плагин не устанавливается.
499
500Полное сообщение выглядит так:
501
502```text theme={null}
503Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.
504```
505
506Выберите, какой источник вы хотите:
507
508* **Маркетплейс, который вы уже добавили**: установите из него по имени с помощью `/plugin install <plugin>@<name>`
512 `Cannot add marketplace "<name>": its network source differs from the one declared for it in settings`
513</h3>
514
515Вы запустили `marketplace add`, и каталог в этом источнике имеет то же имя, что и маркетплейс, который файл параметров уже объявляет в [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces) с другим источником. Claude Code отказывает добавлению и ничего не регистрирует.
516
517Сообщение заканчивается исправлением: источник должен совпадать с тем, который объявлен для этого имени в параметрах, или вы изменяете объявление. Сравните источник, который вы передали, с записью `extraKnownMarketplaces` для этого имени, включая его `ref`, `path` и `headers`, затем сделайте одно из следующего:
518
519* **Используйте объявленный источник**: добавьте маркетплейс из источника, который называет запись параметров
520* **Используйте новый источник**: отредактируйте или удалите запись `extraKnownMarketplaces`, затем добавьте маркетплейс снова. Если управляемые параметры объявляют это, попросите вашего администратора
526Вы выбрали плагины для установки в меню `/plugin`, ни один из них не установился, и меню закрылось с этой сводкой того, что не удалось.
527
528Некоторые причины, такие как вывод git после неудачного клонирования, показывают только их первую строку. Когда такая причина была сокращена, сводка заканчивается `Installing a plugin from its details (Enter) in /plugin shows its full error.`
529
530Что делать, зависит от того, была ли сокращена сводка причины:
531
532* Исправьте то, что называет причина в скобках
533* Когда причина была сокращена, запустите `/plugin`, выберите плагин на вкладке **Discover** и нажмите **Enter**, чтобы установить его из его деталей. Если установка там не удаётся, представление деталей показывает всю ошибку
536 `Could not move the new copy of this plugin version into <path>`
537</h3>
538
539Когда вы устанавливаете плагин, Claude Code загружает свежую копию его файлов и перемещает её в папку этой версии в [кэше плагинов](/docs/ru/plugins/loading#find-plugins-on-disk). Это сообщение означает, что перемещение не удалось, обычно потому, что другая программа использовала папку во время установки. Код файловой системы появляется в скобках:
540
541```text theme={null}
542Could not move the new copy of this plugin version into /home/user/.claude/plugins/cache/acme-tools/formatter/1.2.0: the new copy or the version folder stayed busy while the install ran (ENOTEMPTY) — usually a scanner still reading the freshly downloaded files, another program using that folder, or another process re-creating it. The previously installed copy was moved back. Run the install again once other Claude Code sessions or programs using that folder have finished.
543```
544
545Сообщение говорит, что произошло с копией, которая была установлена раньше, что говорит вам, работает ли плагин:
546
547* `The previously installed copy was moved back`: версия, которая у вас была, всё ещё установлена
548* `had to be removed first`, `was not moved back` или `could not be moved back`: эта версия плагина не установлена до успешной установки
549* Нет такого предложения: не было более ранней копии, поэтому версия ещё не установлена
550
551На Windows, когда другая программа удерживает саму установленную копию, сообщение вместо этого говорит, что эта копия `could not be replaced` и что `It was not replaced and the new copy was discarded`, поэтому версия, которая у вас была, всё ещё установлена.
552
553Список `Left on disk` называет отложенные папки внутри кэша. Более позднее обновление этой версии или очистка кэша плагинов удаляет их, поэтому вам не нужно их удалять.
554
555Чтобы исправить установку:
556
557* Закройте другие сеансы Claude Code, редакторы и терминалы, которые используют папку плагина в `~/.claude/plugins/cache`, затем запустите установку снова
558* Когда сообщение говорит проверить разрешения папки кэша плагинов, восстановите разрешение на запись в папку, которую оно называет, и освободите место на диске, затем запустите установку снова
559
560<h3 id="dependency-errors">
561 Ошибки зависимостей
562</h3>
563
564Плагин, который объявляет зависимости, может не установиться или установиться и остаться отключённым, когда зависимость не может быть удовлетворена. Сообщение достигает вас во время установки или во время загрузки:
565
566* **Во время установки**: отказ возвращается как сообщение об ошибке установки
567* **Когда плагин загружается**: проблема появляется в `claude plugin list` и на вкладке **Errors** в `/plugin`, и Claude Code держит затронутый плагин отключённым до тех пор, пока вы не разрешите это
568
569Таблица перечисляет каждое сообщение и его исправление. Чтобы объявить зависимости как автор, см. [Зависимости плагинов](/docs/ru/plugins/dependencies).
573| `Dependency "<dep>" is not installed` | Объявленная зависимость не установлена. | Установите её в вашей оболочке с помощью `claude plugin install <dep>@<marketplace>` или удалите плагин. Если маркетплейс зависимости ещё не зарегистрирован, добавьте его и запустите `/reload-plugins` в вашем сеансе, который устанавливает отсутствующие зависимости, которые он может разрешить. |
574| `Dependency "<dep>" is disabled` | Зависимость установлена, но отключена. | Включите зависимость или удалите плагин, который её требует. |
575| `Requires "<dep>" <range>, installed <version>` | Версия установленной зависимости находится вне объявленного диапазона плагина. | Обновите зависимость до версии в диапазоне или удалите плагин. |
576| `<Plugin or Dependency> "<name>" has conflicting version requirements` | Ни одна версия не удовлетворяет каждому диапазону, который её закрепляет. Сообщение перечисляет диапазоны. | Удалите или обновите один из конфликтующих плагинов или попросите автора вышестоящего уровня расширить его ограничение. |
577| `... has version requirements too complex to intersect` или `has an invalid version requirement` | Диапазон не является действительным semver или объединённые диапазоны не могут быть пересечены. | Исправьте недействительный диапазон или упростите длинные цепочки `\|\|`. |
578| `... has no git tag satisfying <range>` | Репозиторий зависимости не имеет тега `<name>--v*` в диапазоне. | Проверьте, что вышестоящий уровень помечает выпуски этим соглашением, или ослабьте диапазон. |
579| `Dependency "<dep>" (required by <plugin>) is in <marketplace>, which is not in the allowlist` | Зависимость находится в другом маркетплейсе, и разрешение между маркетплейсами отключено по умолчанию. | Установите зависимость самостоятельно в той же области видимости, в вашей оболочке с помощью `claude plugin install <dep>@<marketplace>` плюс `--scope`, в котором вы устанавливаете плагин, затем повторите попытку. |
580
581Чтобы увидеть это программно, запустите `claude plugin list --json` в вашей оболочке. Плагины с проблемами содержат поле `errors` с сообщениями и поле `errorDetails` с `type` для каждого: первые две строки — `dependency-unsatisfied`, а третья — `dependency-version-unsatisfied`.
582
583<h2 id="plugin-installed-but-not-working">
584 Плагин установлен, но не работает
585</h2>
586
587Установка прошла успешно, но skills, hooks или серверы плагина ничего не делают. Начните с [Плагин не появляется или его skills не отображаются](#plugin-doesnt-appear-or-its-skills-dont-show-up), что говорит вам, где Claude Code сообщает, что он загрузил, затем сопоставьте сообщение.
590 Плагин не появляется или его skills не отображаются
591</h3>
592
593Вы установили плагин и ввели `/`, ожидая его skills, или попросили Claude использовать его, и ничего не произошло.
594
595Проверьте состояние плагина перед изменением чего-либо:
596
597<Steps>
598 <Step title="Подтвердите, что плагин установлен и включён">
599 Запустите `/plugin` и откройте **Installed**. Подтвердите, что плагин указан и включён. `claude plugin list` в вашей оболочке выводит тот же список с версией каждого плагина, областью видимости и `Status: ✔ enabled`.
600 </Step>
601
602 <Step title="Прочитайте вкладку Errors">
603 Откройте вкладку **Errors** в той же панели. Каждая запись связывает сообщение с строкой руководства. Большинство сообщений в остальной части этого раздела поступают с этой вкладки.
604 </Step>
605
606 <Step title="Перезагрузитесь, если вы установили во время этого сеанса">
607 Если плагин установлен и без ошибок, но вы установили его во время этого сеанса, запустите `/reload-plugins`. Он выводит `Reloaded:` с подсчётом плагинов, skills, агентов, hooks и серверов. Когда что-то не удалось, он добавляет `N errors during load. Run /plugin for details.`
608 </Step>
609</Steps>
610
611Если плагин загружается без ошибок и его skills всё ещё не появляются, следующий шаг отличается для вашего собственного плагина и для чужого:
612
613* **Плагин, который вы создаёте**: см. [Плагин загружается, но его skills отсутствуют](#plugin-loads-but-its-skills-are-missing)
614* **Плагин, который кто-то другой опубликовал**: откройте **Installed** в `/plugin` и откройте панель деталей плагина, которая перечисляет, что содержит плагин. Плагин, который не перечисляет skills там, не имеет их для предложения, когда вы вводите `/`
615
616<h3 id="run-reload-plugins-to-activate">
617 `Run /reload-plugins to activate.`
618</h3>
619
620Сводка установки в `/plugin` закончилась с `Run /reload-plugins to activate.` вместо `Plugin is now active.`
621
622Claude Code не активировал плагин во время установки, либо потому, что активация его [инвалидирует кэш подсказок](/docs/ru/prompt-caching#enabling-or-disabling-a-plugin), либо потому, что попытка активации не удалась.
623
624Вам не нужно вводить команду. Панель закрывается и Claude Code запускает `/reload-plugins` для вас, или ставит её в очередь до завершения потоковой передачи ответа.
625
626Прочитайте, что выводит эта перезагрузка:
627
628* **`Reloaded:` с подсчётом плагинов, skills, агентов, hooks и серверов**: плагин теперь активен. Когда что-то не удалось загрузить, строка добавляет `N errors during load. Run /plugin for details.`
629* **`This reload changes MCP tools (...) — your next message will re-read the whole conversation instead of using the cache. Run /reload-plugins --force to apply.`**: перезагрузка добавит или удалит сервер MCP плагина или инструмент `LSP`, и инвалидирует ваш кэш подсказок. Для случая LSP строка начинается с `This reload adds the LSP tool` или `This reload removes the LSP tool`. Запустите его с `--force`, чтобы активировать плагин в любом случае, или запустите новый сеанс
630
631До v2.1.268 установка, которая не активировалась во время установки, оставалась в ожидании до тех пор, пока вы не запустили `/reload-plugins` самостоятельно.
632
633До v2.1.246 подсчёт skills в этой сводке включал только записи `commands/` плагина, поэтому перезагрузка могла загрузить skills `SKILL.md` плагина и всё ещё сообщать `0 skills`.
634
635<h3 id="plugin-not-cached-at">
636 `Plugin "<name>" not cached at <path>`
637</h3>
638
639Вкладка **Errors** показывает эту строку с руководством `Run /plugin to refresh the plugin cache`. Claude Code имеет запись об установке плагина, но каталог, на который указывает запись, отсутствует, например, после очистки кэша.
640
641Переустановите плагин из вашей оболочки. `claude plugin install <name>@<marketplace>` повторно загружает плагин, чей каталог установки отсутствует, даже если его запись существует:
642
643```shell theme={null}
644claude plugin install <name>@<marketplace>
645```
646
647Затем запустите `/reload-plugins` в вашем сеансе. Запись на вкладке **Errors** исчезает и плагин вернулся в **Installed**.
648
649<h3 id="a-plugin-you-disabled-still-loads">
650 `Disabled in ~/.claude/settings.json but still loads`
651</h3>
652
653Вы установили плагин на `false` в `~/.claude/settings.json`, и его строка в `claude plugin list` или `/plugin` показывает это сообщение, за которым следует источник, который его включает, такой как `— project settings enable it, which overrides your user setting`. `true` в этом источнике с более высоким приоритетом переопределяет ваш пользовательский параметр.
654
655Чтобы отказаться от плагина, включённого проектом, на вашей машине установите id на `false` в `.claude/settings.local.json`, который имеет более высокий приоритет, чем файл проекта. Для других источников, которые может назвать сообщение, см. [Отключено в пользовательских параметрах, но всё ещё загружается](/docs/ru/plugins/loading#disabled-in-user-settings-but-still-loads).
656
657Если `claude plugin list` вместо этого помечает плагин `required by your org`, никакой файл параметров не задействован: ваша организация помечает этот синхронизированный плагин как требуемый на claude.ai, и он загружается, даже если вы отключили его ранее. См. [Плагины, синхронизированные с claude.ai](/docs/ru/plugins/loading#synced-plugins).
660 `Plugin "<name>" is enabled in project settings but isn't installed here`
661</h3>
662
663Вкладка **Errors** показывает эту строку для плагина, который `.claude/settings.json` вашего проекта включает, с руководством `Run claude plugin install <name>@<marketplace> --scope project to install it for this project`.
664
665Параметры репозитория могут включать плагин для всех, кто его открывает, но они его не устанавливают. Когда плагин поступает из внешнего источника, такого как репозиторий GitHub или пакет npm, Claude Code не загружает его до тех пор, пока вы не установите его самостоятельно. Запустите команду из строки руководства в вашей оболочке, затем перезагрузитесь:
671После запуска `/reload-plugins` в вашем сеансе запись на вкладке **Errors** исчезает и плагин указан в **Installed**.
672
673Если ваша организация предварительно устанавливает плагины для вас, она делает это через управляемые параметры вместо этого. См. [Предварительная установка и требование плагинов](/docs/ru/plugins/org#pre-install-and-require-plugins).
676 `Failed to load hooks from <path>` и hooks, которые не срабатывают
677</h3>
678
679Hooks плагина не запускаются. Либо вкладка **Errors** показывает ошибку загрузки для них, hooks загружаются и вы видите уведомления `<Event> hook error` в стенограмме, либо hook загружается без ошибки и никогда не срабатывает.
680
681<h4 id="hooks-fail-to-load">
682 Hooks не загружаются
683</h4>
684
685Вкладка **Errors** показывает одно из этих сообщений:
686
687* **`Failed to load hooks from <path>: <reason>`**: `hooks/hooks.json` не является действительным JSON или не проходит схему hooks. Причина называет ошибку анализа или проверки. Исправьте файл. Чтобы поймать проблему синтаксиса JSON в `hooks/hooks.json` перед публикацией плагина, запустите `claude plugin validate <plugin-directory>` в вашей оболочке
688* **`hooks path not found: <path>`**: поле `hooks` манифеста называет файл, который не существует по этому пути относительно корня плагина. Исправьте путь или добавьте файл
689
690<h4 id="hook-error-notices-in-the-transcript">
691 Уведомления `hook error` в стенограмме
692</h4>
693
694Уведомление формы `... hook error: Failed with non-blocking status code: <stderr>` означает, что hook запустился и его команда не удалась. Например, `Stop hook error: Failed with non-blocking status code: /bin/sh: node: command not found` означает, что оболочка, которую Claude Code создал, не смогла найти `node`. Установите его или убедитесь, что он находится в `PATH` терминала, из которого вы запускаете `claude`.
695
696Для любой другой ошибки запустите команду hook самостоятельно из каталога плагина, чтобы увидеть полный вывод, или захватите полный stderr с помощью [отладочного логирования](/docs/ru/hooks#debug-hooks).
697
698<h4 id="hook-loads-but-never-fires">
699 Hook загружается, но никогда не срабатывает
700</h4>
701
702Если hook загружается без ошибки, но никогда не срабатывает, проверьте его определение, а затем посмотрите, как он запускается:
703
704<Steps>
705 <Step title="Проверьте имя события">
706 Имена событий чувствительны к регистру, поэтому подтвердите, что ваше совпадает точно, например `PostToolUse`.
707 </Step>
708
709 <Step title="Проверьте matcher">
710 Подтвердите, что `matcher` hook совпадает с именем инструмента.
711 </Step>
712
713 <Step title="Запустите событие специально">
714 Для hook `PostToolUse` попросите Claude отредактировать файл.
715 </Step>
716
717 <Step title="Прочитайте отладочный журнал">
718 Откройте [отладочный журнал](/docs/ru/hooks#debug-hooks), который записывает, какие hooks совпадали. Hook, который запустился, появляется там с его кодом выхода.
723 `Invalid MCP server config for "<server>"` и MCP серверы, которые не запускаются
724</h3>
725
726Плагин содержит MCP сервер, и вкладка **Errors** показывает `Invalid MCP server config for "<server>": <error>`, или сервер указан, но `/mcp` никогда не показывает его подключённым.
729 `Invalid MCP server config for "<server>": <error>`
730</h4>
731
732Конфигурация сервера проходит проверку схемы, но Claude Code не может разрешить её для этого сеанса. Текст после двоеточия называет причину и решает исправление:
733
734* **`Missing environment variables: <names>`**: установите эти переменные в оболочке, из которой вы запускаете Claude Code, затем запустите новый сеанс
735* **`URL is unset or invalid`**: опция `${user_config.*}`, которую использует URL, не установлена. Запустите `/plugin configure <plugin>`, чтобы установить её
736* **`has an invalid MCP url`** или **`headersHelper for MCP server '<server>' references ${user_config.*}`**: конфигурация самого плагина виновата. Исправьте `url` или `headersHelper` в конфигурации MCP вашего плагина или сообщите об этом автору плагина, если плагин не ваш. Случай `headersHelper` имеет свою собственную запись в разделе [команда плагина ссылается на user\_config](/docs/ru/errors#plugin-command-references-user-config)
742Запустите `/mcp`, чтобы увидеть статус сервера. Когда сервер здоров, `/mcp` перечисляет его как подключённый.
743
744Чтобы прочитать ошибку, которую сервер вывел при запуске, запустите `claude --debug` и откройте журнал в `~/.claude/debug/<session-id>.txt`. Флаг `--debug` не выводит на терминал.
745
746Запись сервера в `.mcp.json`, которая не проходит схему, не появляется на вкладке **Errors**. Claude Code удаляет этот сервер и записывает `Invalid MCP server config for <server> in <path>` только в этот отладочный журнал. Чтобы найти запись без загрузки плагина, запустите `claude plugin validate` в вашей оболочке в каталоге плагина, который сообщает об этом как об ошибке.
747
748До v2.1.281 `claude plugin validate` не проверял `.mcp.json`.
751 Сервер работает с `--plugin-dir`, но не работает после установки
752</h4>
753
754Вы автор плагина, и сервер запускается, когда вы загружаете плагин из его исходного каталога с `--plugin-dir`, но не работает после установки плагина.
755
756Claude Code копирует установленный плагин в его кэш, поэтому путь, который работает только из исходного каталога, ломается. Напишите пути внутри плагина с помощью `${CLAUDE_PLUGIN_ROOT}`.
757
758Для путей, которые достигают вне каталога плагина, см. [Файлы, на которые ссылается плагин вне его каталога, не найдены](#files-the-plugin-references-outside-its-directory-arent-found).
759
760<h3 id="language-server-doesnt-start">
761 Языковой сервер не запускается, использует слишком много памяти или сообщает неправильные диагностики
762</h3>
763
764Вы установили [плагин интеллекта кода](/docs/ru/plugins/code-intelligence) и Claude не видит диагностики, или языковой сервер использует слишком много памяти или сообщает об ошибках, которые не являются реальными.
765
766<h4 id="language-server-doesn’t-start">
767 Языковой сервер не запускается
768</h4>
769
770Плагин подключается к двоичному файлу языкового сервера, который вы устанавливаете отдельно, и Claude Code создаёт его по имени команды из вашего `PATH`.
771
772Вкладка **Errors** в `/plugin` показывает ошибку с её причиной, такой как `Executable not found in $PATH: "<binary>"`, и `claude --debug` логирует её как `LSP server <name> failed to start: <reason>`.
773
774Установите двоичный файл и подтвердите, что он находится в `PATH` терминала, из которого вы запускаете `claude`, например, с помощью `which typescript-language-server`. Затем запустите новый сеанс.
775
776<h4 id="language-server-uses-too-much-memory">
777 Языковой сервер использует слишком много памяти
778</h4>
779
780Языковые серверы, такие как `rust-analyzer` и `pyright`, индексируют весь проект. Отключите плагин с помощью `/plugin disable <plugin>` в сеансе и вместо этого полагайтесь на встроенные инструменты поиска Claude.
786Языковой сервер, который не настроен для рабочей области, может сообщать о неразрешённых импортах для внутренних пакетов. На стороне Claude Code нечего исправлять, и диагностики не мешают Claude редактировать код.
787
788<h2 id="build-a-plugin">
789 Создать плагин
790</h2>
791
792Вы разрабатываете плагин и загружаете его с помощью `--plugin-dir` или устанавливаете из локального маркетплейса. Эти записи охватывают ошибки, которые вы получаете при разработке плагина. Для проверок, которые запускаются после каждого изменения, см. [Тестирование и отладка](/docs/ru/plugins/create#test-and-debug).
793
794Две ошибки, которые также достигают пользователей плагина, имеют свои записи в разделе [Плагин установлен, но не работает](#plugin-installed-but-not-working):
795
796* **Hook, который не срабатывает**: см. [hooks, которые не срабатывают](#failed-to-load-hooks-from-and-hooks-that-dont-fire)
797* **MCP сервер, который не запускается**: см. [MCP серверы, которые не запускаются](#invalid-mcp-server-config-for-and-mcp-servers-that-dont-start)
798
799<h3 id="commands-path-not-found">
800 `commands path not found: <path>`
801</h3>
802
803Вкладка **Errors** показывает `commands path not found: <absolute path>` с руководством `Check that the path in your manifest or marketplace config is correct`. То же сообщение появляется для `skills`, `agents` и `hooks`.
804
805Claude Code разрешил путь из вашего `plugin.json` или записи маркетплейса относительно корня плагина и ничего там не нашёл. Путь в сообщении — это абсолютный путь, который он проверил, поэтому сравните его с тем, что находится на диске. Исправьте путь или создайте каталог, затем запустите `/reload-plugins`.
806
807Пути в манифесте относительны корню плагина и начинаются с `./`. Путь, который разрешается вне корня плагина, сообщается как `<component> path escapes plugin directory` вместо этого и удаляется.
810 `--plugin-dir` в корне маркетплейса не загружает плагины в `plugins/`
811</h3>
812
813Вы запустили `claude --plugin-dir <path>` и не видите ошибку, но skills, агенты и hooks плагина отсутствуют.
814
815`--plugin-dir` принимает каталог корня плагина, тот, который содержит `.claude-plugin/plugin.json` и каталоги компонентов, такие как `skills/`. Если вы вместо этого указываете его на корень маркетплейса, Claude Code не читает `marketplace.json`, поэтому плагин в `plugins/` не загружается, и вы не видите ошибку. До v2.1.281 Claude Code загружал корень маркетплейса как один пустой плагин с именем этого каталога. Укажите флаг на сам каталог плагина:
824 Файлы, на которые ссылается плагин вне его каталога, не найдены
825</h3>
826
827Плагин работает из его исходного каталога с `--plugin-dir`, но не работает после установки, с ошибками о пути, такой как `../shared-utils`.
828
829Claude Code копирует установленный плагин в его кэш и загружает его оттуда, поэтому путь, который достигает вне собственного каталога плагина, указывает на ничто в кэше. Переместите общие файлы внутри каталога плагина или ссылайтесь на них через символическую ссылку внутри него. Для того, где находится кэш и как разрешаются пути, см. [Найдите плагины на диске](/docs/ru/plugins/loading#find-plugins-on-disk).
832 `${CLAUDE_PLUGIN_ROOT}` показывает прямые косые черты на Windows
833</h3>
834
835На Windows hook плагина получает `${CLAUDE_PLUGIN_ROOT}` как `C:/Users/you/...` вместо `C:\Users\you\...`, и скрипт, который ожидал обратных косых черт, ломается.
836
837Claude Code запускает hooks в форме оболочки через Git Bash на Windows и подставляет корень плагина в форме Win32 с прямыми косыми чертами специально. Встроенные функции Bash, инструменты MSYS и собственные двоичные файлы Windows все принимают эту форму.
838
839Если вашему скрипту нужны обратные косые черты, переключитесь на одну из форм, которые сохраняют собственные пути, описанные в разделе [exec форма и shell форма](/docs/ru/hooks#exec-form-and-shell-form):
840
841* Hook в exec-форме, который создаёт процесс непосредственно с массивом `args`
848Ваш плагин указан в **Installed** без ошибок, но его skills не предлагаются, когда вы вводите `/`.
849
850Skills загружаются из `skills/` в корне плагина и команды из `commands/` в корне плагина. Только `plugin.json` принадлежит внутри `.claude-plugin/`, и каталог `skills/` внутри `.claude-plugin/` не сканируется. Переместите каталоги в корень плагина и запустите `/reload-plugins`. После этого панель деталей плагина в `/plugin` перечисляет skills, и ввод `/` предлагает их.
851
852Каждый skill — это каталог, содержащий `SKILL.md`. Запись `skills` в манифесте, которая указывает на файл `SKILL.md` вместо его каталога, сообщается как `path is a file; skills entries must be directories containing SKILL.md`.
855 Skill загружается, но Claude никогда не вызывает skill
856</h3>
857
858Skill вашего плагина запускается, когда вы вводите его команду `/<plugin>:<skill>`, но Claude никогда не вызывает его в ответ на простой запрос.
859
860Проверьте эти причины по порядку:
861
862* **Skill устанавливает `disable-model-invocation: true`**: с этим полем установленным только вы можете вызвать skill. Шаблонный skill в [Создайте свой первый плагин](/docs/ru/plugins/create#create-your-first-plugin) устанавливает его. Удалите строку из skill, который вы хотите, чтобы Claude вызвал самостоятельно. [Контролируйте, кто вызывает skill](/docs/ru/skills#control-who-invokes-a-skill) охватывает поле
863* **Описание не совпадает с тем, как люди спрашивают**: пройдите проверки в [Skill не срабатывает](/docs/ru/skills#skill-not-triggering)
864* **Описание обрезано**: когда установлено много skills, Claude Code сокращает описания, чтобы они поместились в бюджет символов списка, что может удалить ключевые слова, которые Claude нужны для сопоставления запроса. См. [Описания skills обрезаны](/docs/ru/skills#skill-descriptions-are-cut-short)
865
866Чтобы измерить, как часто skill срабатывает на реалистичных подсказках, а не проверять по одной, напишите случай eval с [оценщиком `tool_used: Skill`](/docs/ru/plugin-evals#create-your-first-eval-suite) и запустите его с `claude plugin eval` после каждого изменения описания.
867
868<h3 id="is-not-a-plugin-or-skill-folder">
869 `<directory> is not a plugin or skill folder` из `claude plugin eval init`
870</h3>
871
872Вы запустили `claude plugin eval init` из каталога, который не является корнем плагина, такой как ваш домашний каталог или корень репозитория, который хранит плагин в подкаталоге. `init` пишет набор в рабочий каталог, поэтому он останавливается вместо создания каталога `evals/`, который плагин никогда не увидит.
873
874Перейдите в корень плагина, каталог, который содержит `.claude-plugin/plugin.json` или `SKILL.md` skill, и запустите команду снова. Чтобы создать набор где-то ещё специально, передайте `--eval-dir`. См. [Тестируйте плагины с помощью evals](/docs/ru/plugin-evals).
875
876<h3 id="the-userconfig-dialog-never-appears">
877 Диалог `userConfig` никогда не появляется
878</h3>
879
880Ваш плагин объявляет опции `userConfig`, но диалог конфигурации не появляется при его установке.
881
882Интерактивная установка показывает диалог, и команда оболочки принимает значения как флаги вместо этого:
883
884* **`/plugin install` в сеансе или вкладка Discover в `/plugin`**: диалог является частью этой интерактивной установки
885* **`claude plugin install` в вашей оболочке**: никогда не запрашивает значения `userConfig`. Он сохраняет любые значения `--config KEY=VALUE`, которые вы передаёте, и когда опции остаются неустановленными, он выводит `N userConfig options not yet set — run /plugin configure <plugin>@<marketplace> in Claude Code, or pass --config KEY=VALUE.` Когда любая из неустановленных опций требуется, `(M required)` следует за `not yet set`.
886
887Если вы установили из оболочки, передайте значения с `--config`, один флаг на опцию:
893Когда каждая опция установлена, вывод установки не содержит строку `not yet set`. Чтобы открыть диалог позже вместо этого, запустите `/plugin configure my-plugin@my-marketplace` в сеансе.
894
895Если вы передаёте ключ `--config`, который манифест не объявляет, плагин всё ещё устанавливается, и команда выводит `⚠ Installed, but --config not applied: --config key "<key>" isn't declared in this plugin's userConfig.` за которым следуют ключи, которые плагин объявляет.
901Вы запустили `claude plugin validate <path>` или `/plugin validate <path>` в сеансе, и он вывел `Found N errors` и `Validation failed`, затем вышел с кодом 1.
902
903Валидатор читает манифест по пути, который вы даёте ему: `.claude-plugin/plugin.json` для каталога плагина или `.claude-plugin/marketplace.json` для каталога маркетплейса. Для маркетплейса он предваряет проблемы в собственном манифесте записи с индексом записи, как `plugins[1] plugin.json → json: ...`.
904
905Таблица охватывает сообщения, которые останавливают валидацию, и два предупреждения, `No frontmatter block found` и `Unknown field '<key>'`, которые останавливают её только при передаче `--strict`. Другие предупреждения, такие как отсутствующее описание, не указаны.
909| `File not found: <path>` | Путь не имеет манифеста или не существует. | Запустите команду против корня плагина или маркетплейса, каталога, который содержит `.claude-plugin/`. |
910| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | Каталог не имеет манифеста `.claude-plugin/`. | Создайте манифест или укажите на правильный каталог. |
911| `Invalid JSON syntax: <parse error>` | Манифест или `hooks/hooks.json` не является действительным JSON. | Исправьте JSON. До тех пор, пока вы не исправите `hooks/hooks.json`, сеанс загружает плагин без hooks в этом файле. |
912| `Path not found: <path>. The runtime loader will report this as a load failure.` | Путь компонента в манифесте не существует. | Исправьте путь или создайте каталог. |
913| `Path contains ".." which could be a path traversal attempt: <path>` | Путь компонента выходит за пределы каталога плагина. | Используйте пути внутри корня плагина. |
914| `Path is a file; skills entries must be directories containing SKILL.md` | Запись `skills` указывает на `SKILL.md` вместо его каталога. | Укажите на родительский каталог или `.` для `SKILL.md` на уровне корня. |
915| `No frontmatter block found` или `YAML frontmatter failed to parse: <error>` | Файл skill, агента или команды имеет отсутствующий или недействительный YAML frontmatter. | Добавьте или исправьте frontmatter между разделителями `---`. Сообщается при валидации каталога плагина. |
916| `Unknown field '<key>'` | Манифест имеет поле, которое схема не определяет. | Удалите его или используйте имя, которое предлагает сообщение. Claude Code игнорирует неизвестные поля во время загрузки. |
917
918Запустите команду снова после каждого исправления до тех пор, пока она не выведет никаких ошибок.
919
920Поля `plugin.json` находятся в [справочнике манифеста](/docs/ru/plugins/manifest-reference), и сообщения на уровне маркетплейса находятся в разделе [Ошибки валидации маркетплейса](#marketplace-validation-errors).
921
922<h3 id="plugin-has-conflicting-manifests">
923 `Plugin <name> has conflicting manifests`
924</h3>
925
926Плагин не загружается с `Plugin <name> has conflicting manifests: both plugin.json and marketplace entry specify components.`
927
928Плагин имеет свой собственный `plugin.json`, и его запись маркетплейса устанавливает `strict: false`, одновременно объявляя любой из `commands`, `agents`, `skills`, `hooks`, `outputStyles` или `themes`. Удалите эти поля из записи или установите `strict: true` в записи, чтобы Claude Code добавил их к `plugin.json`. См. [Strict режим](/docs/ru/plugins/marketplace-reference#strict-mode).
931 `Warning: No commands found in plugin <name> custom directory`
932</h3>
933
934Когда плагин загружается, журнал `claude --debug` в `~/.claude/debug/<session-id>.txt` записывает `Warning: No commands found in plugin <name> custom directory: <path>. Expected .md files or SKILL.md in subdirectories.` Ничего не появляется в сеансе или на вкладке **Errors**.
935
936Путь `commands` в манифесте существует, но не содержит файлов `.md` и не содержит `SKILL.md` в подкаталоге. Добавьте файлы команд или удалите путь из манифеста.
937
938<h2 id="host-a-marketplace">
939 Размещение маркетплейса
940</h2>
941
942Вы публикуете маркетплейс и пользователь сообщает об ошибке, или ваша собственная валидация не удаётся. Эти записи предназначены для владельца маркетплейса.
945 Плагины с относительными путями не работают в маркетплейсах на основе URL
946</h3>
947
948Пользователи добавили ваш маркетплейс с URL `https://example.com/marketplace.json`. Установки плагинов, чей `source` — это относительный путь, такой как `./plugins/my-plugin`, не работают с `its marketplace entry path does not stay inside the marketplace directory`. Уже установленные плагины не загружаются с `Plugin source path refused`. Оба сообщения имеют [запись справочника ошибок](/docs/ru/errors#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory).
949
950Когда пользователь добавляет маркетплейс на основе URL, Claude Code загружает только сам файл `marketplace.json`. Он не загружает файлы плагинов по относительному пути с этого сервера, поэтому относительный путь в записи указывает на каталог, который никогда не был загружен. Дайте каждой записи источник, который Claude Code может получить самостоятельно, такой как репозиторий GitHub:
956Альтернативно, разместите маркетплейс в репозитории git и скажите пользователям добавить его с URL репозитория. Для источника git Claude Code клонирует весь репозиторий, поэтому относительные пути разрешаются. Типы источников находятся в [справочнике маркетплейса](/docs/ru/plugins/marketplace-reference).
957
958<h3 id="marketplace-validation-errors">
959 Ошибки валидации маркетплейса
960</h3>
961
962Вы запустили `claude plugin validate .` из каталога вашего маркетплейса и он сообщил об ошибках или предупреждениях в самом файле маркетплейса.
963
964`claude plugin validate` также валидирует каждую запись, чей `source` — это локальный путь, и предупреждает, когда `version` записи не совпадает с собственным манифестом плагина.
965
966Таблица перечисляет сообщения на уровне маркетплейса. Сообщения на уровне записи — это сообщения плагина в разделе [`claude plugin validate` сообщает об ошибках](#claude-plugin-validate-reports-errors), предваренные `plugins[N] plugin.json →`.
970| `Duplicate plugin name "<name>" found in marketplace` | Ошибка | Дайте каждому плагину уникальное имя `name`. |
971| `Path contains "..": <path>` в `plugins[N].source` | Ошибка | Используйте пути относительно корня маркетплейса без сегментов `..`. |
972| `Marketplace name cannot contain control or bidirectional-formatting characters` | Ошибка | Удалите символ из имени, такой как escape или новая строка. |
973| `Plugin name cannot contain control or bidirectional-formatting characters` | Ошибка | Удалите символ из имени плагина `name`. |
974| `Marketplace has no plugins defined` | Предупреждение | Добавьте по крайней мере одну запись в `plugins`. |
975| `No marketplace description provided` | Предупреждение | Добавьте описание на уровне верхнего уровня `description`. |
976| `Plugin name "<name>" is not kebab-case` в `plugins[N] plugin.json → name` | Предупреждение | Переименуйте в строчные буквы, цифры и дефисы. Claude Code принимает другие формы, но синхронизация маркетплейса claude.ai их отклоняет. |
977| `Entry declares version "<a>" but <path>/plugin.json says "<b>"` | Предупреждение | Обновите запись, чтобы совпадать с `plugin.json`, который является авторитетным во время установки. |
978| `Marketplace name "<name>" is reserved in Claude Desktop` | Предупреждение | Переименуйте маркетплейс. Синхронизация управляемого маркетплейса Claude Desktop отклоняет `org`, `org-provisioned` и `unknown` в любом регистре. |
979| `Marketplace name "<name>" is not accepted by Claude Desktop` или `Plugin name "<name>" is not accepted by Claude Desktop` | Предупреждение | Переименуйте максимум на 128 символов букв, цифр, `.`, `_` и `-`, начиная с буквы или цифры. |
980
981До v2.1.247 имя маркетплейса, содержащее управляющие или двунаправленные символы форматирования, сообщалось только как `Marketplace name impersonates an official Anthropic/Claude marketplace`.
982
983<h2 id="blocked-by-your-organization">
984 Заблокировано вашей организацией
985</h2>
986
987Ваша организация развёртывает управляемые параметры, которые ограничивают плагины, и команда была отклонена с сообщением политики. Эти записи называют параметр, стоящий за каждым отказом, чтобы вы знали, что попросить у администратора. Для стороны администратора см. [Управляйте плагинами для вашей организации](/docs/ru/plugins/org).
990 `Marketplace source '<source>' is blocked by enterprise policy`
991</h3>
992
993Вы запустили `/plugin marketplace add`, `update` или установку, и Claude Code отказал с этой строкой. Для источника GitHub или git хост следует за источником в скобках, как в `'github:owner/repo' (github.com)`.
994
995Ваш администратор установил `blockedMarketplaces` или `strictKnownMarketplaces` в управляемых параметрах, и этот источник не разрешён. Попросите вашего администратора разрешить источник или добавить один из разрешённых источников, которые перечисляет сообщение.
996
997Сопоставьте остальную часть сообщения, чтобы увидеть, какой вид политики заблокировал источник:
998
999* **`Allowed sources: <list>`**: блокировка поступает из списка разрешений `strictKnownMarketplaces` вместо списка блокировок `blockedMarketplaces`
1000* **`No external marketplaces are allowed.`**: список разрешений `strictKnownMarketplaces` пуст
1001* **`Tip:` о том, что сокращение предполагает github.com**: список разрешений разрешает хост git по имени хоста, и сокращение `owner/repo`, которое вы передали, указывает на github.com. Если репозиторий находится на вашем внутреннем хосте, добавьте его снова с его полным URL, такой как `git@your-git-host.com:owner/repo.git`
1002
1003Маркетплейс, который вы добавили до того, как политика стала более ограничивающей, также перестаёт обновляться, потому что политика применяется при каждом обновлении.
1006 `Marketplace "<name>" is not in the allowed marketplace list`
1007</h3>
1008
1009Вкладка **Errors** показывает эту строку или `Marketplace "<name>" is blocked by enterprise policy` для маркетплейса, который у вас уже есть зарегистрирован.
1010
1011Те же управляемые параметры, которые блокируют [источник маркетплейса](#marketplace-source-is-blocked-by-enterprise-policy), применяются во время загрузки. `strictKnownMarketplaces` не включает этот маркетплейс, или `blockedMarketplaces` его называет, поэтому Claude Code перестаёт его загружать и его плагины. Для варианта списка разрешений строка руководства показывает разрешённые источники или `Contact your administrator to configure allowed marketplace sources`. Для варианта списка блокировок она гласит `This marketplace source is explicitly blocked by your administrator`.
1014 `Plugin "<name>" is blocked by your organization's policy and cannot be installed`
1015</h3>
1016
1017Установка была отклонена с этой строкой, включение с той же строкой, заканчивающейся `cannot be enabled`, или установка или обновление с одной, называющей причину: `Plugin "<name>" is from marketplace "<marketplace>", which is blocked by your organization's policy` или `Plugin "<name>" depends on "<dep>", which is blocked by your organization's policy`.
1018
1019Управляемые параметры блокируют этот плагин, его маркетплейс или зависимость, которая ему нужна. Попросите вашего администратора, какая запись применяется. Заблокированная зависимость означает, что плагин не может установиться до тех пор, пока маркетплейс зависимости не будет разрешён.
1022 `--plugin-dir is disabled by your organization's managed settings (disableSideloadFlags)`
1023</h3>
1024
1025Вы запустили `claude` с `--plugin-dir`, `--plugin-url`, `--agents` или `--mcp-config`. Claude Code вышел с этим сообщением и `Plugins, custom agents, and MCP servers can only be loaded from sources your administrator has approved.`
1026
1027Ваш администратор установил `disableSideloadFlags` в управляемых параметрах, что отключает флаги, которые загружают плагины, агентов и серверы из произвольных путей. Загрузите плагин из одобренного маркетплейса вместо этого или попросите вашего администратора удалить параметр.
1028
1029Связанное сообщение на вкладке **Errors** в `/plugin` — это `--plugin-dir copy of "<name>" ignored: plugin is locked by managed settings`. Управляемые параметры включают или отключают этот плагин по имени, и Claude Code игнорирует вашу копию `--plugin-dir` его, чтобы флаг не мог переопределить политику.
1032 `Plugins from ~/.claude/skills/ are blocked by your organization's managed settings`
1033</h3>
1034
1035Вы запустили `claude plugin init` или `claude plugin enable`, и это остановилось с этой строкой. Сообщение называет `strictKnownMarketplaces or blockedMarketplaces` и просит вашего администратора добавить `{"source":"skills-dir"}` в `strictKnownMarketplaces` или удалить его из `blockedMarketplaces`.
1036
1037Источник `skills-dir` обозначает плагины, которые Claude Code загружает из вашего каталога `~/.claude/skills/`. Попросите вашего администратора сделать изменение, которое называет сообщение.
1040 `Command-sourced plugins are disabled by your organization's managed settings`
1041</h3>
1042
1043Вы установили или обновили плагин с источником `command`, и это остановилось с этой строкой и `The plugin was not installed or updated and its command was not run.`
1044
1045Ваш администратор установил `disableCommandPluginSources`, поэтому Claude Code отказывает запуск команды, объявленной маркетплейсом, которая производит плагин. Установка `allowManagedHooksOnly` одна имеет тот же эффект, когда `disableCommandPluginSources` не установлена. Попросите вашего администратора, может ли плагин быть опубликован из типа источника, который разрешает политика.
1046
1047<h3 id="marketplace-is-seed-managed">
1048 `Marketplace '<name>' is seed-managed`
1049</h3>
1050
1051Вы запустили `claude plugin marketplace update <name>`, и это не удалось с `Marketplace '<name>' is seed-managed (<dir>)` и подсказкой попросить вашего администратора.
1052
1053Оператор предварительно заполнил этот маркетплейс через `CLAUDE_CODE_PLUGIN_SEED_DIR`, и Claude Code рассматривает управляемый семенем маркетплейс как доступный только для чтения. Массовое `marketplace update` пропускает его и обновляет остальные.
1054
1055Чтобы изменить содержимое маркетплейса, попросите человека, который поддерживает образ семени, обновить его. Для процедуры см. [Seed контейнеры и CI](/docs/ru/plugins/org#seed-containers-and-ci).
1056
1057<h2 id="next-steps">
1058 Следующие шаги
1059</h2>
1060
1061* [Справочник по загрузке плагинов](/docs/ru/plugins/loading): почему области видимости, кэш и приоритет ведут себя так, как они ведут себя
1062* [Справочник команд плагинов](/docs/ru/plugins/cli-reference): флаги, значения по умолчанию, вывод и коды выхода для команд `claude plugin`
1063* [Установка и управление плагинами](/docs/ru/plugins/install): шаги установки с начала
1064* [Управляйте плагинами для вашей организации](/docs/ru/plugins/org#troubleshoot-policy): устранение неполадок политики для администраторов