- Scheduled: запуск по повторяющемуся расписанию, например ежечасно, ежедневно или еженедельно, или один раз в определенное будущее время
- API: срабатывание по требованию путем отправки HTTP POST на выделенную конечную точку рутины с токеном-носителем
- GitHub: автоматический запуск в ответ на события репозитория, такие как pull request или релизы
/schedule.
Владельцы Team и Enterprise могут отключить рутины для всех членов с помощью переключателя Routines на claude.ai/admin-settings/claude-code. При отключении существующие рутины перестают работать, и члены не могут создавать новые.
На этой странице рассматривается создание рутины, настройка каждого типа триггера, управление запусками и применение ограничений использования.
Примеры использования
Каждый пример сочетает тип триггера с типом работы, для которой подходят рутины: без присмотра, повторяемая и связанная с четким результатом. Обслуживание очереди задач. Триггер расписания запускается каждый вечер в рабочие дни для вашего трекера проблем через коннектор. Рутина читает проблемы, открытые с момента последнего запуска, применяет метки, назначает владельцев на основе области кода, на которую ссылаются, и публикует сводку в Slack, чтобы команда начала день с упорядоченной очередью. Сортировка оповещений. Ваш инструмент мониторинга вызывает конечную точку API рутины при превышении порога ошибок, передавая тело оповещения какtext. Рутина извлекает трассировку стека, коррелирует ее с недавними коммитами в репозитории и открывает черновой pull request с предложенным исправлением и ссылкой обратно на оповещение. Дежурный инженер проверяет PR вместо того, чтобы начинать с пустого терминала.
Пользовательская проверка кода. Триггер GitHub запускается на pull_request.opened. Рутина применяет собственный контрольный список проверки вашей команды, оставляет встроенные комментарии по проблемам безопасности, производительности и стиля, а также добавляет сводный комментарий, чтобы человеческие рецензенты могли сосредоточиться на дизайне вместо механических проверок.
Проверка развертывания. Ваш конвейер CD вызывает конечную точку API рутины после каждого развертывания в production. Рутина запускает дымовые тесты для новой сборки, сканирует журналы ошибок на предмет регрессий и публикует решение (go или no-go) в канал релизов до закрытия окна развертывания.
Дрейф документации. Триггер расписания запускается еженедельно. Рутина сканирует объединенные PR с момента последнего запуска, отмечает документацию, которая ссылается на измененные API, и открывает PR обновления для репозитория документации, чтобы редактор мог его проверить.
Портирование библиотеки. Триггер GitHub запускается на pull_request.closed, отфильтрованный по объединенным PR в одном репозитории SDK. Рутина переносит изменение в параллельный SDK на другом языке и открывает соответствующий PR, сохраняя две библиотеки в синхронизации без необходимости человека переимплементировать каждое изменение.
Создание рутины
Создайте рутину из веб-версии на claude.ai/code/routines, из приложения Desktop или из CLI. Все три интерфейса записывают в один облачный аккаунт, поэтому рутина, которую вы создаете в одном, сразу же появляется в других. В приложении Desktop на вкладке Code нажмите Routines на боковой панели или в меню More боковой панели, затем New routine, и выберите Cloud; выбор Local вместо этого создает локальную запланированную задачу Desktop, которая запускается на вашей машине, а не в облаке. Форма создания настраивает подсказку рутины, репозитории, окружение, коннекторы и триггеры. Рутины работают автономно как полноценные облачные сессии Claude Code: выбора режима разрешений нет, и сессия выполняет команды оболочки, использует скиллы, закоммиченные в клонированный репозиторий, и вызывает любые коннекторы, которые вы включите, — все это без остановки для подтверждения, кроме некоторых действий с артефактами. То, что может достичь рутина, определяется выбранными вами репозиториями, окружением сетевого доступа и переменных, а также включенными коннекторами. Ограничьте каждый из них тем, что рутине действительно нужно. Рутины принадлежат вашему индивидуальному аккаунту claude.ai. Они не совместно используются с товарищами по команде и их запуски учитываются в использовании и лимитах вашего аккаунта. Все, что рутина делает через вашу подключенную идентификацию GitHub или коннекторы, отображается как вы: коммиты и pull request несут вашего пользователя GitHub, а сообщения Slack, задачи Linear или другие действия коннектора используют ваши связанные аккаунты для этих сервисов.Создание из веб-версии
Откройте форму создания
Назовите рутину и напишите подсказку
Выберите репозитории
claude/ для своих изменений.Выберите окружение
- Network access: установите уровень доступа в Интернет, доступный во время каждого запуска
- Environment variables: предоставьте значения, которые Claude может использовать во время каждого запуска. Они видны всем, кто использует окружение, поэтому в планах Pro и Max храните ключи для API, которые Claude вызывает во время запуска, в виде сетевых секретов. В этом разделе также перечислены запросы, которые никогда не получают секрет
- Setup script: установите зависимости и инструменты, которые нужны рутине. Результат кэшируется, поэтому скрипт не переустанавливается при каждом сеансе
Выберите триггер
- Schedule
- GitHub event
- API
Проверьте коннекторы
Создайте рутину
Создание из CLI
Запустите/schedule в любом сеансе, чтобы создать запланированную рутину в диалоговом режиме. Вы также можете передать описание напрямую, например для повторяющейся рутины как /schedule daily PR review at 9am или одноразовой как /schedule clean up feature flag in one week. Claude проходит через ту же информацию, которую собирает веб-форма, затем сохраняет рутину в ваш аккаунт. Команда также доступна под псевдонимом /routines.
Успешный старт выглядит как диалог: Claude задает уточняющие вопросы о расписании, репозиториях и подсказке перед сохранением. Если Claude вместо этого ответит, что вам нужно пройти аутентификацию или что он не может подключиться к вашему удаленному аккаунту claude.ai, рутина не была создана; смотрите Troubleshooting.
/schedule в CLI создает запланированные рутины. Чтобы добавить триггер API, отредактируйте рутину в веб-версии на claude.ai/code/routines. Вы можете добавить GitHub trigger из веб-версии или из CLI. Путь CLI требует Claude Code версии 2.1.225 или позже.
Рутина без триггера расписания, такая как запускаемая только вызовами API или событиями GitHub, не имеет времени следующего запуска, и CLI не показывает его, когда Claude сохраняет или обновляет рутину. До версии 2.1.211 CLI сообщал время следующего запуска в году 1 для этих рутин.
Настройка триггеров
Рутина запускается, когда срабатывает один из её триггеров. Вы можете прикрепить любую комбинацию триггеров расписания, API и GitHub к одной и той же рутине и добавлять или удалять их в любое время из раздела Select a trigger формы редактирования рутины.Добавить триггер расписания
Триггер расписания запускает рутину по повторяющемуся графику или один раз в определённое будущее время. Выберите предустановленную частоту в разделе Select a trigger: ежечасно, ежедневно, по будням или еженедельно. Время вводится в вашем локальном часовом поясе и автоматически преобразуется, поэтому рутина запускается в это время независимо от того, где находится облачная инфраструктура. Если вы запланируете запуск ровно в час, например в 9:00, он может начаться с опозданием на несколько минут. Чтобы начать близко к запланированному времени, выберите несколько минут после часа, например 9:07. Для пользовательского интервала, такого как каждые два часа или первое число каждого месяца, выберите ближайший предустановленный вариант в форме, затем запустите/schedule update в CLI, чтобы установить конкретное выражение cron. Минимальный интервал — один час; выражения, которые выполняются чаще, отклоняются.
Запланировать одноразовый запуск
Одноразовое расписание запускает рутину один раз в определённый момент времени. Используйте его, чтобы напомнить себе позже на неделе, открыть PR очистки после завершения развёртывания или запустить последующую задачу после поступления изменения из вышестоящего источника. После запуска рутины она автоматически отключается, а веб-интерфейс отмечает её как Ran. Чтобы запустить её снова, отредактируйте рутину и установите новое одноразовое время. Создайте одноразовый запуск из CLI, описав время на естественном языке. Claude разрешает фразу относительно текущего времени и подтверждает абсолютную временную метку перед сохранением.Добавить триггер API
Триггер API предоставляет рутине выделенную конечную точку HTTP. Отправка POST-запроса на конечную точку с токеном-носителем рутины запускает новый сеанс и возвращает URL сеанса. Используйте это для интеграции Claude Code в системы оповещений, конвейеры развёртывания, внутренние инструменты или в любое место, где вы можете сделать аутентифицированный HTTP-запрос. Триггеры API добавляются к существующей рутине из веб-интерфейса. CLI в настоящее время не может создавать, перевыпускать или удалять токены.Open the routine for editing
Add an API trigger
Copy the URL and generate a token
Call the endpoint
Authorization: Bearer при отправке POST-запроса на URL. Раздел Trigger a routine ниже показывает полный пример.- Отключить доступ через API: нажмите Delete token — значок корзины рядом с Regenerate
- Ротировать токен: нажмите Regenerate
Запустить рутину
Отправьте POST-запрос на конечную точку/fire с токеном-носителем в заголовке Authorization. Тело запроса принимает необязательное поле text для контекста, специфичного для запуска, такого как тело оповещения или неудачный журнал, передаваемое рутине вместе с её сохранённым приглашением. Значение — это свободный текст и не анализируется: если вы отправите JSON или другую структурированную полезную нагрузку, рутина получит её как буквальную строку.
Значение text не достигает рутину как простое сообщение. Оно приходит завёрнутым в блок <routine-fire-payload>, который помечает его как недоверенные данные и говорит Claude не следовать инструкциям внутри него, если собственное приглашение рутины не говорит об этом. То же самое завёртывание применяется к тексту, предоставленному с помощью Run now в веб-интерфейсе.
Это означает, что сохранённое приглашение рутины должно явно согласиться на действие с текстом fire: напишите приглашение для ссылки на полезную нагрузку явно, например «Investigate the alert described in the routine-fire-payload block», или рутина будет рассматривать текст как инертный контекст. Любой, кто держит токен-носитель, может отправить text, поэтому обёртка делает текст fire из утёкшего токена помеченным как недоверенные данные, а не как прямые инструкции для вашей рутины.
Пример ниже запускает рутину из оболочки. ID рутины и показанный токен — это заполнители: замените их на URL и токен, которые вы скопировали при добавлении триггера API, или запрос завершится с ошибкой аутентификации 401:
Справочник API
Для полного справочника API, включая все ответы об ошибках, правила валидации и ограничения полей, см. Trigger a routine via API в документации Claude Platform. Конечная точка/fire доступна только пользователям claude.ai и не является частью поверхности Claude Platform API.
Добавить триггер GitHub
Триггер GitHub запускает новый сеанс автоматически, когда на подключённом репозитории происходит соответствующее событие. Claude Code не переиспользует сеансы между событиями, поэтому два обновления PR создают два независимых сеанса.- Настраивайте триггеры 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 добавляет триггер, он отвечает ссылкой на рутину, которую запускает триггер.
Open the routine for editing
Add a GitHub event trigger
/web-setup в CLI предоставляет доступ к репозиторию для клонирования, но не устанавливает приложение Claude GitHub и не включает доставку вебхука.Configure the trigger
Поддерживаемые события
Триггеры GitHub могут подписаться на одну из следующих категорий событий. В каждой категории вы можете выбрать конкретное действие, такое какpull_request.opened, или реагировать на все действия в категории.
Фильтровать pull requests
Используйте фильтры, чтобы сузить, какие pull requests запускают новый сеанс. Все условия фильтра должны совпадать, чтобы рутина сработала. Доступные поля фильтра:matches regex проверяет всё значение поля, а не подстроку внутри него. Чтобы совпадать с любым заголовком, содержащим hotfix, напишите .*hotfix.*. Без окружающего .* фильтр совпадает только с заголовком, который точно hotfix без чего-либо до или после. Для буквального совпадения подстроки без синтаксиса regex используйте оператор contains.
Несколько примеров комбинаций фильтров:
- Auth module review: base branch
main, head branch containsauth-provider. Отправляет любой PR, который касается аутентификации, сосредоточенному рецензенту. - Ready-for-review only: is draft is
false. Пропускает черновики, поэтому рутина запускается только, когда PR готов к рецензированию. - Label-gated backport: labels include
needs-backport. Запускает рутину port-to-another-branch только, когда мейнтейнер помечает PR.
Управление рутинами
Нажмите рутину в списке, чтобы открыть ее страницу деталей. Страница деталей показывает репозитории рутины, коннекторы, подсказку, расписание, токены API, триггеры GitHub и список прошлых запусков.Просмотр и взаимодействие с запусками
Нажмите любой запуск, чтобы открыть его как полный сеанс. Оттуда вы можете увидеть, что сделал Claude, проверить изменения, создать pull request или продолжить разговор. Каждый сеанс запуска работает как любой другой сеанс: используйте меню раскрывающегося списка рядом с заголовком сеанса, чтобы переименовать, архивировать или удалить его.Редактирование и управление рутинами
Со страницы деталей рутины вы можете:- Нажать Run now, чтобы начать запуск немедленно без ожидания следующего запланированного времени. Вы можете дополнительно предоставить текст, специфичный для запуска, который достигает рутину так же, как поле
textтриггера API. - Использовать переключатель в верхней части страницы, чтобы приостановить или возобновить расписание. Приостановленные рутины сохраняют свою конфигурацию, но не запускаются, пока вы их не переактивируете.
- Открыть меню рядом с именем рутины и выбрать Edit, чтобы изменить имя, подсказку, репозитории, окружение, коннекторы или любые триггеры рутины. Раздел Select a trigger — это место, где вы добавляете или удаляете расписания, токены API и триггеры событий GitHub.
- Открыть то же меню и выбрать Delete, чтобы удалить рутину.
Управление рутинами из CLI
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 для репозитория, из которого вы её запустили, и, если его нет, добавляет примечание по настройке, указывающее, как предоставить доступ. Смотрите Варианты аутентификации 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. Для рутины с одним репозиторием вы можете вместо этого объявить его в committed .mcp.json, чтобы он был частью клонированного репозитория.
Когда вы создаете рутину, все ваши текущие подключенные коннекторы включены по умолчанию. Удалите все, которые не нужны, чтобы ограничить, к каким инструментам Claude имеет доступ во время запуска. Вы также можете добавлять коннекторы непосредственно из формы рутины.
Чтобы управлять или добавлять коннекторы вне формы рутины, посетите claude.ai/customize/connectors или используйте /schedule update в CLI.
Когда запуск публикует артефакт без запроса
Когда запуск начинается по расписанию рутины или по кнопке Run now, Claude может опубликовать новый артефакт без запроса. Новый артефакт виден только вам, пока вы не поделитесь им. Если публикация объявляет возможности времени выполнения для страницы, такие как вызовы коннекторов или загрузка файлов, Claude сначала спрашивает. В таких запусках Claude повторно публикует существующий артефакт без запроса, только если выполняются все следующие условия:- Вы можете редактировать артефакт, и он принадлежит вашей собственной организации
- Если публикация содержит больше, чем саму страницу, например вспомогательные файлы, вы являетесь владельцем артефакта
- Артефакт не опубликован для общего доступа
- Если артефакт доступен определённым людям или вашей организации, его зрители не видят автоматически каждую новую версию
- Публикация не перезаписывает принудительно более новую версию
- Публикация не объявляет возможности времени выполнения для страницы
- Существующая страница не имеет разрешений, выходящих за пределы страницы, таких как вызовы коннекторов
Окружения и сетевой доступ
Каждая рутина использует облачное окружение, которое контролирует сетевой доступ, переменные окружения и скрипты настройки. Рутина наследует политику сетевого доступа окружения при каждом запуске. Окружение Default использует Trusted сетевой доступ, который позволяет только список разрешений по умолчанию через сеть сеанса. Запросы на этом пути к хостам вне списка разрешений завершаются с ошибкой403 и x-deny-reason: host_not_allowed. Трафик MCP коннектора маршрутизируется через серверы Anthropic, а не на этом пути, поэтому коннекторы, которые вы добавляете в рутину, работают без добавления их хостов в Allowed domains. Удалите все коннекторы, которые вам не нужны, в разделе Коннекторы.
Чтобы разрешить дополнительные домены на одном из ваших собственных окружений, выполните следующие шаги. Организационное общее окружение открывается в режиме только для чтения здесь, поэтому владелец изменяет его сетевой доступ со страницы Cloud environments в параметрах администратора вместо этого.
Откройте рутину для редактирования
Откройте селектор окружения
Откройте параметры окружения
Измените уровень сетевого доступа
Сохранить
Использование и ограничения
Рутины снижают использование подписки так же, как интерактивные сеансы. Смотрите ваше текущее потребление на claude.ai/settings/usage. Отдельно от использования подписки, каждый способ запуска имеет почасовой лимит:Устранение неполадок
/schedule returns “Unknown command”
CLI скрывает /schedule, когда одно из его требований не выполнено: меню команд показывает No commands match "/schedule" во время ввода. Отправка возвращает Unknown command: /schedule, за исключением случаев ниже, которые указывают на другой ответ.
Причина обычно одна из следующих:
- Вы аутентифицированы с помощью Console API key, профиля Anthropic или учетных данных федерации, или облачного провайдера, такого как Amazon Bedrock, Google Cloud’s Agent Platform или Microsoft Foundry.
/scheduleтребует входа с подпиской claude.ai. С Console API key или профилем и включенной загрузкой флагов функций отправка/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установлены в вашей оболочке, илиapiKeyHelperустановлен вsettings.json, удалите их сначала, так как они имеют приоритет над входом claude.ai. Профиль или учетные данные федерации также имеют приоритет, поэтому отключите их тоже - Вы полностью вышли из системы, без API key или других учетных данных. С включенной загрузкой флагов функций отправка
/scheduleпоказывает/schedule requires a claude.ai subscription. Run /login to sign in with your claude.ai account.До версии v2.1.268 сеанс без входа показывал то же сообщение Claude for Enterprise, что и Console API key - Вы находитесь в облачном сеансе, где отправка
/scheduleотвечает, что команда недоступна в этой среде. Управляйте рутинами из веб-интерфейса вместо этого - Политика вашей организации отключает облачные сеансы, на которых работают рутины. В этом случае отправка
/scheduleотвечаетCloud sessions are disabled by your organization's policyвместо этого. До версии v2.1.268 она возвращалаUnknown command: /schedule - Владелец отключил рутины для вашей организации Team или Enterprise. До версии v2.1.227 команда все еще появлялась в этом случае, и claude.ai отклонял рутину, когда Claude пытался создать или запустить ее
“Routines are disabled by your organization’s policy”
Владелец в вашей организации Team или Enterprise, вероятно, отключил переключатель Routines на claude.ai/admin-settings/claude-code. В Claude Code версии 2.1.227 или позже этот же переключатель также скрывает/schedule в CLI. Это серверное организационное параметр, поэтому его нельзя переопределить из вашей локальной конфигурации. Попросите владельца включить рутины для вашей организации.
Связанные ресурсы
/loopand in-session scheduling: запланируйте локальные задачи в открытом сеансе CLI- Desktop scheduled tasks: локальные запланированные задачи, которые запускаются на вашей машине с доступом к локальным файлам
- Cloud environments: настройте сетевой доступ, переменные окружения и скрипты настройки для облачных сеансов
- Projects: текущая работа, которую Claude координирует в параллельных облачных сеансах; процедуры, созданные из проекта, появляются на его вкладке Routines
- MCP connectors: подключите внешние сервисы, такие как Slack, Linear и Google Drive
- GitHub Actions: запустите Claude в вашем конвейере CI при событиях репозитория