> · 8 мин

Claude Code научился работать по расписанию — /loop, Desktop scheduled tasks и удар по OpenClaw

Claude Code научился работать по расписанию — /loop, Desktop scheduled tasks и удар по OpenClaw

Claude Code научился работать по расписанию — /loop, Desktop scheduled tasks и удар по OpenClaw

Anthropic добавили в Claude Code штуку, которую давно ждали — задачи по расписанию. Написал промпт, указал интервал, пошёл пить кофе. Claude сам проверит деплой, отревьюит коммиты за ночь или напомнит запушить ветку в три часа дня.

TL;DR: Два режима cron в Claude Code. /loop в CLI — сессионный, умирает вместе с терминалом, максимум 50 задач, автоудаление через 3 дня. Desktop scheduled tasks — персистентный, с GUI в сайдбаре, переживает перезагрузку, догоняет пропущенные запуски за 7 дней. Для продакшена без привязки к ноутбуку — GitHub Actions с anthropics/claude-code-action@v1.

Режим первый: /loop в терминале

Самый быстрый способ — команда /loop. Пишешь интервал и промпт, Claude конвертит в cron-выражение и запускает фоновую задачу:

/loop 5m check if the deployment finished and tell me what happened

Интервал можно ставить в начале, в конце через every, или вообще не ставить — по умолчанию 10 минут:

  • В начале: /loop 30m check the build → каждые 30 минут
  • В конце: /loop check the build every 2 hours → каждые 2 часа
  • Без интервала: /loop check the build → каждые 10 минут

Поддерживаются s (секунды), m (минуты), h (часы), d (дни). Секунды округляются вверх до минуты — cron точнее не умеет. Нечётные интервалы вроде 7m или 90m Claude округляет до ближайшего «чистого» значения и сообщает, что выбрал.

Можно зацикливать другие команды — и вот тут начинается магия:

/loop 20m /review-pr 1234

Каждые 20 минут Claude прогоняет /review-pr 1234 так, будто ты набрал это руками. Код-ревью на автопилоте. Или мониторинг CI:

/loop 5m check the CI status of PR #42, if it failed — read the logs and fix the issue

Одноразовые напоминания

Не только cron. Можно просто попросить естественным языком:

remind me at 3pm to push the release branch
in 45 minutes, check whether the integration tests passed

Claude создаёт одноразовую задачу, выполняет в нужное время и удаляет. Одноразовые задачи, привязанные к :00 или :30, могут сработать на 90 секунд раньше из-за jitter.

Что под капотом

Три инструмента: CronCreate (создать задачу с 5-полевым cron-выражением), CronList (посмотреть все задачи с ID), CronDelete (удалить по ID). Каждой задаче присваивается 8-символьный ID. Все времена — в локальной таймзоне, не UTC.

Планировщик проверяет задачи каждую секунду, но запускает промпт только между твоими запросами — если Claude занят ответом, задача ждёт.

Jitter: повторяющиеся задачи могут сработать на 10% позже (до 15 минут для часовых). Это защита от thundering herd на API, когда тысячи сессий стучат в одну секунду. Offset детерминированный — одна и та же задача всегда получает одинаковый сдвиг.

Ограничения

  • Максимум 50 задач на сессию
  • Автоудаление через 3 дня — защита от забытых циклов
  • Закрыл терминал — всё пропало, никакой персистентности
  • Пропущенные интервалы не догоняются — если Claude был занят, задача сработает один раз, когда освободится
  • Отключить полностью: CLAUDE_CODE_DISABLE_CRON=1

Режим второй: Desktop scheduled tasks

Для тех, кому нужна персистентность. В Desktop-приложении Claude Code задачи настраиваются через GUI в сайдбаре: кнопка Schedule+ New task.

Каждая задача — это имя (конвертится в kebab-case для папки на диске), промпт и частота:

  • Manual — только по кнопке «Run now», для сохранённых промптов
  • Hourly — каждый час со случайным offset до 10 минут
  • Daily — с выбором времени, по умолчанию 9:00 утра
  • Weekdays — то же, но без суббот и воскресений
  • Weekly — с выбором дня и времени

Для нестандартных интервалов можно попросить Claude прямо в сессии: «schedule a task to run all the tests every 6 hours».

Как это работает

Каждый запуск — свежая сессия с полным доступом к файлам, MCP-серверам, скиллам и плагинам. Задача может редактировать файлы, запускать команды, коммитить и открывать PR. Можно включить worktree-изоляцию — каждый запуск получит свою ветку, как параллельные сессии.

Когда задача срабатывает, появляется десктопная нотификация и новая сессия в секции Scheduled в сайдбаре. Открываешь, смотришь, что Claude сделал, отвечаешь на запросы разрешений.

Пропущенные запуски

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

Нюанс, о котором документация предупреждает мелким шрифтом: задача на 9 утра может запуститься в 11 вечера, если ноут проспал весь день. Anthropic советуют добавлять в промпт проверку: «Only review today's commits. If it's after 5pm, skip the review and just post a summary of what was missed.»

Разрешения и автономность

У каждой задачи свой permission mode. Если задача в Ask mode натыкается на инструмент без разрешения — она зависает, пока ты не одобришь. Сессия висит в сайдбаре и ждёт.

Рецепт от Anthropic: после создания задачи нажать Run now, пройтись по всем запросам и выбрать «always allow». Дальше задача работает автономно. Отозвать разрешения можно на странице задачи в панели Always allowed.

Файлы задач хранятся в ~/.claude/scheduled-tasks/<task-name>/SKILL.md с YAML frontmatter — можно редактировать вручную.

Третий путь: GitHub Actions

Для продакшн-автоматизации без привязки к десктопу — GitHub Actions с триггером schedule и официальным anthropics/claude-code-action@v1:

name: Daily Report
on:
  schedule:
    - cron: "0 9 * * *"
jobs:
  report:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: "Generate a summary of yesterday's commits and open issues"
          claude_args: "--model opus"

Работает на ubuntu-раннерах GitHub, не зависит от ноутбука, поддерживает AWS Bedrock и Google Vertex AI. Цена — минуты GitHub Actions + токены API. Установка — /install-github-app прямо из Claude Code.

Что советуют автоматизировать

  • Мониторинг деплоя — поллинг каждые 5 минут, Claude сам создаёт PR если находит фиксабельный баг. Thariq Shihipar из Anthropic показал именно этот кейс: «проверка error logs каждые пару часов с автоматическим PR для исправимых багов»
  • Ежедневный код-ревью — коммиты за вчера, с автоматическими комментариями в PR
  • Проверка безопасности — CVE, устаревшие зависимости, npm audit
  • Утренний брифинг — собирает данные из GitHub, Slack, Linear через коннекторы Desktop
  • Heartbeat а-ля OpenClaw — проверка, нет ли новых задач, и их выполнение

Подводные камни

1. DST-баг, вешающий приложение. 8 марта 2026 пользователи в таймзонах с переходом на летнее время обнаружили, что Claude Desktop уходит в бесконечный цикл: планировщик не мог найти задачи, запланированные на «пропущенный» час, и зацикливался. Фикс — обновление до v1.1.5749. Если ваш часовой пояс наблюдает DST — держите приложение обновлённым, иначе рискуете словить это снова при следующем переводе часов.

2. Scheduled tasks на Windows не работают. Баг #29022 в Cowork — инструмент create_scheduled_task не инжектится в контекст сессии. Claude пытается фолбечить через crontab -e и gh CLI, ничего не работает. 15+ пользователей подтвердили на обеих платформах. Статус — open, с февраля 2026. Частичный фикс в v1.1.4498 не помог всем.

3. Очистка кэша убивает задачи. Баг #30092 — если очистить кэш и перезапустить Cowork, все scheduled tasks и их история исчезают безвозвратно. Бэкапов нет, защиты от случайного удаления нет. Файлы задач лежат в ~/.claude/scheduled-tasks/, но история запусков хранится в кэше.

4. Desktop работает только пока ноут не спит. Это не systemd-сервис и не фоновый демон. Закрыл крышку — задачи не выполняются. Опция «Keep computer awake» в настройках предотвращает засыпание от бездействия, но закрытие крышки всё равно усыпляет машину. Для 24/7 автоматизации нужен GitHub Actions или внешний сервер.

5. Нет Linux-поддержки Desktop. Десктопное приложение Claude — только macOS и Windows. Linux-пользователи остаются с CLI /loop (умирает с сессией) или самодельными cron-задачами через claude -p в headless-режиме.

Альтернативы

  • OpenClaw — работает непрерывно на локальной машине, мониторит почту, календари, мессенджеры, выполняет задачи через Heartbeat. Шире по охвату — это «жизненный ассистент», а не только кодинг-агент. Но требует отдельной инфраструктуры и доступа к API провайдеров, плюс Google и Anthropic активно банят сторонних клиентов.

  • claude-code-scheduler — плагин (466 звёзд), использующий нативные планировщики ОС: launchd на macOS, crontab на Linux, Task Scheduler на Windows. Задачи переживают перезагрузку, поддерживают worktree-изоляцию и автономный режим через claude -p. По сути — то, чем Desktop scheduled tasks должны были быть на всех платформах.

  • runCLAUDErun — нативное macOS-приложение с GUI для планирования задач Claude Code. Бесплатное, использует launchd, работает без регистрации. Если Desktop-приложение Claude ещё не поддерживает scheduled tasks на вашей версии — рабочая альтернатива.

Вердикт

/loop — для быстрого поллинга во время сессии: деплой, тесты, PR-статус. Написал, посмотрел результат, закрыл терминал. Desktop scheduled tasks — для ежедневных рутин вроде утреннего код-ревью или проверки зависимостей: удобный GUI, персистентность, но привязка к открытому ноутбуку и баги на Windows. Для продакшн-автоматизации без привязки к железу — GitHub Actions с schedule триггером, тут без вариантов.

Нанёс ли Claude Code удар по OpenClaw? Да, но не смертельный. Scheduled tasks закрывают нишу «фоновой разработки», однако OpenClaw — это другая лига: мессенджеры, почта, календари, кросс-платформенная оркестрация. Если нужен только кодинг-автопилот — Claude Code теперь покрывает 80% потребностей. Если нужен AI-дворецкий для всей цифровой жизни — OpenClaw пока вне конкуренции, несмотря на проблемы с банами провайдеров.

Как попробовать

  1. Обновить Claude Code до последней версии — CLI: claude update, Desktop: автообновление при запуске
  2. В терминале — набрать /loop 5m check the build и посмотреть, как задача создаётся
  3. В Desktop — нажать Schedule в сайдбаре → + New task, указать промпт и частоту
  4. GitHub Actions — скопировать пример workflow в .github/workflows/, добавить ANTHROPIC_API_KEY в secrets
  5. Отключить, если мешает — переменная окружения CLAUDE_CODE_DISABLE_CRON=1
$ ls ./related/

Похожие статьи

subscribe.sh

$ cat /dev/blog/updates

> Свежие заметки о программировании,

> DevOps и AI — прямо в мессенджер

./subscribe