Claude Code routines run hourly at most: use a Sume webhook

A routine's minimum schedule interval is one hour, so a polling loop wastes runs. Submit the Sume job once and let the terminal webhook trigger the next step.

5 min readSume
All posts

Claude Code routines cannot be scheduled more often than once an hour: the page says the minimum interval is one hour. Polling Sume every few minutes from a routine is therefore not possible, and it would also spend your run budget. Submit the video once, give Sume a webhook, and let the terminal event decide what happens next.

Limits are from Anthropic's routines documentation, read on 2026-10-03; webhook behavior is in Sume's Run webhooks and Jobs and results.

What are the routine limits?

Scheduled runs count against a cap of 100 per hour per account. Run now, API fires and one-off re-runs share another count, 30 per hour per routine. Anthropic says none of these have overage, so a polling design hits a wall instead of a bill.

Claude Code routine limits (read 2026-10-03)
TriggerLimit
Schedule interval1 hour minimum
Scheduled runs100 per hour per account
Run now, API fires, one-off re-run30 per hour per routine
API fires100 per hour per account

What replaces the poll?

Sume run webhooks send action.run.terminal, format.run.terminal or agent.run.terminal when a run reaches a final state. Delivery makes up to 10 attempts, and the signature is HMAC-SHA256 over the timestamp and the raw body. Your receiver can then call the routine's /fire endpoint with the result URL as text, so one fire is spent per finished video instead of one per poll.

If the receiver is the thing that is down, use jobs_wait from a single call: it holds for up to 55 seconds per slice and accepts 1 to 20 job ids.

What should the flow be?

  • Routine submits the job with an idempotency_key and a webhook, then stops.
  • Sume verifies and delivers …run.terminal to your small receiver.
  • The receiver checks the signature and outcome, and fires the routine again with the result URL.
  • A canceled run delivers nothing, so keep one daily check that polls any run still open.

What should I watch for?

A fire carries text that reaches the routine as untrusted data, so the saved prompt must say to read it. Also keep each routine's fires below its hourly count, because the API shares that count with Run now.

For a worked budget: a routine that fires once per finished video and a daily check uses a small share of the 30 fires an hour a routine allows, while a poll every hour for a video that takes a few minutes burns a scheduled run per hour for no new information.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume