# Моды в Claude Code: меняем поведение инструмента своим кодом

Канонический URL: https://zero2claude.ru/blog/claude-code-mods-typescript
Дата: 2026-10-02
Теги: claude-code, автоматизация, mcp, безопасность

Anthropic выпустила моды — маленькие функции на TypeScript, которые позволяют переписывать промпты, подменять встроенные фичи и добавлять свой интерфейс прямо в Claude Code.

Claude Code уже умел многое из коробки, но у разработчиков постоянно было одно и то же пожелание: «а можно подкрутить вот тут, не дожидаясь, пока это сделают в Anthropic?». Теперь можно. Anthropic представила моды — маленькие функции на TypeScript, которые меняют то, как Claude Code работает и выглядит.

<Cover src="/blog/claude-code-mods-typescript.jpg" alt="Шестерёнка встраивается в большой механизм" />

Мод может переписать промпт перед отправкой модели, добавить новую кнопку в интерфейс, заменить встроенную функцию своей версией или добавить совершенно новую возможность. Писать мод можно самостоятельно, а можно попросить Claude Code сделать это за тебя. Моды поставляются внутри плагинов, так что устанавливаются и распространяются так же, как любые другие плагины — через [портал плагинов](/blog/claude-plugin-directory-portal) или командой `/plugin` в CLI. Работают моды и в терминальной версии, и в десктопном приложении.

Важная оговорка сразу: моды запускаются с тем же доступом к твоей машине, что и сам Claude Code. Они не изолированы в песочнице, поэтому устанавливать стоит только то, чему ты доверяешь — ровно так же, как ты относишься к любому другому коду, который запускаешь на своём компьютере.

## Зачем вообще понадобились моды

Разработчики давно просили больше контроля над тем, как ведёт себя Claude Code, не дожидаясь, пока нужная фича появится в официальном релизе. Частично эту задачу решали хуки (hooks) — механизм, который позволял цепляться к определённым моментам работы инструмента. Но у хуков были жёсткие границы: они не умели переписывать события, рисовать новый интерфейс или заменять целые функции.

Моды закрывают именно эти дыры. Anthropic специально выложила дизайн-документ мода на GitHub ещё до релиза, чтобы собрать обратную связь от сообщества разработчиков — и, судя по формулировкам в анонсе, отклик был заметный. Идея простая: Claude Code должен ощущаться как твой инструмент, который можно подогнать под свой рабочий процесс, а не как чёрный ящик с фиксированным набором функций.

## Как это работает технически

Каждый раз, когда Claude Code что-то делает — вызывает инструмент, запрашивает разрешение, отрисовывает часть экрана, — он генерирует событие. Мод — это функция, которая подключается к одному из таких событий. Она может сработать до события, после него, вместо него, либо «обернуть» событие — выполнить код и до, и после.

Одной такой функцией мод способен:

- переписать промпт до того, как он дойдёт до модели;
- заблокировать, переписать или повторить вызов инструмента;
- одобрить или отклонить запрос на разрешение;
- вычистить секреты (пароли, токены) из вывода инструмента до того, как их увидит Claude.

Моды меняют не только логику, но и то, что ты видишь на экране. Мод может редактировать или заменять часть интерфейса — например, результат работы инструмента или вопрос, который задаёт Claude. Он может добавлять кнопки и поля ввода, на которые будут реагировать другие моды. Сегодня мод может целиться в терминал, в десктопное приложение или в оба сразу.

Если несколько модов подписаны на одно и то же событие, они выполняются в порядке загрузки: первый загруженный мод видит событие первым, а результат — последним. Благодаря этому можно комбинировать моды разных авторов, выстраивая их в цепочку, как слои обработки.

<Callout type="tip" title="Claude Code может модить сам себя">
Можно просто попросить Claude Code написать мод: он сформулирует TypeScript-код, установит его и подгрузит прямо в твою текущую сессию без перезапуска — hot reload работает и для модов.
</Callout>

## Встроенные функции теперь тоже моды

Часть встроенных возможностей Claude Code уже переведена на архитектуру модов. Например, функция `/diff` (показ изменений в коде) теперь реализована как обычный мод — значит, её можно отключить через `/plugin` или заменить собственной версией с другим поведением.

Anthropic обещает постепенно переводить всё больше встроенных функций на моды, чтобы в итоге Claude Code можно было «раздеть» до минимального ядра и добирать функциональность только там, где она действительно нужна. Это меняет сам подход к инструменту: вместо монолита с фиксированным набором фич — конструктор, где базовый слой минимален, а всё остальное собирается из модов под конкретную задачу.

## Моды для команд и организаций

Поскольку моды распространяются внутри плагинов, на них действуют те же механизмы контроля, что и на любые другие плагины. Администраторы могут разрешать или блокировать целые маркетплейсы плагинов. На тарифах Team и Enterprise владелец аккаунта настраивает это в админ-консоли; на Claude API и сторонних API-тарифах администраторы пушат управляемые настройки прямо на машины пользователей.

На тарифах Team и Enterprise, а также на любой машине с управляемыми настройками, первым всегда загружается встроенный мод под названием `sec-default` («security default»). Его задача — не дать пользовательским модам делать рискованные вещи, например переопределять правила запрета разрешений, установленные администратором. Исходный код `sec-default` открыт, так что можно посмотреть, что именно он ограничивает. Администраторы могут поставить первыми свои собственные моды — но тогда им нужно вручную добавить `sec-default` в список, чтобы сохранить защиту. Этот механизм логично продолжает общий курс Anthropic на контролируемую автономность агентов — похожий подход описан в материале про [безопасность агентов совместно с NVIDIA](/blog/claude-nvidia-agent-safety).

Команды используют моды не только для защиты, но и для построения собственных рабочих процессов и инструментов прямо внутри Claude Code:

| Сценарий | Что делает мод |
|---|---|
| Статус CI/CD | Показывает статус пайплайна в отдельной панели рядом с диалогом, обновляет его при прохождении или падении сборки |
| Защита продакшена | Требует подтверждения перед любой командой, которая трогает конфигурацию продакшена |
| Аудит-логирование | Загружается первым и записывает каждый вызов, который делают все остальные моды |

<Callout type="note">
Если твоя команда уже выстраивает единый бюджет и общую инфраструктуру вокруг Claude, механика плагинов и модов логично ложится в этот же контур управления — подробнее о том, как это устроено на уровне организации, в материале про [единый бюджет на инструменты Claude](/blog/claude-marketplace-snowflake-vercel).
</Callout>

## Чем это отличается от простой настройки

Если ты раньше настраивал Claude Code через конфигурационные файлы или хуки, разница с модами будет сразу заметна. Хуки позволяли реагировать на события, но не могли их переписывать, рисовать интерфейс или заменять логику целиком. Моды снимают это ограничение — они полноценные функции с доступом к событию и возможностью вмешаться в любой момент его жизненного цикла.

| Механизм | Что умеет | Что не умеет |
|---|---|---|
| Хуки | Реагировать на событие, выполнять побочные действия | Переписывать событие, менять интерфейс, заменять фичи |
| Моды | Переписывать, блокировать, оборачивать событие; рисовать интерфейс; заменять встроенные функции | — |

Для новичков, которые только осваивают Claude Code через бесплатный курс zero2claude, моды пока скорее продвинутая тема — но важно понимать направление, в котором движется инструмент: от фиксированного набора команд к открытой платформе, где поведение можно перепрограммировать несколькими строками кода.

## Как начать

Моды доступны уже сегодня в CLI и десктопном приложении Claude Code. Чтобы установить плагин с модом, зайди в каталог Claude или выполни команду `/plugin` в CLI. Если хочешь поделиться своим модом с другими — упакуй его в плагин и отправь в каталог, как любой другой плагин.

Для тех, кто хочет написать свой первый мод, у Anthropic есть отдельное руководство по первым шагам и документация с примерами кода. Проще всего начать с простого сценария — например, редактирования вывода одного инструмента — и постепенно переходить к более сложным цепочкам из нескольких модов.

## Частые вопросы

<Faq>
<FaqItem q="Что такое мод в Claude Code?">

Мод — это небольшая функция на TypeScript, которая подключается к одному из событий Claude Code (вызов инструмента, запрос разрешения, отрисовка интерфейса) и может изменить его поведение: переписать, заблокировать, повторить или дополнить своей логикой.

</FaqItem>
<FaqItem q="Чем моды отличаются от хуков?">

Хуки позволяют реагировать на события, но не могут переписывать их содержимое, рисовать новый интерфейс или заменять встроенные функции целиком. Моды умеют всё это — они работают до события, после него, вместо него или оборачивают его полностью.

</FaqItem>
<FaqItem q="Безопасно ли устанавливать чужие моды?">

Моды запускаются с тем же доступом к машине, что и сам Claude Code, и не изолированы в песочнице. Устанавливать стоит только моды из источников, которым ты доверяешь — так же, как ты относишься к любому стороннему коду на своём компьютере.

</FaqItem>
<FaqItem q="Как моды контролируются в компании?">

Моды ставятся внутри плагинов, поэтому на них действуют существующие политики плагинов: администраторы разрешают или блокируют маркетплейсы. На тарифах Team и Enterprise первым всегда загружается встроенный мод sec-default, который блокирует рискованные действия, например переопределение правил запрета разрешений.

</FaqItem>
<FaqItem q="Можно ли попросить Claude Code написать мод самостоятельно?">

Да. Можно попросить Claude Code создать мод — он напишет код на TypeScript, установит его и подгрузит прямо в текущую сессию без перезапуска, с помощью hot reload.

</FaqItem>
</Faq>

Моды превращают Claude Code из инструмента с фиксированным набором функций в платформу, которую можно перепрограммировать под себя — буквально несколькими строками кода. Для соло-разработчика это значит больше гибкости без ожидания новых релизов, для команд — возможность встроить собственные правила, панели статуса и системы аудита прямо в рабочий процесс. А встроенный `sec-default` держит эту свободу в рамках, не давая модам превратиться в дырку в безопасности.

Если хочешь попробовать всё это руками — начни с бесплатного курса [«Claude Code и терминал: с 0»](/learn/code-terminal).

<Callout type="note" title="Источник">
По мотивам статьи Anthropic «Customize Claude Code with mods in TypeScript». Пересказали по-русски для новичков.
</Callout>
