Перейти к основному содержанию

Documentation Index

Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Запланированные задачи требуют Claude Code v2.1.72 или более поздней версии. Проверьте вашу версию с помощью claude --version.
Запланированные задачи позволяют Claude автоматически повторно запускать подсказку через определённый интервал. Используйте их для опроса развёртывания, контроля pull request, проверки долгоживущей сборки или напоминания себе о чём-то позже в сеансе. Чтобы реагировать на события по мере их возникновения вместо опроса, см. Channels: ваш CI может отправить сбой непосредственно в сеанс. Чтобы продолжить работу сеанса от одного хода к другому до выполнения условия, а не через интервал, см. /goal. Задачи привязаны к сеансу: они существуют в текущем разговоре и останавливаются при запуске нового. Возобновление с помощью --resume или --continue восстанавливает любую задачу, которая не истекла: повторяющуюся задачу, созданную в течение последних 7 дней, или одноразовую, чьё запланированное время ещё не наступило. Для планирования, которое сохраняется независимо от любого сеанса, используйте Routines, Desktop запланированные задачи или GitHub Actions.

Сравните варианты планирования

Claude Code offers three ways to schedule recurring or one-off work:
CloudDesktop/loop
Runs onAnthropic cloudYour machineYour machine
Requires machine onNoYesYes
Requires open sessionNoNoYes
Persistent across restartsYesYesRestored on --resume if unexpired
Access to local filesNo (fresh clone)YesYes
MCP serversConnectors configured per taskConfig files and connectorsInherits from session
Permission promptsNo (runs autonomously)Configurable per taskInherits from session
Customizable scheduleVia /schedule in the CLIYesYes
Minimum interval1 hour1 minute1 minute
Use cloud tasks for work that should run reliably without your machine. Use Desktop tasks when you need access to local files and tools. Use /loop for quick polling during a session.

Запланируйте повторяющуюся подсказку с помощью /loop

Встроенный skill /loop — это самый быстрый способ запланировать повторяющуюся подсказку, пока сеанс остаётся открытым. Как интервал, так и подсказка являются необязательными, и то, что вы предоставляете, определяет поведение цикла.
Что вы предоставляетеПримерЧто происходит
Интервал и подсказка/loop 5m check the deployВаша подсказка запускается по фиксированному расписанию
Только подсказка/loop check the deployВаша подсказка запускается с интервалом, выбранным Claude на каждой итерации
Только интервал или ничего/loopЗапускается встроенная подсказка обслуживания или ваш loop.md, если он существует
Вы также можете передать другую команду в качестве подсказки, например /loop 20m /review-pr 1234, чтобы повторно запустить упакованный рабочий процесс на каждой итерации.

Запуск по фиксированному интервалу

Когда вы указываете интервал, Claude преобразует его в выражение cron, планирует задание и подтверждает кадентность и ID задания.
/loop 5m check if the deployment finished and tell me what happened
Интервал может предшествовать подсказке как простой токен, например 30m, или следовать за ней как предложение, например every 2 hours. Поддерживаемые единицы: s для секунд, m для минут, h для часов и d для дней. Секунды округляются до ближайшей минуты, так как cron имеет гранулярность в одну минуту. Интервалы, которые не соответствуют чистому шагу cron, такие как 7m или 90m, округляются до ближайшего интервала, который соответствует, и Claude сообщает вам, что он выбрал.

Позвольте Claude выбрать интервал

Когда вы опускаете интервал, Claude выбирает его динамически вместо запуска по фиксированному расписанию cron. После каждой итерации он выбирает задержку между одной минутой и одним часом на основе того, что он наблюдал: короткие ожидания, пока сборка завершается или PR активен, более длительные ожидания, когда ничего не ожидается. Выбранная задержка и причина для неё выводятся в конце каждой итерации. Пример ниже проверяет CI и комментарии рецензии, с Claude ожидающим дольше между итерациями, когда PR затихает:
/loop check whether CI passed and address any review comments
Когда вы запрашиваете динамическое расписание /loop, Claude может использовать инструмент Monitor напрямую. Monitor запускает фоновый скрипт и передаёт каждую строку вывода обратно, что полностью избегает опроса и часто более эффективно по токенам и отзывчиво, чем повторный запуск подсказки через интервал. Динамически запланированный цикл появляется в вашем списке запланированных задач как любая другая задача, поэтому вы можете перечислить или отменить его таким же образом. Правила дрожания не применяются к нему, но истечение через семь дней применяется: цикл автоматически заканчивается через семь дней после его запуска.
На Bedrock, Vertex AI и Microsoft Foundry подсказка без интервала запускается по фиксированному расписанию в 10 минут вместо этого.

Запустите встроенную подсказку обслуживания

Когда вы опускаете подсказку, Claude использует встроенную подсказку обслуживания вместо той, которую вы предоставляете. На каждой итерации он работает через следующее, по порядку:
  • продолжить любую незавершённую работу из разговора
  • ухаживать за pull request текущей ветки: комментарии рецензии, неудачные запуски CI, конфликты слияния
  • запустить проходы очистки, такие как охота на ошибки или упрощение, когда ничего другого не ожидается
Claude не начинает новые инициативы вне этой области, и необратимые действия, такие как push или удаление, происходят только когда они продолжают что-то, что стенограмма уже авторизовала.
/loop
Простой /loop запускает эту подсказку с динамически выбранным интервалом. Добавьте интервал, например /loop 15m, чтобы запустить его по фиксированному расписанию вместо этого. Чтобы заменить встроенную подсказку своей собственной по умолчанию, см. Настройте подсказку по умолчанию с помощью loop.md.
На Bedrock, Vertex AI и Microsoft Foundry /loop без подсказки выводит сообщение об использовании вместо запуска цикла обслуживания.

Настройте подсказку по умолчанию с помощью loop.md

Файл loop.md заменяет встроенную подсказку обслуживания вашими собственными инструкциями. Он определяет одну подсказку по умолчанию для простого /loop, а не список отдельных запланированных задач, и игнорируется всякий раз, когда вы предоставляете подсказку в командной строке. Чтобы запланировать дополнительные подсказки рядом с ней, используйте /loop <prompt> или попросите Claude напрямую. Claude ищет файл в двух местах и использует первый, который он находит.
ПутьОбласть
.claude/loop.mdНа уровне проекта. Имеет приоритет, когда оба файла существуют.
~/.claude/loop.mdНа уровне пользователя. Применяется в любом проекте, который не определяет свой собственный.
Файл представляет собой простой Markdown без требуемой структуры. Напишите его так, как если бы вы вводили подсказку /loop напрямую. Следующий пример поддерживает ветку выпуска в хорошем состоянии:
.claude/loop.md
Check the `release/next` PR. If CI is red, pull the failing job log,
diagnose, and push a minimal fix. If new review comments have arrived,
address each one and resolve the thread. If everything is green and
quiet, say so in one line.
Изменения в loop.md вступают в силу на следующей итерации, поэтому вы можете уточнить инструкции, пока цикл работает. Когда loop.md не существует ни в одном месте, цикл возвращается к встроенной подсказке обслуживания. Держите файл кратким: содержимое, превышающее 25 000 байт, усекается.

Остановите цикл

Чтобы остановить /loop во время ожидания следующей итерации, нажмите Esc. Это очищает ожидающее пробуждение, поэтому цикл не срабатывает снова. Задачи, которые вы запланировали, попросив Claude напрямую, не затрагиваются Esc и остаются на месте до тех пор, пока вы их не удалите. В режиме самостоятельного темпа Claude также может завершить цикл самостоятельно, не планируя следующее пробуждение после того, как задача будет доказуемо завершена. Циклы по фиксированному интервалу продолжают работать до тех пор, пока вы их не остановите или не пройдёт семь дней.

Установите одноразовое напоминание

Для одноразовых напоминаний опишите то, что вы хотите, на естественном языке вместо использования /loop. Claude планирует одноразовую задачу, которая удаляет себя после выполнения.
remind me at 3pm to push the release branch
in 45 minutes, check whether the integration tests passed
Claude привязывает время срабатывания к определённой минуте и часу, используя выражение cron, и подтверждает, когда оно сработает.

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

Попросите Claude на естественном языке перечислить или отменить задачи, или обратитесь непосредственно к базовым инструментам.
what scheduled tasks do I have?
cancel the deploy check job
Под капотом Claude использует эти инструменты:
ИнструментНазначение
CronCreateЗапланировать новую задачу. Принимает 5-полевое выражение cron, подсказку для запуска и указание на то, повторяется ли она или срабатывает один раз.
CronListПеречислить все запланированные задачи с их ID, расписаниями и подсказками.
CronDeleteОтменить задачу по ID.
Каждая запланированная задача имеет 8-символьный ID, который вы можете передать в CronDelete. Сеанс может одновременно содержать до 50 запланированных задач.

Как работают запланированные задачи

Планировщик проверяет каждую секунду наличие выполненных задач и ставит их в очередь с низким приоритетом. Запланированная подсказка срабатывает между вашими ходами, а не во время ответа Claude. Если Claude занят, когда задача наступает, подсказка ждёт до конца текущего хода. Все времена интерпретируются в вашем локальном часовом поясе. Выражение cron, такое как 0 9 * * *, означает 9 утра там, где вы запускаете Claude Code, а не UTC.

Дрожание

Чтобы избежать того, чтобы каждый сеанс обращался к API в один и тот же момент по стене часов, планировщик добавляет детерминированное смещение к времени срабатывания:
  • Повторяющиеся задачи срабатывают до 30 минут после запланированного времени (или до половины интервала для задач, которые выполняются чаще, чем раз в час). Почасовое задание, запланированное на :00, может срабатывать в любое время до :30.
  • Одноразовые задачи, запланированные на верхнюю или нижнюю часть часа, срабатывают до 90 секунд раньше.
Смещение получается из ID задачи, поэтому одна и та же задача всегда получает одно и то же смещение. Если точное время имеет значение, выберите минуту, которая не является :00 или :30, например 3 9 * * * вместо 0 9 * * *, и одноразовое дрожание не будет применяться.

Истечение через семь дней

Повторяющиеся задачи автоматически истекают через 7 дней после создания. Задача срабатывает в последний раз, а затем удаляет себя. Это ограничивает, как долго может работать забытый цикл. Если вам нужна повторяющаяся задача, которая длится дольше, отмените и пересоздайте её перед истечением срока, или используйте Routines или Desktop запланированные задачи для долговечного планирования.

Справочник выражений cron

CronCreate принимает стандартные 5-полевые выражения cron: minute hour day-of-month month day-of-week. Все поля поддерживают подстановочные знаки (*), одиночные значения (5), шаги (*/15), диапазоны (1-5) и списки, разделённые запятыми (1,15,30).
ПримерЗначение
*/5 * * * *Каждые 5 минут
0 * * * *Каждый час в начале часа
7 * * * *Каждый час в 7 минут
0 9 * * *Каждый день в 9 утра по местному времени
0 9 * * 1-5Будни в 9 утра по местному времени
30 14 15 3 *15 марта в 14:30 по местному времени
День недели использует 0 или 7 для воскресенья через 6 для субботы. Расширенный синтаксис, такой как L, W, ?, и псевдонимы имён, такие как MON или JAN, не поддерживаются. Когда ограничены как день месяца, так и день недели, дата совпадает, если совпадает любое поле. Это следует стандартной семантике vixie-cron.

Отключите запланированные задачи

Установите CLAUDE_CODE_DISABLE_CRON=1 в вашей среде, чтобы полностью отключить планировщик. Инструменты cron и /loop становятся недоступными, и любые уже запланированные задачи перестают срабатывать. См. Переменные окружения для полного списка флагов отключения.

Ограничения

Планирование, привязанное к сеансу, имеет присущие ему ограничения:
  • Задачи срабатывают только во время работы Claude Code и в режиме ожидания. Закрытие терминала или выход из сеанса отменяет всё.
  • Нет наверстывания пропущенных срабатываний. Если запланированное время задачи проходит, пока Claude занят долгоживущим запросом, она срабатывает один раз, когда Claude становится свободным, а не один раз за каждый пропущенный интервал.
  • Запуск нового разговора очищает все задачи, привязанные к сеансу. Возобновление с помощью claude --resume или claude --continue восстанавливает задачи, которые не истекли: повторяющиеся задачи в течение семи дней после создания и одноразовые задачи, чьё запланированное время ещё не наступило. Фоновые задачи Bash и monitor никогда не восстанавливаются при возобновлении.
Для автоматизации, управляемой cron, которая должна работать без присмотра: