What you’ll know by the end of this check
- How routines burn through your subscription vs. standard sessions
- What happens when you hit the daily cap (and how to keep running)
- Why pinning your beta-header version is non-optional
The shortest possible answer
Routines draw from your subscription usage the same way interactive sessions do. On top of that, routines have their own daily cap on how many runs can start per account.
When you hit either limit, runs are rejected until the window resets — unless you have extra usage enabled, which lets you keep running on metered overage.
Pro, Max, Team, and Enterprise plans can use routines. Claude Code on the web must be enabled.
Two usage budgets to watch
| Budget | What it counts | Where to check |
|---|---|---|
| Subscription usage | Every message, tool call, session — interactive or routine | claude.ai/settings/usage |
| Daily routine runs | Number of routine runs started today (separate counter) | claude.ai/code/routines |
You can blow through either one independently. A single routine that fires 40 times in a day can hit the daily run cap without touching your subscription ceiling. Or a long interactive session can eat your subscription without affecting the daily cap.
Check both. Keep both in mind when designing high-frequency routines.
When you hit a cap
Without extra usage: additional runs are rejected. GitHub webhook events queued beyond the cap are dropped, not buffered. Scheduled runs scheduled past the cap are skipped, not delayed. API calls return an error.
With extra usage: you keep running, but you pay for metered overage. Enable it at Settings → Billing on claude.ai. Useful for production integrations where dropping a run is worse than paying for an extra one.
Research preview reality check
Routines ship under a research-preview label. What that means concretely:
- Daily run caps may change — tighter or looser, up to Anthropic
- Rate limits on GitHub webhooks can be adjusted mid-release
- Token semantics for the
/fireendpoint can evolve - API surface is versioned behind the
experimental-cc-routine-2026-04-01beta header
Breaking changes ship behind a new dated beta header. The two most recent prior headers continue to work so integrations have time to migrate. If you’re wiring routines into production, pin your beta-header version and watch the changelog.
If the feature moves out of research preview, the headers will stabilize. Until then, assume the surface can shift and plan accordingly.
The four-question framework for any routine
Before you save a new routine, run these four past it:
- What does it actually do? One sentence. If you can’t write it in one sentence, the prompt is too loose.
- What’s the smallest scope of repo/connector/environment it needs? If you can’t answer, you’re giving it too much.
- What happens if it runs 1000 times this week? Is that OK? What breaks?
- What’s the signal it failed? If a routine fires and produces nothing useful, how do you know?
Answer all four and you ship something you can leave unattended. Skip any of them and you ship a liability.
Things to try right now (8 minutes)
- Open claude.ai/settings/usage and note your subscription usage.
- Open claude.ai/code/routines and note your daily routine run count + remaining cap.
- Look at your test routine from check 02. Run it through the four-question framework. Tighten anything it fails.
- If the routine won’t die after this course, delete it now. (Alumni don’t leave test infra running.)
The canonical version
Full official docs: code.claude.com/docs/en/routines.
Ready to verify this check?
You know both budgets and how to check each. You know the metered-overage escape hatch. You’ve run one routine through the four-question framework. Mark it cleared — you’ve finished the Routines pre-flight.