Третьего сентября 2026 года Anthropic выпустила версию 1.30.0 CLI ant — и вместе с ней команду, которая закрывает дыру, знакомую каждому, кто настраивал агентов командой: всё, что вы собрали в Claude Console или через CLI, живёт только у вас. ant apply переносит агентов, окружения, skills, memory stores и deployments в обычные файлы репозитория — и дальше они меняются через тот же код-ревью, что и остальной код.
Разбор ниже — по официальному анонсу в changelog Anthropic и странице «Manage resources as code with ant apply». Показано, как выглядит файл-описание, как проходит план и применение, что именно пишет claude-lock.json и как гонять всё это в CI. Версии и возможности — на момент публикации, 11.09.2026.
Зачем агентную конфигурацию хранить как код
К осени 2026 конфигурация агентов перестала быть парой строчек в настройках. В Claude Managed Agents это отдельные сущности: агент с системным промптом и набором инструментов, окружение, в котором он работает, skills, которые он умеет подгружать, memory store с накопленными заметками, deployment с расписанием запуска. У команды таких ресурсов десятки, и каждый можно создать в консоли мышкой. Проблема начинается, когда ресурсов много, а членов команды несколько.
Пока конфигурация живёт в консоли, у неё нет ни истории, ни ревью, ни воспроизводимости. Кто-то поменял промпт агента три недели назад — а почему и когда, никто не скажет. Новый разработчик собирает окружение «как у всех» по памяти. Продакшен-агент настроен у одного человека на ноутбуке, и если он ушёл — конфигурацию пришлось бы восстанавливать заново.
ant applycreates and updates Claude API resources from files: agents, environments, skills, memory stores, and deployments. They live in your repository and change through the same review as your code.
ant applyсоздаёт и обновляет ресурсы Claude API из файлов: агентов, окружения, skills, memory stores и deployments. Они живут в вашем репозитории и меняются через то же ревью, что и ваш код.— документация Anthropic, «Manage resources as code with ant apply»
Формулировка «живут в репозитории и меняются через то же ревью» — суть подхода. Это GitOps для агентной конфигурации: те же механизмы, что команды уже применяют к инфраструктуре (Terraform, Helm), теперь доступны для ресурсов Claude API.
Что умеет ant apply: пять типов ресурсов
Ресурсы, которыми управляет ant apply, — это то, что в Claude API описывают отдельные сущности managed agents:
| Тип | Формат файла | Что описывает |
|---|---|---|
| Агент | Markdown в agents/ |
Промпт-конфигурация во frontmatter (модель, инструменты, skills), тело файла — системный промпт |
| Окружение | YAML в environments/ |
Cloud-контейнер: тип, сетевые настройки |
| Skill | Каталог с SKILL.md в skills/ |
Загружается одним бандлом |
| Memory store | YAML в memory_stores/ |
Заметки агента между запусками |
| Deployment | Markdown в deployments/ |
Запуск по расписанию: агент, окружение, cron-выражение |
Таблица — по документации ant apply. Любой ресурс, кроме skill, можно писать в YAML, JSON или Markdown: в Markdown frontmatter несёт конфигурацию, а проза файла заполняет текстовое поле ресурса — системный промпт агента, описание окружения, первое сообщение deployment.

Как выглядит файл-описание агента
Проще всего показать на первом примере из документации — агент-резюмерайзер в одном файле:
# agents/summarizer.md
---
name: Summarizer
model: claude-opus-5
tools:
- type: agent_toolset_20260401
---
You are a helpful assistant that writes concise summaries.
Frontmatter — это конфигурация агента (те же поля, что в API), тело файла — системный промпт. Применяется команда из корня репозитория:
ant apply agents/summarizer.md
В интерактивном терминале ant apply печатает план и ждёт подтверждения:
First apply ./claude-lock.json does not exist yet and will be created
Preview ./claude-lock.json (new)
± Name Plan
+ ./agents/summarizer.md create
Resources + 1 to create
Apply these changes? (y)es / (n)o / (d)etails y
Apply ./claude-lock.json
± Name Status
+ ./agents/summarizer.md created agent_011CYm1BLqPXpQRk5khsSXrs
Resources + 1 created
State written to ./claude-lock.json
Ответ d показывает детали: поля каждого нового ресурса или построчный diff каждого обновления. Флаг --dry-run печатает детальный план и выходит, ничего не меняя. Вывод — из документации ant apply, воспроизведён по образцу официального примера.

ant на GitHub — файловая структура и начало README. Из этого репозитория ставятся релизы вроде v1.30.0. Реальный скриншот.Чтобы изменить агента, правите файл и запускаете ant apply снова — в плане появится update вместо create.
claude-lock.json: что именно записывает lockfile
После первого применения в корне репозитория появляется claude-lock.json. Его содержимое — привязка каждого файла к созданному ресурсу API:
{
"version": 1,
"origin": {
"base_url": "https://api.anthropic.com",
"organization_id": "1b0c2a4d-6c1f-4f0e-9a57-2e8d1c3b4a5f",
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
},
"resources": {
"./agents/summarizer.md": {
"kind": "agent",
"id": "agent_011CYm1BLqPXpQRk5khsSXrs",
"version": "1",
"hash": "d23251c8d99b3613a64f3f8d87f5fad4",
"remote_hash": "1b771bee5bdbf600a5ad972fdac32d94"
}
}
}
Пример — из документации. Lockfile надо коммитить вместе с файлами: именно по нему следующий запуск — локально или в CI — находит уже созданные ресурсы и обновляет их, а не создаёт дубликаты. В origin записаны организация и workspace; в resources — для каждого файла его kind, API-id и две контрольные суммы: hash — что было отправлено последним, remote_hash — что сервер хранит сейчас. По расхождению hash замечается правка файла, по расхождению remote_hash — изменение ресурса снаружи, например в консоли.
ID агента из lockfile нужен и для запуска сессии: ant beta:sessions create --agent-id $(…из claude-lock.json…) — на это прямо ссылается документация в разделе про запуск сессий.
Проект целиком: ресурсы ссылаются друг на друга путями
Одиночный агент — только начало. ant apply понимает целый каталог ресурсов, которые ссылаются друг на друга относительными путями, а не ID. В примере из документации — четыре связанных ресурса и deployment:
ant apply .
# agents/reviewer.md
---
name: Code reviewer
model: claude-opus-5
tools:
- type: agent_toolset_20260401
skills:
- ../skills/pr-summary
---
You review pull requests for correctness, security, and readability.
# environments/cloud.yaml
name: review-env
description: Cloud container with unrestricted networking for review sessions.
config:
type: cloud
networking:
type: unrestricted
# deployments/nightly.md
---
name: Nightly review
agent: ../agents/reviewer.md
environment_id: ../environments/cloud.yaml
resources:
- path: ../memory_stores/review-notes.yaml
access: read_write
schedule:
type: cron
expression: "0 3 * * *"
timezone: America/Los_Angeles
---
Review any open pull requests. Start with the oldest.
Ключевая деталь: ревьюер в skills указывает ../skills/pr-summary, deployment называет агента и окружение путями. ant apply создаёт ресурсы в порядке зависимостей и подставляет реальные ID. При этом ссылки на агентов и skills он закрепляет за той версией, которую только что применил, — правка reviewer.md или skill в том же запуске обновляет всех, кто на них ссылается.
Тип ресурса ant apply определяет сам. При обходе каталога он берёт первое подходящее: явное поле type в файле, каталог, в котором лежит файл (agents/, environments/, memory_stores/, deployments/), либо имя файла, начинающееся с типа ресурса — например environment_staging.md. Файлы, которые не подходят ни под одно правило — README или конфиг CI, — пропускаются, если не названы в командной строке явно. Названный явно Markdown-файл без типа считается агентом; названный явно YAML/JSON — ошибка.
Если нужно сослаться на ресурс, которым файлы не управляют, — пишете его ID (agent_..., skill_...) напрямую. Skill можно подключить и по GitHub-URL вида https://github.com/<owner>/<repo>/tree/<branch>/<dir> — например, каталог из открытого репозитория skills Anthropic: ant apply скачает и загрузит его, закрепив за тем коммитом, который разрешился при первом применении, пока вы не запустите --upgrade.

agents/reviewer.md → ../skills/pr-summary, deployment → агент, окружение, memory store). ant apply . строит граф зависимостей, создаёт ресурсы по порядку и подставляет реальные ID в claude-lock.json. Авторская схема по документации Anthropic.Порядок применения и повторные запуски
Полный цикл «файлы → план → apply → lockfile» повторяется при каждом изменении. Поведение при повторных запусках:
ant applyбез аргументов сверяет каждый файл из lockfile; в терминале он также перечисляет новые untracked-файлы ресурсов в каталоге lockfile и предлагает добавить их.- Удаление поля из файла очищает его у ресурса, если API разрешает очистку. Поле, которое вы никогда не задавали или которое API очистить не может, сохраняет текущее значение.
- Если ресурс изменили, заархивировали или удалили снаружи файлов — в Claude Console, например, — план заканчивается строкой
This plan cannot be applied:с причиной, а команда выходит сrefusing to apply.--forceперезапишет внешнюю правку или создаст замену. - Удаление файла оставляет ресурс на месте с предупреждением;
--pruneудаляет его (архивирует, для skill — удаляет). Переименование файла объявляет новый ресурс, а старый остаётся до prune. - Ресурс, созданный в консоли или через
ant beta:agents create,ant apply«усыновить» не может — управляется только то, что в lockfile. Применить файл, описывающий уже существующего агента, — значит создать второго. Для скачанного из консоли агента есть экспорт «Export as code»: он включает собственныйclaude-lock.json, и применение обновляет ресурсы, созданные в консоли.

ant apply печатает план → одобрение → применение → обновление claude-lock.json → следующий запуск локально или в CI обновляет те же ресурсы. Авторская схема по changelog Anthropic и документации.Запуск в CI: план на PR, применение в main
ant apply спроектирован под конвейер, и документация даёт готовую схему для GitHub Actions. Без терминала команда печатает план и останавливается с сообщением: cannot ask for confirmation without a terminal; re-run with –yes to apply, or –dry-run to see the plan only.
Рекомендации из документации:
- На pull request —
ant apply --dry-run .: печатает план для ревьюеров. Это информационный запуск, он завершается кодом 0, даже если план заблокирован. - В main после merge —
ant apply --yes .: применяет изменения, называя каталог проекта. Голыйant apply --yesсверяет только файлы, которые lockfile уже отслеживает, и пропускает новые. - Коммитить обновлённый claude-lock.json в конце джобы, даже если apply упал на полпути — частичное применение всё равно записало, что создало.
- Один apply за раз: lockfile никем не блокируется, поэтому параллельные запуски небезопасны — в workflow для этого нужен concurrency guard.
- Аутентификация — через Workload Identity Federation, а не хранимый API-ключ:
ant applyотказывает credentials, которые резолвятся в другую организацию или workspace, нежели записаны в lockfile.
Полный пример GitHub Actions workflow есть в README репозитория anthropic-cli: protected environment, OIDC-токен, шаг Apply с ant apply --yes и шаг коммита lockfile с пометкой [skip ci], чтобы коммит не триггерил workflow заново.
Сравнение: как было и как стало
Нагляднее всего разница видна в таблице — ручная настройка агентов против ресурсов-как-кода:
| Шаг | Ручная настройка | ant apply |
|---|---|---|
| Где живёт конфигурация | Claude Console / команды CLI на одной машине | Файлы в репозитории |
| История изменений | Нет | Git-история |
| Ревью | Никто не видит, что менялось | Код-ревью на PR |
| Новый член команды | Настраивает «как у всех» по памяти | Клонирует репозиторий, ant apply --yes |
| Воспроизводимость в CI | Нет | План на PR, применение в main |
| Конфликт с правками в консоли | Не виден | Заметен: This plan cannot be applied |
| Ссылки между ресурсами | ID вручную | Относительные пути, ID подставляет ant |
Подход не отменяет консоль — отменяет консоль как единственное место правды. И это ровно тот же сдвиг, что команды уже делали с инфраструктурой: от «настроил в панели» к «описал в коде».
Честные ограничения
- Функция свежая.
ant applyпоявилась в релизе от 03.09.2026 — на момент публикации (11.09.2026) ей чуть больше недели. Практических отчётов «прогнали в продакшене месяц» нет по определению. - Только Claude Managed Agents. Инструмент управляет ресурсами managed агентов Anthropic — это не про локальные конфиги Claude Code (агенты, skills, AGENTS.md на вашей машине). Локальная экосистема живёт отдельно, и это разные слои.
- Требуется CLI 1.30.0+ и аккаунт Claude Console.
ant auth login— OAuth-флоу против Claude Console. Без поддерживаемого региона и способа оплаты не запустится (см. блок про РФ). - Один lockfile — одна организация/workspace. Для нескольких организаций или workspace нужны отдельные lockfile (флаг
--lock-file <path>), потому чтоant applyотказывается от lockfile с несовпадающей организацией. - Усыновление чужих ресурсов не поддержано. Созданное в консоли или через
ant beta:agents createнельзя взять под управление — только экспорт «Export as code», который приносит свой lockfile. - Агенты, как и раньше, не «деплоятся» в смысле версий. Изменение файла и apply меняют живой ресурс; откат — это git revert и повторный apply, а не переключение версии.
Российские реалии
ant apply — команда официального CLI Anthropic, и российская специфика здесь ровно та же, что у всей платформы Claude: дело не в самой команде, а в доступе к API и консоли.
Доступ. Россия не входит в список поддерживаемых стран Anthropic (официальный список). platform.claude.com и docs.claude.com отдают geo-block с российских IP — проверено при подготовке этой статьи: страница документации ant apply с российского адреса возвращает экран «App unavailable in region». Без VPN документацию не открыть, ant auth login и API — тоже.
Оплата. Visa и Mastercard российских банков не принимаются. Реальные пути на момент публикации: карта зарубежного банка, UnionPay (не у всех эмитентов), криптовалюта через посредников, сервисы, продающие usage credits, либо юрлицо в поддерживаемой стране. Подробный разбор схем оплаты Anthropic из РФ есть в статье про Claude Code API.
Русскоязычный опыт. Русскоязычных разборов именно ant apply на момент публикации нет — инструменту чуть больше недели, и в рунете его ещё не разбирали. Смежные материалы есть: «Как использовать Claude в России в 2026» на Habr — про geo-block API и оплату, практика из РФ в «Как стать вайбкодером» — про запуск Claude через посредников, VPN и риск бана. Общий вывод для российских команд: сама механика ant apply (файлы → план → lockfile → CI) от региона не зависит, но без доступа к консоли и оплаты запустить её не получится — пока не решён вопрос доступа, ценность подхода для РФ в основном теоретическая.
Если доступ есть — например, компания работает через юрлицо в Казахстане или Турции, — ant apply снимает боль, которая у российских команд острее: конфигурация агентов перестаёт зависеть от одного ноутбука и от того, кто как «помнит» настройку.
Вывод
ant apply — это ответ Anthropic на вопрос, который команды задают с момента появления managed-агентов: как сделать конфигурацию агентов такой же управляемой, как код. Пять типов ресурсов описываются файлами в репозитории, ссылки между ними — относительными путями, изменения проходят план, ревью и CI, а claude-lock.json фиксирует, какой файл каким ресурсом стал. Повторный запуск на любой машине обновляет те же ресурсы, а не плодит дубликаты.
Практическое правило простое: если у команды больше пары агентов и окружений, которые кто-то настраивал вручную, — стоит попробовать перенести их в файлы. Начать можно с одного агента: ant apply agents/summarizer.md, закоммитить lockfile, дальше расти до полного каталога. А если конфигурации всего одна и настраивал её один человек — пока подождите, оверхед не окупится.
Дальше по теме: Claude Code через API, что такое агентный кодинг, AGENTS.md — файл конвенций, контекст агента, ИИ для программистов в терминале, мультиагентные workflow.
Соседняя статья недели — статье «Свои ИИ-агенты: как создать и настроить агента под свой проект».
