/goal.
Задачи привязаны к сеансу: они существуют в текущем разговоре и останавливаются при запуске нового. Возобновление с помощью --resume или --continue восстанавливает любую задачу, которая не истекла: повторяющуюся задачу, созданную в течение последних 7 дней, или одноразовую, чьё запланированное время ещё не наступило. Для планирования, которое сохраняется независимо от любого сеанса, используйте Routines для создания процедуры на управляемой Anthropic инфраструктуре, установите Desktop запланированные задачи или используйте GitHub Actions.
Сравните варианты планирования
Claude Code offers three ways to schedule recurring or one-off work:Запланируйте повторяющуюся подсказку с помощью /loop
Встроенный skill/loop — это самый быстрый способ запланировать повторяющуюся подсказку, пока сеанс остаётся открытым. Как интервал, так и подсказка являются необязательными, и то, что вы предоставляете, определяет поведение цикла.
Вы также можете передать skill в качестве подсказки, например
/loop 20m /review-pr 1234, чтобы повторно запустить этот skill на каждой итерации. Начиная с версии 2.1.196, запланированное срабатывание запускает только skills, которые Claude может вызывать самостоятельно. Следующие элементы поступают к Claude как простой текст вместо выполнения:
- встроенные команды, такие как
/permissions,/modelили/clear - skills, отмеченные
disable-model-invocation: true - skills, скрытые от Claude параметром
skillOverridesили правиломSkilldeny - MCP prompts, такие как
/mcp__github__list_prs; skills, которые предоставляет MCP сервер, всё ещё запускаются
Запуск по фиксированному интервалу
Когда вы указываете интервал, Claude преобразует его в выражение cron, планирует задание и подтверждает кадентность и ID задания.30m, или следовать за ней как предложение, например every 2 hours. Поддерживаемые единицы: s для секунд, m для минут, h для часов и d для дней.
Секунды округляются до ближайшей минуты, так как cron имеет гранулярность в одну минуту. Интервалы, которые не соответствуют чистому шагу cron, такие как 7m или 90m, округляются до ближайшего интервала, который соответствует, и Claude сообщает вам, что он выбрал.
Позвольте Claude выбрать интервал
Когда вы опускаете интервал, Claude выбирает его динамически вместо запуска по фиксированному расписанию cron. После каждой итерации он выбирает задержку между одной минутой и одним часом на основе того, что он наблюдал: короткие ожидания, пока сборка завершается или PR активен, более длительные ожидания, когда ничего не ожидается. Выбранная задержка и причина для неё выводятся в конце каждой итерации. Пример ниже проверяет CI и комментарии рецензии, с Claude ожидающим дольше между итерациями, когда PR затихает:/loop, Claude может использовать инструмент Monitor напрямую. Monitor запускает фоновый скрипт и передаёт каждую строку вывода обратно, что полностью избегает опроса и часто более эффективно по токенам и отзывчиво, чем повторный запуск подсказки через интервал.
Динамически запланированный цикл появляется в вашем списке запланированных задач как любая другая задача, поэтому вы можете перечислить или отменить его таким же образом. Правила дрожания не применяются к нему, но истечение через семь дней применяется: цикл автоматически заканчивается через семь дней после его запуска.
На Amazon Bedrock, Claude Platform on AWS, Google Cloud’s Agent Platform и Microsoft Foundry подсказка без интервала запускается по фиксированному расписанию в 10 минут вместо этого.
Запустите встроенную подсказку обслуживания
Когда вы опускаете подсказку, Claude использует встроенную подсказку обслуживания вместо той, которую вы предоставляете. На каждой итерации он работает через следующее, по порядку:- продолжить любую незавершённую работу из разговора
- ухаживать за pull request текущей ветки: комментарии рецензии, неудачные запуски CI, конфликты слияния
- запустить проходы очистки, такие как охота на ошибки или упрощение, когда ничего другого не ожидается
/loop запускает эту подсказку с динамически выбранным интервалом. Добавьте интервал, например /loop 15m, чтобы запустить его по фиксированному расписанию вместо этого. Чтобы заменить встроенную подсказку своей собственной по умолчанию, см. Настройте подсказку по умолчанию с помощью loop.md.
На Amazon Bedrock, Claude Platform on AWS, Google Cloud’s Agent Platform и Microsoft Foundry
/loop без подсказки выводит сообщение об использовании вместо запуска подсказки обслуживания.Настройте подсказку по умолчанию с помощью loop.md
Файлloop.md заменяет встроенную подсказку обслуживания вашими собственными инструкциями. Он определяет одну подсказку по умолчанию для простого /loop, а не список отдельных запланированных задач, и игнорируется всякий раз, когда вы предоставляете подсказку в командной строке. Чтобы запланировать дополнительные подсказки рядом с ней, используйте /loop <prompt> или попросите Claude напрямую.
Claude ищет файл в двух местах и использует первый, который он находит.
Файл представляет собой простой Markdown без требуемой структуры. Напишите его так, как если бы вы вводили подсказку
/loop напрямую. Следующий пример поддерживает ветку выпуска в хорошем состоянии:
.claude/loop.md
loop.md вступают в силу на следующей итерации, поэтому вы можете уточнить инструкции, пока цикл работает. Когда loop.md не существует ни в одном месте, цикл возвращается к встроенной подсказке обслуживания. Держите файл кратким: содержимое, превышающее 25 000 байт, усекается.
На Amazon Bedrock, Claude Platform on AWS, Google Cloud’s Agent Platform и Microsoft Foundry
loop.md не читается и /loop без подсказки выводит сообщение об использовании вместо этого.Остановите цикл
Чтобы остановить/loop во время ожидания следующей итерации, нажмите Esc. Это очищает ожидающее пробуждение, поэтому цикл не срабатывает снова. Задачи, которые вы запланировали, попросив Claude напрямую, не затрагиваются Esc и остаются на месте до тех пор, пока вы их не удалите.
В режиме самостоятельного темпа Claude также может завершить цикл самостоятельно, как только задача будет завершена. Claude вызывает инструмент ScheduleWakeup с stop: true, что немедленно отменяет ожидающее пробуждение. Если итерация заканчивается без переплана или остановки, Claude Code планирует одно резервное пробуждение примерно через 20 минут и завершает цикл, когда эта итерация также не переплана. До версии 2.1.202 отсутствие переплана было единственным способом, которым Claude мог завершить цикл самостоятельно.
Циклы по фиксированному интервалу продолжают работать до тех пор, пока вы их не остановите или не пройдёт семь дней.
Установите одноразовое напоминание
Для одноразовых напоминаний опишите то, что вы хотите, на естественном языке вместо использования/loop. Claude планирует одноразовую задачу, которая удаляет себя после выполнения.
Управление запланированными задачами
Попросите Claude на естественном языке перечислить или отменить задачи, или обратитесь непосредственно к базовым инструментам.
Каждая запланированная задача имеет 8-символьный ID, который вы можете передать в
CronDelete. Сеанс может одновременно содержать до 50 запланированных задач.
Как работают запланированные задачи
Планировщик проверяет каждую секунду наличие выполненных задач и ставит их в очередь с низким приоритетом. Запланированная подсказка срабатывает между вашими ходами, а не во время ответа Claude. Если Claude занят, когда задача наступает, подсказка ждёт до конца текущего хода. Все времена интерпретируются в вашем локальном часовом поясе. Выражение cron, такое как0 9 * * *, означает 9 утра там, где вы запускаете Claude Code, а не UTC.
Дрожание
Чтобы избежать того, чтобы каждый сеанс обращался к API в один и тот же момент по стене часов, планировщик добавляет детерминированное смещение к времени срабатывания:- Повторяющиеся задачи срабатывают до 30 минут после запланированного времени (или до половины интервала для задач, которые выполняются чаще, чем раз в час). Почасовое задание, запланированное на
:00, может срабатывать в любое время до:30. - Одноразовые задачи, запланированные на верхнюю или нижнюю часть часа, срабатывают до 90 секунд раньше.
: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).
День недели использует
0 или 7 для воскресенья через 6 для субботы. Расширенный синтаксис, такой как L, W, ?, и псевдонимы имён, такие как MON или JAN, не поддерживаются.
Когда ограничены как день месяца, так и день недели, дата совпадает, если совпадает любое поле. Это следует стандартной семантике vixie-cron.
Отключите запланированные задачи
УстановитеCLAUDE_CODE_DISABLE_CRON=1 в вашей среде, чтобы полностью отключить планировщик. Инструменты cron и /loop становятся недоступными, и любые уже запланированные задачи перестают срабатывать. См. Переменные окружения для полного списка флагов отключения.
Ограничения
Планирование, привязанное к сеансу, имеет присущие ему ограничения:- Задачи срабатывают только во время работы Claude Code и в режиме ожидания. Закрытие терминала или выход из сеанса отменяет всё. Перемещение сеанса в фоновый режим переносит задачи
/loopв фоновый сеанс, который продолжает работать без терминала. - Нет наверстывания пропущенных срабатываний. Если запланированное время задачи проходит, пока Claude занят долгоживущим запросом, она срабатывает один раз, когда Claude становится свободным, а не один раз за каждый пропущенный интервал.
- Запуск нового разговора очищает все задачи, привязанные к сеансу. Возобновление с помощью
claude --resumeилиclaude --continueвосстанавливает задачи, которые не истекли: повторяющиеся задачи в течение семи дней после создания и одноразовые задачи, чьё запланированное время ещё не наступило. Фоновые задачи Bash и monitor никогда не восстанавливаются при возобновлении.
- Routines: запуск на инфраструктуре, управляемой Anthropic, по расписанию, через вызов API или на события GitHub
- GitHub Actions: используйте триггер
scheduleв CI - Desktop запланированные задачи: запуск локально на вашей машине