Routine builder generates sub-hourly cron then silently disables Create with no error
Summary
When creating a Routine (scheduled cloud agent), the natural-language description step will happily generate a sub-hourly cron expression (e.g. */10 * * * *) even though routines enforce a 1-hour minimum interval. The invalid schedule is then silently rejected at the end: the Create button is disabled with no explanation, and there is no inline error telling the user the schedule is the problem. The result is a dead-end — the user has a fully filled-out form that can never be submitted and no indication why.
Environment
- App: Claude Desktop for macOS (Code tab → Routines)
- Feature: Routine builder, schedule trigger
Steps to reproduce
- Create a new Routine.
- Describe the routine in natural language such that it implies a frequent cadence (e.g. "run every 10 minutes").
- The builder generates a cron trigger of
*/10 * * * *(every 10 minutes) without objecting. - Fill in the rest of the form (name, instructions, repo, connector) — everything is valid.
- The Create button remains disabled, with no message explaining why.
Expected
Either:
- The natural-language → cron step should clamp to or warn about the 1-hour minimum instead of emitting a cron it knows can never be created; and/or
- The disabled Create button should surface an inline validation error on the trigger field (e.g. "Minimum interval is 1 hour — this schedule runs more frequently and will be rejected"), so the user knows what to fix.
Actual
- The NL step produces
*/10 * * * *with no warning. - Create is silently disabled. No inline error identifies the trigger as the blocker. The user has to already know about the 1-hour minimum to diagnose it.
Notes
Two separate gaps here, either of which would resolve the dead-end:
- Generation — the NL parser doesn't respect the schedule's own minimum-interval constraint.
- Validation feedback — the form disables Create without telling the user which field is invalid or why.
The 1-hour minimum itself is documented (https://code.claude.com/docs/en/routines#add-a-schedule-trigger); the issue is that neither the generator nor the form's error surface reflects it.