SpyBara
Go Premium

routines.md 2026-10-23 22:59 UTC to 2026-10-24 22:59 UTC

This page contains 20 additions and 2 deletions.

2026
Thu 1 23:59 Fri 2 22:59 Sat 3 23:57 Wed 7 23:59 Thu 8 22:58 Sat 10 23:01 Wed 14 22:58 Tue 20 23:00 Wed 21 23:02 Thu 22 22:58 Fri 23 22:59 Sat 24 22:59 Sun 25 23:58 Tue 27 22:59 Fri 30 23:01

Автоматизация работы с помощью запланированных задач

Переведите Claude Code на автопилот. Создавайте запланированные задачи (ранее routines), которые запускаются в облаке по расписанию, при вызовах API или по событиям GitHub.

[!NOTE]

Запланированные задачи находятся в стадии research preview. Поведение, ограничения и интерфейс API могут измениться.

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

К каждой запланированной задаче можно прикрепить один или несколько триггеров:

  • Schedule: запуск по повторяющемуся расписанию, например ежечасно, еженощно или еженедельно, либо один раз в определённое время в будущем
  • API: запуск по требованию путём отправки HTTP POST на собственный эндпоинт задачи с Bearer-токеном
  • GitHub: автоматический запуск в ответ на события репозитория, такие как pull request или релизы

Одна запланированная задача может сочетать несколько триггеров. Например, задача код-ревью PR может запускаться каждую ночь, вызываться из скрипта развёртывания и также реагировать на каждый новый PR.

Запланированной задаче не обязательно нужно расписание:

  • Задача только с триггером API запускается, когда вы вызываете её эндпоинт.
  • Задача только с триггером GitHub запускается, когда происходит соответствующее событие репозитория.

Запланированные задачи доступны в планах Pro, Max, Team и Enterprise. Создавайте их и управляйте ими на claude.ai/code/routines или из CLI с помощью /schedule. Прежнее название, routines, по-прежнему встречается.

[!NOTE]

Две другие функции планируют работу на вашем компьютере, а не в облаке: запланированные задачи Desktop и /loop. Чтобы выбрать один из трёх вариантов, см. Сравнение вариантов планирования.

Владельцы (Owner) в Team и Enterprise могут отключить запланированные задачи для всех участников с помощью переключателя Scheduled tasks (Was Routines) в разделе Organization settings > Capabilities > Remote sessions. Когда переключатель выключен, существующие запланированные задачи перестают запускаться, а участники не могут создавать новые.

Если ваша организация Enterprise управляет вашим доступом с помощью пользовательских ролей, вам также нужна роль, включающая разрешение на запланированные задачи. Владелец (Owner) может добавить его в разделе Remote sessions роли на странице Organization settings > Roles.

Примеры использования

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

  • Обслуживание бэклога: триггер расписания запускается каждый вечер по будням в вашем репозитории, а ваш трекер задач добавлен как коннектор. Запланированная задача читает задачи, открытые с момента последнего запуска, проставляет метки и назначает ответственных в зависимости от затронутой области кода. Затем она публикует сводку в Slack, чтобы команда начинала день с упорядоченной очередью.
  • Сортировка оповещений: ваш инструмент мониторинга вызывает эндпоинт API запланированной задачи при превышении порога ошибок, передавая тело оповещения как text. Промпт задачи указывает Claude исследовать оповещение из переданных при запуске данных, поэтому он извлекает трассировку стека и сопоставляет её с недавними коммитами в репозитории. Затем он открывает черновой pull request с предлагаемым исправлением и ссылкой на оповещение. Дежурный инженер просматривает PR вместо того, чтобы начинать с пустого терминала.
  • Код-ревью по собственным правилам: триггер GitHub срабатывает на pull_request.opened. Запланированная задача применяет собственный чек-лист ревью вашей команды и оставляет встроенные комментарии по проблемам безопасности, производительности и стиля. Она также добавляет сводный комментарий, чтобы рецензенты-люди могли сосредоточиться на архитектуре, а не на механических проверках.
  • Проверка развёртывания: ваш CD-конвейер вызывает эндпоинт API запланированной задачи после каждого развёртывания в production. Задача выполняет smoke-проверки новой сборки, сканирует логи ошибок на предмет регрессий и публикует решение go или no-go в канал релизов до закрытия окна развёртывания.
  • Расхождение документации: триггер расписания запускается еженедельно. Запланированная задача просматривает PR, слитые с момента последнего запуска, помечает документацию, ссылающуюся на изменённые API, и открывает PR с обновлениями в репозитории документации для проверки редактором.
  • Портирование библиотеки: триггер GitHub срабатывает на pull_request.closed с фильтром по слитым PR в одном репозитории SDK. Запланированная задача переносит изменение в параллельный SDK на другом языке и открывает соответствующий PR, поддерживая синхронность двух библиотек без того, чтобы человек заново реализовывал каждое изменение.

Создание запланированной задачи

Создайте запланированную задачу в веб-версии на claude.ai/code/routines, в приложении Desktop или в CLI. Все три интерфейса записывают данные в одну и ту же облачную учётную запись, поэтому задача, созданная в одном из них, сразу появляется в остальных. В приложении Desktop на вкладке Code нажмите Scheduled на боковой панели или в меню More боковой панели, затем New task и продолжайте по инструкции Создание в веб-версии.

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

То, к чему может получить доступ запланированная задача, определяется:

  • Выбранными вами репозиториями
  • Сетевым доступом и переменными окружения
  • Включёнными вами коннекторами

Ограничьте каждый из этих пунктов тем, что действительно нужно задаче.

Запланированные задачи принадлежат вашей личной учётной записи claude.ai. Они не доступны коллегам, а их запуски учитываются в использовании и лимитах вашей учётной записи. Всё, что запланированная задача делает через подключённую вами учётную запись GitHub или коннекторы, выполняется от вашего имени. Коммиты и pull request создаются от вашего пользователя GitHub, а сообщения в Slack, задачи в Linear и другие действия коннекторов используют ваши связанные учётные записи в этих сервисах.

Создание в веб-версии

1. Откройте диалоговое окно создания

Перейдите на claude.ai/code/routines и нажмите New task, чтобы открыть диалоговое окно New scheduled task. Прежде чем продолжить, проверьте, не появился ли один из этих экранов:

  • Если на кнопке написано New routine вместо New task, нажмите New routine и продолжайте по разделу Полностраничная форма.
  • Если в приложении Desktop открывается меню с пунктами Local и Cloud, перейдите к разделу Полностраничная форма.
  • Если открывается меню с пунктами Create with Claude и Set up manually, выберите Set up manually, чтобы открыть диалоговое окно. Вариант Create with Claude позволяет описать задачу в чате, чтобы Claude создал её вместо вас.
  • Если вместо диалогового окна открывается целая страница, перейдите к разделу Полностраничная форма.

Если при открытии диалогового окна уже отображаются Repositories и Environment, см. чем отличается это диалоговое окно. В противном случае это диалоговое окно также создаёт запланированные задачи для чата claude.ai. Чтобы ваша задача стала тем, что диалоговое окно называет задачей Claude Code, выберите репозиторий или добавьте триггер события GitHub или API на следующих шагах. Задача такого типа запускает Claude Code в облачной сессии.

2. Назовите задачу и напишите промпт

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

Когда срабатывает триггер, сессия получает сохранённый промпт как своё задание и выполняет его, а не рассматривает как недоверенный контент, поступивший посреди диалога. Триггер лишь удостоверяет, что промпт был заранее сохранён авторизованной сессией в вашей учётной записи. Поэтому сработавший промпт не является живым вводом пользователя и не может служить подтверждением или согласием на действия во время запуска. Контент, который сессия получает во время запуска, обрабатывается как обычно.

3. Выберите триггер

В строке Trigger выберите, как запускается задача. Чтобы объединить несколько триггеров, нажмите + в конце строки.

Schedule

Выберите предустановленную частоту для повторяющегося запуска. См. Добавление триггера расписания, чтобы узнать об обработке часовых поясов, запоздалых запусках, пользовательских интервалах cron и однократных запусках.

GitHub event

Выберите репозиторий, событие, на которое нужно реагировать, и при необходимости фильтры. См. Добавление триггера GitHub для полного списка поддерживаемых событий и полей фильтров.

API

Выберите здесь API. Когда вы нажмёте Create, диалоговое окно API token один раз покажет токен, поэтому скопируйте его, прежде чем закрыть окно. См. Добавление триггера API, чтобы скопировать URL или сгенерировать новый токен.

4. Выберите репозитории

Разверните Advanced settings. В разделе Repository на вкладке General выберите один или несколько репозиториев GitHub, в которых будет работать Claude.

Каждый репозиторий клонируется в начале запуска. Claude создаёт для своих изменений ветки с префиксом claude/.

5. Выберите окружение

После выбора репозитория под ним появляется Cloud environment. Выберите облачное окружение для задачи. Окружения определяют, к чему имеет доступ облачная сессия:

  • Network access: задайте уровень доступа в интернет во время каждого запуска
  • Environment variables: укажите значения, которые Claude может использовать во время каждого запуска. Они видны всем, кто использует окружение, поэтому в окружении, размещённом Anthropic, храните ключи для API, которые Claude вызывает во время запуска, в виде сетевых секретов. В том же разделе перечислены запросы, которые никогда не получают секрет
  • Setup script: установите зависимости и инструменты, нужные задаче. Результат кэшируется, поэтому скрипт не выполняется заново в каждой сессии

Предоставляется окружение Default с сетевым доступом Trusted, который разрешает через сеть сессии только список разрешённых доменов по умолчанию: реестры пакетов, API облачных провайдеров, реестры контейнеров и распространённые домены разработки. Коннекторы, которые вы добавляете в задачу, обращаются к своим сервисам через серверы Anthropic, поэтому для них не нужно менять список разрешённых доменов.

Если вашей задаче нужно обращаться напрямую к вашим собственным сервисам или к домену вне этого списка, измените сетевой доступ окружения перед запуском. Чтобы использовать отдельное окружение, сначала создайте его.

6. Проверьте коннекторы

Перейдите на вкладку Connectors в Advanced settings. Все ваши подключённые MCP-коннекторы включены по умолчанию. Удалите те, что не нужны задаче: Claude может использовать включённый коннектор во время запуска, в том числе для операций записи. О том, когда запуск останавливается, чтобы сначала спросить вас, см. Запросы разрешений во время запуска.

7. Создайте задачу

Нажмите Create. Диалоговое окно закроется, и откроется страница сведений о новой задаче. Задача запустится в следующий раз, когда сработает один из её триггеров. Чтобы запустить её немедленно, нажмите Run now на странице сведений.

Чтобы увидеть, что было сделано во время запуска, нажмите на него в списке History на странице сведений. Запуск открывается как полноценная сессия — новая для каждого запуска, — где можно увидеть, что сделал Claude, проверить изменения и создать pull request.

Диалоговое окно с Repositories и Environment в основном представлении

Следуйте шагам создания в веб-версии, заполняя каждое поле в основном представлении диалогового окна, а не в Advanced settings. Это диалоговое окно создаёт только задачи Claude Code.

Выберите репозиторий до того, как добавлять триггер события GitHub, поскольку этот триггер недоступен, пока репозиторий не выбран.

Полностраничная форма

Если в приложении Desktop открывается меню с пунктами Local и Cloud, выберите Cloud. Откроется страница с заголовком New routine или New scheduled task. Заполните её поля:

  • Name: введите имя.
  • Instructions: введите промпт. В том же поле выберите модель, репозитории и окружение. О том, что определяет каждый из этих параметров, см. шаги в разделе Создание в веб-версии.
  • Select a trigger: выберите Schedule, GitHub event или API. Для расписания см. Добавление триггера расписания. Для события GitHub выберите репозиторий. Для триггера API скопируйте токен из диалогового окна API token, которое откроется после нажатия Create, поскольку он показывается один раз. Чтобы объединить несколько триггеров, нажмите Add another trigger.
  • Connectors: все ваши подключённые коннекторы включены по умолчанию, поэтому удалите те, что не нужны задаче.

Если кнопка Create недоступна, наведите на неё курсор, чтобы увидеть, чего ещё не хватает в форме. Нажмите Create, и откроется страница сведений о задаче.

Создание из CLI

Выполните /schedule в любой сессии, чтобы создать запланированную задачу в формате диалога. Можно также сразу передать описание: для повторяющейся задачи, например /schedule daily PR review at 9am, или для однократной, например /schedule clean up feature flag in one week. Claude соберёт ту же информацию, что и веб-форма, а затем сохранит задачу в вашей учётной записи. Команда также доступна под псевдонимом /routines.

Успешный старт выглядит как диалог: перед сохранением Claude задаёт уточняющие вопросы о расписании, репозиториях и промпте. Если вместо этого Claude отвечает, что нужно пройти аутентификацию или что он не может подключиться к вашей удалённой учётной записи claude.ai, запланированная задача не создана; см. Устранение неполадок.

Задача, созданная с помощью /schedule, имеет триггер расписания. Можно также добавить триггеры других типов:

  • Триггер API: отредактируйте задачу в веб-версии на claude.ai/code/routines
  • Триггер GitHub: отредактируйте задачу в веб-версии или попросите Claude в CLI. Для добавления из CLI требуется Claude Code v2.1.225 или новее

У запланированной задачи без триггера расписания, например запускаемой только вызовами API или событиями GitHub, нет времени следующего запуска. CLI не показывает его, когда Claude сохраняет или обновляет такую задачу. До v2.1.211 CLI сообщал для таких задач время следующего запуска в 1 году.

Настройка триггеров

Запланированная задача запускается, когда срабатывает один из её триггеров. Добавлять и удалять триггеры задачи можно в любой момент в строке Trigger диалогового окна редактирования задачи.

Если у задачи два или более триггеров, у каждого из них в этом окне есть значок корзины. Чтобы удалить триггер расписания или события GitHub, нажмите его значок корзины, затем Save changes. Чтобы удалить триггер API, вместо этого удалите его токен.

Добавление триггера расписания

Триггер расписания запускает задачу по повторяющемуся расписанию или один раз в определённое время в будущем. В диалоговом окне создания или редактирования задачи в веб-версии выберите предустановленную частоту, например ежечасно, ежедневно или еженедельно:

  • Запуски ровно в начале часа: если запланировать запуск ровно на начало часа, например на 9:00, он может начаться на несколько минут позже. Чтобы запуск начинался ближе к запланированному времени, выберите несколько минут после начала часа, например 9:07.
  • Пользовательские интервалы: для частоты, которой нет среди предустановленных вариантов, создайте задачу и выберите Custom в её диалоговом окне редактирования. Затем введите выражение cron, например 0 */2 * * * для запуска каждые два часа. Чтобы задать его из CLI, выполните /schedule update. Выражения с запуском чаще одного раза в час отклоняются.
  • Часовой пояс: при выборе предустановленной частоты вводите время в вашем локальном часовом поясе.
  • Часовой пояс выражения cron: если выражение состоит только из пяти полей, указывайте часы в UTC, так что 0 9 * * 1-5 запускается в 9:00 UTC по будним дням. Если поле начинается с префикса CRON_TZ=, сохраните его и указывайте часы в его часовом поясе или удалите его и указывайте часы в UTC.

Однократный запуск

Однократное расписание запускает задачу один раз в указанный момент времени. Например, используйте его, чтобы:

  • Напомнить себе о чём-то позже на неделе
  • Открыть PR с очисткой после завершения выкатки
  • Начать последующую работу после выхода изменения в вышестоящем проекте

После запуска задача автоматически отключается, и веб-интерфейс помечает её как Completed. Чтобы запустить её снова, откройте диалоговое окно редактирования задачи в веб-версии и выберите One-time или Once — в зависимости от того, какая метка отображается в вашем окне. Затем задайте новые дату и время в вашем локальном часовом поясе и сохраните.

Создайте однократный запуск из CLI, описав время на естественном языке. Claude интерпретирует фразу относительно текущего времени и перед сохранением подтверждает абсолютную метку времени.

/schedule tomorrow at 9am, summarize yesterday's merged PRs
/schedule in 2 weeks, open a cleanup PR that removes the feature flag

Однократные запуски учитываются в том же почасовом лимите, что и другие запуски по расписанию. Подробности см. в разделе Использование и лимиты.

Добавление триггера API

Триггер API предоставляет запланированной задаче выделенный HTTP-эндпоинт. POST-запрос к эндпоинту с Bearer-токеном задачи запускает новую сессию и возвращает URL сессии. Используйте это, чтобы встроить Claude Code в системы оповещений, конвейеры развёртывания, внутренние инструменты или в любое место, откуда можно отправить аутентифицированный HTTP-запрос.

Добавьте триггер API в веб-версии — либо при создании задачи, либо позже, выполнив шаги ниже. Добавить триггер API или управлять его токеном из CLI нельзя.

1. Откройте задачу для редактирования

Перейдите на claude.ai/code/routines, нажмите на запланированную задачу, которую хотите запускать через API, затем откройте меню рядом с её названием и выберите Edit. Откроется диалоговое окно Edit scheduled task.

2. Добавьте триггер API

В строке Trigger нажмите + и выберите API в открывшемся меню. Появится панель с Fire URL и Token для этой задачи.

3. Скопируйте URL и сгенерируйте токен

Скопируйте Fire URL. Нажмите Generate token, затем сразу скопируйте токен из диалогового окна Token generated. Токен показывается один раз и не может быть получен позже, поэтому сохраните его в надёжном месте, например в хранилище секретов вашего инструмента оповещений.

Триггер API вступает в силу сразу после генерации токена. Нажимать Save changes не нужно, поэтому по завершении просто закройте диалоговое окно.

4. Вызовите эндпоинт

Передайте токен в заголовке Authorization: Bearer при отправке POST-запроса на URL. Полный пример приведён в разделе Запуск запланированной задачи.

У каждой запланированной задачи есть собственный токен, действие которого ограничено запуском только этой задачи. Чтобы отключить доступ через API или сменить токен, снова откройте диалоговое окно Edit scheduled task задачи. Оба элемента управления находятся рядом с токеном на панели триггера API и действуют немедленно:

  • Отключить доступ через API: нажмите Delete token — значок корзины рядом с Regenerate. Это удаляет триггер API
  • Сменить токен: нажмите Regenerate. Предыдущий токен перестаёт работать, а диалоговое окно Token generated один раз показывает новый

Запуск запланированной задачи

Отправьте POST-запрос на эндпоинт /fire с Bearer-токеном в заголовке Authorization. Тело запроса принимает необязательное поле text для контекста конкретного запуска, например тела оповещения или лога с ошибкой; оно передаётся задаче вместе с её сохранённым промптом. Значение — это произвольный текст, и он не разбирается: если вы отправите JSON или другие структурированные данные, задача получит их как буквальную строку.

Значение text не доходит до routine как простое сообщение. Оно приходит обёрнутым в блок <routine-fire-payload>, который помечает его как недоверенные данные и указывает Claude не следовать инструкциям внутри него, если этого не требует собственный промпт routine. Такая же обёртка применяется к тексту, переданному через Run now в веб-интерфейсе.

Это означает, что сохранённый промпт routine должен явно разрешать действовать на основе текста запуска: напишите промпт так, чтобы он явно ссылался на эти данные, например «Investigate the alert described in the routine-fire-payload block», иначе routine будет рассматривать текст как пассивный контекст. Любой, у кого есть Bearer-токен, может отправить text, поэтому благодаря обёртке текст запуска, отправленный с утёкшим токеном, приходит помеченным как недоверенные данные, а не как прямые инструкции для вашей routine.

Пример ниже запускает запланированную задачу из оболочки. Показанные ID задачи и токен — заполнители: замените их на URL и токен, которые вы скопировали при добавлении триггера API, иначе запрос завершится ошибкой аутентификации 401:

curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \
  -H "Authorization: Bearer sk-ant-oat01-xxxxx" \
  -H "anthropic-beta: experimental-cc-routine-2026-04-01" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'

Успешный запрос возвращает тело JSON с ID и URL новой сессии:

{
  "type": "routine_fire",
  "claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
  "claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}

Откройте URL сессии в браузере, чтобы наблюдать за запуском в реальном времени, проверить изменения или продолжить диалог вручную.

[!WARNING]

Эндпоинт /fire предоставляется под бета-заголовком experimental-cc-routine-2026-04-01. Форматы запросов и ответов, ограничения частоты запросов и семантика токенов могут измениться, пока функция находится в стадии research preview. Несовместимые изменения выпускаются под новыми датированными версиями бета-заголовка, а две последние предыдущие версии заголовка продолжают работать, чтобы у вызывающих сторон было время на миграцию.

Справочник API

Полный справочник API, включая все ответы с ошибками, правила валидации и ограничения полей, см. в разделе Trigger a routine through the API документации Claude Platform.

Эндпоинт /fire доступен только пользователям claude.ai и не входит в Claude Platform API.

Добавление триггера GitHub

Триггер GitHub автоматически запускает новую сессию, когда в подключённом репозитории происходит соответствующее событие. Claude Code не использует одну сессию для разных событий, поэтому два обновления PR создают две независимые сессии.

[!NOTE]

На события вебхуков GitHub действуют почасовые ограничения для каждой задачи и для каждой учётной записи. События сверх лимита отбрасываются до сброса окна.

Приложение Claude GitHub App должно быть установлено в репозитории, на события которого вы хотите подписаться, независимо от того, из какого интерфейса вы настраиваете триггер.

  • Настраивайте триггеры GitHub в веб-интерфейсе, который предложит установить приложение, если оно отсутствует. Чтобы настроить триггер в веб-версии, выполните шаги ниже.
  • В CLI сначала установите приложение со страницы GitHub App, затем попросите Claude прикрепить триггер GitHub к существующей запланированной задаче, например /schedule add a GitHub trigger to my nightly review for pull requests opened in acme/webapp. Для этого способа через CLI требуется Claude Code v2.1.225 или новее. Добавив триггер, Claude отвечает ссылкой на задачу, которую запускает этот триггер.

1. Откройте задачу для редактирования

Перейдите на claude.ai/code/routines, нажмите на запланированную задачу, затем откройте меню рядом с её названием и выберите Edit. Откроется диалоговое окно Edit scheduled task.

2. Добавьте триггер события GitHub

В строке Trigger нажмите + и выберите GitHub event в открывшемся меню.

[!NOTE]

Выполнение /web-setup в CLI предоставляет доступ к репозиторию для клонирования, но не устанавливает Claude GitHub App и не включает доставку вебхуков.

3. Настройте триггер

При необходимости измените репозиторий, выберите событие из списка поддерживаемых событий и при желании добавьте фильтры. Затем нажмите Save changes внизу диалогового окна, чтобы применить триггер.

Поддерживаемые события

Триггеры GitHub могут подписываться на любую из следующих категорий событий. В каждой категории можно выбрать конкретное действие, например pull_request.opened, или реагировать на все действия категории.

Событие Срабатывает, когда
Pull request PR открывается, закрывается, назначается, получает метку, синхронизируется или обновляется иным образом
Release Релиз создаётся, публикуется, редактируется или удаляется

Фильтрация pull request

Используйте фильтры, чтобы сузить круг pull request, которые запускают новую сессию. Чтобы запланированная задача сработала, должны выполняться все условия фильтров. Доступные поля фильтров:

Фильтр Совпадает с
Author Имя пользователя GitHub автора PR
Title Текст заголовка PR
Body Текст описания PR
Base branch Ветка, в которую направлен PR
Head branch Ветка, из которой создан PR
Labels Метки, назначенные PR
Is draft Находится ли PR в состоянии черновика
Is merged Был ли PR слит

Каждый фильтр связывает поле с оператором: equals, contains, starts with, is one of, is not one of или matches regex.

Оператор matches regex проверяет всё значение поля, а не подстроку внутри него. Чтобы найти любой заголовок, содержащий hotfix, напишите .*hotfix.*. Без окружающих .* фильтр совпадёт только с заголовком, который в точности равен hotfix без каких-либо символов до или после. Для буквального поиска подстроки без синтаксиса регулярных выражений используйте оператор contains.

Несколько примеров сочетаний фильтров:

  • Ревью модуля аутентификации: base branch main, head branch contains auth-provider. Отправляет любой PR, затрагивающий аутентификацию, специализированному рецензенту.
  • Только готовые к ревью: is draft равно false. Пропускает черновики, поэтому задача запускается только тогда, когда PR готов к ревью.
  • Бэкпорт по метке: labels include needs-backport. Запускает задачу переноса в другую ветку только тогда, когда мейнтейнер помечает PR.

Управление запланированными задачами

Нажмите на запланированную задачу в списке, чтобы открыть страницу её сведений. Страница сведений показывает репозитории задачи, коннекторы, промпт, расписание, токены API, триггеры GitHub и список прошлых запусков.

Просмотр запусков и работа с ними

Нажмите на любой запуск, чтобы открыть его как полноценную сессию. Там можно увидеть, что сделал Claude, проверить изменения, создать pull request или продолжить диалог. Каждая сессия запуска работает как любая другая сессия: используйте выпадающее меню рядом с заголовком сессии, чтобы переименовать, архивировать или удалить её.

[!NOTE]

Зелёный статус в списке запусков означает, что сессия запустилась и завершилась без ошибки инфраструктуры. Это не означает, что работа, описанная в вашем промпте, выполнена успешно. Откройте запуск, чтобы прочитать транскрипт и убедиться, что именно сделал Claude. Заблокированные сетевые запросы, отсутствующие инструменты коннекторов и сбои в самой работе отображаются там, а не в индикаторе статуса.

Редактирование запланированных задач и управление ими

На странице сведений можно:

  • Нажать Run now, чтобы начать запуск немедленно, не дожидаясь следующего запланированного времени.
  • Использовать переключатель вверху страницы, чтобы приостановить или возобновить расписание. Приостановленные задачи сохраняют конфигурацию, но не запускаются, пока вы снова их не включите.
  • Открыть меню рядом с названием задачи и выбрать Edit, чтобы изменить название, промпт, репозитории, окружение, коннекторы или любые триггеры задачи. Откроется диалоговое окно Edit scheduled task с той же компоновкой, что и диалоговое окно создания. Чтобы добавить триггер, нажмите + в строке Trigger. Нажмите Save changes, чтобы применить изменения. Действия с токенами API вступают в силу сразу, без Save changes.
  • Открыть то же меню и выбрать Delete, чтобы удалить задачу.

Управление запланированными задачами из CLI

Выполните /schedule list, чтобы увидеть свои запланированные задачи, /schedule update, чтобы изменить одну из них, или /schedule run, чтобы немедленно её запустить.

Можно также спросить об истории запусков запланированной задачи, например /schedule why did my nightly review do nothing this morning?. Claude выводит список недавних запусков задачи с их статусом и ссылкой, чтобы открыть каждый запуск в веб-версии. Он также читает лог запуска, чтобы объяснить, что произошло, включая ошибки инструментов, отказы в разрешениях и итоговый результат. Требуется Claude Code v2.1.227 или новее.

Репозитории и разрешения для веток

Запланированным задачам нужен доступ к GitHub для клонирования репозиториев. Когда вы создаёте запланированную задачу из CLI с помощью /schedule, Claude проверяет, есть ли у вашей учётной записи доступ к GitHub для репозитория, из которого вы выполнили команду. Если доступа нет, Claude добавляет примечание по настройке с указанием, как его предоставить.

[!NOTE]

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

Если на момент запланированного запуска подключение к GitHub отсутствует или истекло, запланированная задача пропускает запуски, пока вы не переподключитесь, — в течение не более 72 часов. Переподключите GitHub в этот период, и задача возобновится сама. Если подключения нет более 72 часов, задача отключается, и после переподключения GitHub её нужно включить снова.

Каждый добавленный репозиторий клонируется при каждом запуске. Claude начинает с ветки репозитория по умолчанию, если ваш промпт не указывает иное. Если запуск инициирован событием pull request в GitHub и репозиторий pull request является первым репозиторием задачи, этот репозиторий вместо этого начинает с головного коммита pull request.

Claude отправляет свою работу в ветку с префиксом claude/, если только ваш промпт не указывает отправить изменения в другую ветку. Чтобы контролировать, в какие ветки запуск может отправлять изменения, используйте правила защиты веток или наборы правил (rulesets) на GitHub. Для запусков в инфраструктуре, управляемой Anthropic, и для самостоятельно размещённых запусков, которые отправляют изменения через git-прокси Anthropic, GitHub применяет их к подключённому вами доступу GitHub, поэтому правило, которое этот доступ может обойти, не блокирует отправку изменений запуском. Самостоятельно размещённый запуск, который отправляет изменения с учётными данными git, предоставленными вашим развёртыванием, вместо этого проверяется на соответствие этим учётным данным. См. Настройка git.

Коннекторы

Запланированные задачи могут использовать подключённые вами MCP-коннекторы для чтения из внешних сервисов и записи в них во время каждого запуска. Например, задача, сортирующая обращения в поддержку, может читать канал Slack и создавать задачи в Linear.

Коннекторы — это интеграции claude.ai в вашей учётной записи. MCP-серверы, которые вы добавили локально в CLI с помощью claude mcp add, хранятся на вашем компьютере, а не в учётной записи claude.ai, поэтому они не отображаются в списке коннекторов. Чтобы использовать такой сервер в запланированной задаче:

  • Как коннектор: добавьте его как коннектор на claude.ai/customize/connectors
  • В репозитории: для запланированной задачи с одним репозиторием можно вместо этого объявить сервер в закоммиченном файле .mcp.json, если только задача не выполняется в виде потоков в проекте. В этом случае добавьте сервер как коннектор.

При создании запланированной задачи все подключённые на данный момент коннекторы включаются по умолчанию. Удалите ненужные, чтобы ограничить набор инструментов, доступных Claude во время запуска. Коннекторы можно также добавлять прямо в диалоговом окне создания или редактирования задачи.

Чтобы управлять коннекторами или добавлять их вне этого диалогового окна, перейдите на claude.ai/customize/connectors или используйте /schedule update в CLI.

Запросы разрешений во время запуска

[!NOTE]

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

Когда запуск начинает новую сессию в облаке Anthropic, эта сессия стартует в авторежиме, если только авторежим не недоступен. В авторежиме модель-классификатор разрешает или блокирует действия, которые иначе ожидали бы вашего подтверждения.

Запуск всё равно останавливается и ждёт ответа, например, в следующих случаях:

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

В проекте запуск может продолжить поток, а не начать новую сессию. Такой запуск сохраняет тот режим разрешений, в котором поток находится в этот момент. При создании этого потока он запускался в авторежиме, если только авторежим не был недоступен. Чтобы ответить на запрос, ожидающий в этом потоке, см. Разблокировка потока, ожидающего подтверждения.

Когда запуск публикует артефакт без запроса

Во время запуска в авторежиме Claude публикует артефакт без запроса, как только классификатор разрешает публикацию. Вас всё равно спросят заранее, например, когда публикация соответствует правилу ask. Новый артефакт виден только вам, пока вы не поделитесь им. Описанные ниже правила режима Accept edits в авторежиме не применяются.

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

Артефакты в режиме Accept edits

Когда запуск начинается по расписанию запланированной задачи или по кнопке Run now, Claude может опубликовать новый артефакт без запроса. Новый артефакт виден только вам, пока вы не поделитесь им. Если публикация объявляет для страницы возможности времени выполнения, такие как вызовы коннекторов или скачивание файлов, Claude сначала спрашивает.

В таких запусках Claude повторно публикует существующий артефакт без запроса, только если выполняются все следующие условия:

  • Вы можете редактировать артефакт, и он принадлежит вашей собственной организации
  • Если публикация содержит больше, чем саму страницу, например вспомогательные файлы, вы являетесь владельцем артефакта
  • Артефакт не опубликован для общего доступа
  • Если артефакт доступен определённым людям или вашей организации, его зрители не видят автоматически каждую новую версию
  • Публикация не перезаписывает принудительно более новую версию
  • Публикация не объявляет возможности времени выполнения для страницы
  • Существующая страница не имеет разрешений, выходящих за пределы страницы, таких как вызовы коннекторов

Во всех остальных случаях, включая запуск, начатый триггером API или GitHub, Claude сначала спрашивает.

Окружения и сетевой доступ

Каждая запланированная задача использует облачное окружение, которое определяет сетевой доступ, переменные окружения и скрипты настройки. Задача наследует сетевую политику окружения при каждом запуске.

Окружение Default использует сетевой доступ Trusted, который разрешает через сеть сессии только список разрешённых доменов по умолчанию. Запросы по этому пути к хостам вне списка завершаются ошибкой 403 с x-deny-reason: host_not_allowed. Трафик MCP-коннекторов идёт через серверы Anthropic, а не по этому пути, поэтому добавленные в задачу коннекторы работают без добавления их хостов в Allowed domains. Удалите ненужные коннекторы, как описано в разделе Коннекторы.

Чтобы разрешить дополнительные домены в одном из ваших собственных окружений, выполните следующие шаги. Общее окружение организации открывается здесь только для чтения, поэтому его сетевой доступ изменяет Owner на странице Cloud environments в настройках администратора.

1. Откройте задачу для редактирования

Перейдите на claude.ai/code/routines, нажмите на запланированную задачу, затем откройте меню рядом с её названием и выберите Edit. Откроется диалоговое окно Edit scheduled task.

2. Откройте селектор окружения

Перейдите в Advanced settings > General > Cloud environment, предварительно развернув Advanced settings, если этот раздел свёрнут. Нажмите на значок облака с названием вашего окружения, например Default.

3. Откройте настройки окружения

Наведите указатель на окружение в списке и нажмите значок настроек, который появится справа.

4. Измените уровень сетевого доступа

В диалоговом окне Edit cloud environment измените Network access на Custom и введите свои домены в Allowed domains. Установите флажок Also include default list of common package managers, чтобы сохранить список разрешённых доменов по умолчанию наряду с вашими доменами. Для неограниченного доступа вместо этого выберите Full.

5. Сохраните

Нажмите Save changes в диалоговом окне Edit cloud environment, затем закройте находящееся под ним диалоговое окно Edit scheduled task. Новая политика применяется начиная со следующего запуска.

Подробнее об уровнях доступа и списке разрешённых доменов по умолчанию см. в разделе Сетевой доступ.

Использование и лимиты

Запланированные задачи расходуют использование подписки так же, как интерактивные сессии. Текущее потребление можно посмотреть на claude.ai/settings/usage.

Независимо от использования подписки, у каждого способа запуска есть почасовой лимит:

Действие Лимит Учитывается для При превышении лимита
Запуски по расписанию, включая однократные 100 в час Ваша учётная запись Запуск ожидает сброса лимита
Run now, вызовы API и повторная установка однократной задачи на запуск 30 в час Каждая запланированная задача, один общий счётчик для всех трёх Действие завершается ошибкой до сброса лимита
Run now и повторная установка однократной задачи на запуск 100 в час Ваша учётная запись То же
Вызовы API 100 в час Ваша учётная запись, учитывается отдельно от Run now То же
События GitHub См. Добавление триггера GitHub

Ни один из этих почасовых лимитов не допускает превышения.

Когда запланированная задача достигает лимита использования вашей подписки, организации с включёнными кредитами использования могут продолжать запускать запланированные задачи с оплатой превышения по факту. Без кредитов использования дополнительные запуски отклоняются до сброса окна использования. Включите кредиты использования на claude.ai/settings/usage. В планах Team и Enterprise администратор включает их для организации на claude.ai/admin-settings/usage.

Пока ваша подписка приостановлена, ваши запланированные задачи ставятся на паузу и не запускаются. Когда подписка снова станет активной, включите их обратно.

Где ещё встречается название routines

Ранее запланированные задачи назывались routines, и в следующих местах сохраняется прежнее название. Все они относятся к той же функции:

  • Приложение: в некоторых аккаунтах пункт боковой панели и заголовок страницы называются Routines, кнопка называется New routine, а в других подписях используется слово routine. Чтобы создать задачу там, см. Полностраничная форма.
  • Веб-адрес: claude.ai/code/routines
  • CLI: псевдоним /routines для /schedule, описание команды и ответы Claude при настройке задачи
  • API: путь эндпоинта /fire, его бета-заголовок, type в его ответе, тег <routine-fire-payload> и справочная страница Trigger a routine through the API
  • Настройки организации: переключатель Scheduled tasks (Was Routines)

Устранение неполадок

/schedule returns "Unknown command"

CLI скрывает /schedule, когда не выполнено одно из её требований: при вводе меню команд показывает No commands match "/schedule". При отправке команда возвращает Unknown command: /schedule, за исключением указанных ниже случаев с другим ответом.

Обычно причина в одном из следующего:

  • Вы прошли аутентификацию с помощью API-ключа Console, профиля Anthropic или учётных данных федерации либо через облачного провайдера, такого как Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry. Для /schedule требуется вход с подпиской claude.ai. При использовании API-ключа Console или профиля и включённой загрузке флагов функций отправка /schedule вместо этого показывает /schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access. При входе через облачного провайдера вы по-прежнему видите Unknown command: /schedule. Если в вашей оболочке задана переменная ANTHROPIC_API_KEY или ANTHROPIC_AUTH_TOKEN либо в settings.json задан apiKeyHelper, сначала удалите их, так как они имеют приоритет над входом в claude.ai. Профиль или учётные данные федерации также имеют приоритет, поэтому отключите и их
  • Вы полностью вышли из системы, и у вас нет API-ключа или других учётных данных. При включённой загрузке флагов функций отправка /schedule показывает /schedule requires a claude.ai subscription. Run /login to sign in with your claude.ai account. До v2.1.268 сессия без входа показывала то же сообщение о Claude for Enterprise, что и при использовании API-ключа Console
  • Вы находитесь в облачной сессии, где в ответ на отправку /schedule сообщается, что команда недоступна в этой среде. Управляйте запланированными задачами из веб-интерфейса
  • Политика вашей организации отключает облачные сессии, которые необходимы для запланированных задач. В этом случае в ответ на отправку /schedule вместо этого выводится Cloud sessions are disabled by your organization's policy. До v2.1.268 возвращалось Unknown command: /schedule
  • Owner отключил запланированные задачи для вашей организации Team или Enterprise. До v2.1.227 в этом случае команда всё равно отображалась, а claude.ai отклонял задачу, когда Claude пытался создать или запустить её
  • Ваша организация Enterprise управляет вашим доступом с помощью пользовательских ролей, и ни одна из ваших ролей не включает разрешение на запланированные задачи в разделе Remote sessions. Попросите Owner добавить его в одну из ваших ролей

Если причина во входе в CLI или в том, что вы находитесь в облачной сессии, вы всё равно можете создавать запланированные задачи и управлять ими на claude.ai/code/routines. Для этого вам нужна учётная запись Pro, Max, Team или Enterprise. Если запланированные задачи или облачные сессии отключены для вашей организации или отсутствуют в ваших ролях, вы не сможете создать их и в веб-интерфейсе.

"Routines are disabled by your organization's policy"

Скорее всего, Owner вашей организации Team или Enterprise выключил переключатель Scheduled tasks (Was Routines) в разделе Organization settings > Capabilities > Remote sessions. В Claude Code v2.1.227 или новее этот же переключатель также скрывает /schedule в CLI. Это серверная настройка организации, поэтому её нельзя переопределить локальной конфигурацией. Попросите Owner снова включить запланированные задачи для вашей организации.

Связанные ресурсы

  • /loop и планирование в сессии: планирование локальных задач в открытой сессии CLI
  • Запланированные задачи Desktop: локальные запланированные задачи, которые выполняются на вашем компьютере с доступом к локальным файлам
  • Облачные окружения: настройка сетевого доступа, переменных окружения и скриптов настройки для облачных сессий
  • Проекты: текущая работа, которую Claude координирует в параллельных облачных сессиях; запланированные задачи, созданные из проекта, отображаются на его вкладке Scheduled tasks
  • MCP-коннекторы: подключение внешних сервисов, таких как Slack, Linear и Google Drive
  • GitHub Actions: запуск Claude в CI-конвейере по событиям репозитория