temporalio/temporal · error

the number of %s, %d, has reached the per-workflow limit of

Error message

the number of %s, %d, has reached the per-workflow limit of %d

What it means

Error "the number of %s, %d, has reached the per-workflow limit of %d" thrown in temporalio/temporal.

Source

Thrown at service/history/api/respondworkflowtaskcompleted/workflow_size_checker.go:134

	numPending int,
	errLimit int,
	metricName string,
	resourceName string,
) error {
	key := c.mutableState.GetWorkflowKey()
	logger := log.With(
		c.logger,
		tag.WorkflowNamespaceID(key.NamespaceID),
		tag.WorkflowID(key.WorkflowID),
		tag.WorkflowRunID(key.RunID),
	)

	if withinLimit(numPending, errLimit) {
		return nil
	}
	c.metricsHandler.Counter(metricName).Record(1)
	// nolint:err113
	err := fmt.Errorf(
		"the number of %s, %d, has reached the per-workflow limit of %d",
		resourceName,
		numPending,
		errLimit,
	)
	logger.Error(err.Error(), tag.Error(err))
	return err
}

const (
	PendingChildWorkflowExecutionsDescription = "pending child workflow executions"
	PendingActivitiesDescription              = "pending activities"
	PendingCancelRequestsDescription          = "pending requests to cancel external workflows"
	PendingSignalsDescription                 = "pending signals to external workflows"
)

func (c *workflowSizeChecker) checkIfNumChildWorkflowsExceedsLimit() error {
	return c.checkCountConstraint(

View on GitHub (pinned to bde624efd1)

When it happens

Trigger: Thrown at service/history/api/respondworkflowtaskcompleted/workflow_size_checker.go:134 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/0a1ea69f51e9f2ae. Report an issue: GitHub.