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

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

Claude Code offers three ways to schedule recurring work:
CloudDesktop/loop
Runs onAnthropic cloudYour machineYour machine
Requires machine onNoYesYes
Requires open sessionNoNoYes
Persistent across restartsYesYesNo (session-scoped)
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 — это самый быстрый способ запланировать повторяющуюся подсказку. Передайте необязательный интервал и подсказку, и Claude установит задание cron, которое будет срабатывать в фоне, пока сеанс остаётся открытым.
/loop 5m check if the deployment finished and tell me what happened
Claude анализирует интервал, преобразует его в выражение cron, планирует задание и подтверждает кадентность и ID задания.

Синтаксис интервала

Интервалы необязательны. Вы можете поместить их в начало, в конец или вообще их опустить.
ФормаПримерРазобранный интервал
Начальный токен/loop 30m check the buildкаждые 30 минут
Конечное предложение every/loop check the build every 2 hoursкаждые 2 часа
Без интервала/loop check the buildпо умолчанию каждые 10 минут
Поддерживаемые единицы: s для секунд, m для минут, h для часов и d для дней. Секунды округляются до ближайшей минуты, так как cron имеет гранулярность в одну минуту. Интервалы, которые не делятся нацело на свою единицу, такие как 7m или 90m, округляются до ближайшего чистого интервала, и Claude сообщает вам, что он выбрал.

Цикл по другой команде

Запланированная подсказка может быть сама по себе командой или вызовом skill. Это полезно для повторного запуска уже упакованного рабочего процесса.
/loop 20m /review-pr 1234
Каждый раз, когда задание срабатывает, Claude запускает /review-pr 1234 так, как если бы вы его ввели.

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

Для одноразовых напоминаний опишите то, что вы хотите, на естественном языке вместо использования /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 в один и тот же момент по стене часов, планировщик добавляет небольшое детерминированное смещение к времени срабатывания:
  • Повторяющиеся задачи срабатывают до 10% позже своего периода, максимум 15 минут. Почасовое задание может срабатывать в любое время от :00 до :06.
  • Одноразовые задачи, запланированные на верхнюю или нижнюю часть часа, срабатывают до 90 секунд раньше.
Смещение получается из ID задачи, поэтому одна и та же задача всегда получает одно и то же смещение. Если точное время имеет значение, выберите минуту, которая не является :00 или :30, например 3 9 * * * вместо 0 9 * * *, и одноразовое дрожание не будет применяться.

Истечение через три дня

Повторяющиеся задачи автоматически истекают через 3 дня после создания. Задача срабатывает в последний раз, а затем удаляет себя. Это ограничивает, как долго может работать забытый цикл. Если вам нужна повторяющаяся задача, которая длится дольше, отмените и пересоздайте её перед истечением срока, или используйте Cloud запланированные задачи или 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 Code очищает все задачи, привязанные к сеансу.
Для автоматизации, управляемой cron, которая должна работать без присмотра: