temporalio/temporal · error
task cannot have both a deadline and destination due to miss
Error message
task cannot have both a deadline and destination due to missing outbound timer queue implementation
What it means
Error "task cannot have both a deadline and destination due to missing outbound timer queue implementation" thrown in temporalio/temporal.
Source
Thrown at service/history/workflow/task_generator.go:992
}
// Task is invalid at generation time.
// This may happen during replication when multiple event batches are applied in a single transaction.
if err := task.Validate(ref, node); err != nil {
return nil
}
taskInfo := &persistencespb.StateMachineTaskInfo{
Ref: ref,
Type: task.Type(),
Data: data,
}
// NOTE: at the moment deadline is mutually exclusive with destination.
// This will change when we add the outbound timer queue.
if task.Deadline() != hsm.Immediate {
if task.Destination() != "" {
// TODO: support outbound timer tasks.
return fmt.Errorf("task cannot have both a deadline and destination due to missing outbound timer queue implementation")
}
TrackStateMachineTimer(mutableState, task.Deadline(), taskInfo)
} else if task.Destination() != "" {
mutableState.AddTasks(&tasks.StateMachineOutboundTask{
StateMachineTask: tasks.StateMachineTask{
WorkflowKey: mutableState.GetWorkflowKey(),
Info: taskInfo,
},
Destination: task.Destination(),
})
} else {
// TODO: support "transfer" tasks - immediate without destination.
return fmt.Errorf("task has no deadline or destination")
}
return nil
}
View on GitHub (pinned to bde624efd1)
When it happens
Trigger: Thrown at service/history/workflow/task_generator.go:992 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01).
Data as JSON: /api/errors/a9c8fcb4585d0846.
Report an issue: GitHub.