hashicorp/nomad · error
cron.start must contain %d fields
Error message
cron.start must contain %d fields
What it means
TaskSchedule (enterprise) validation error: cron.start does not have exactly 6 space-separated fields (sec min hour dom month dow), as measured by counting spaces. Extra or missing fields make the expression unparseable.
Source
Thrown at nomad/structs/task_sched.go:77
//
// Enterprise only.
type TaskSchedule struct {
Cron *TaskScheduleCron
}
func (t *TaskSchedule) Validate() error {
if t.Cron == nil {
return errors.New("must specify cron block")
}
const (
startFields = 6
endFields = 2
restrictedChars = "/,"
)
if strings.Count(t.Cron.Start, " ") != (startFields - 1) {
return fmt.Errorf("cron.start must contain %d fields", startFields)
}
if strings.Count(t.Cron.End, " ") != (endFields - 1) {
return fmt.Errorf("cron.end must contain %d fields", endFields)
}
if strings.ContainsAny(t.Cron.Start, restrictedChars) {
return fmt.Errorf("cron.start must not contain %q", restrictedChars)
}
if strings.ContainsAny(t.Cron.End, restrictedChars) {
return fmt.Errorf("cron.end must not contain %q", restrictedChars)
}
return nil
}
func (t *TaskSchedule) Next(from time.Time) (start, end time.Duration, err error) {
return t.Cron.Next(from)
}
View on GitHub (pinned to 482b49bf1a)
Solutions
- Write cron.start with exactly 6 fields, e.g. "0 0 9 * * Mon-Fri"
- Check for doubled or missing spaces between fields
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at nomad/structs/task_sched.go:77 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04).
Data as JSON: /api/errors/9c69056d7f477f62.
Report an issue: GitHub.