grafana/k6 · error

unknown executor type '%s'

Error message

unknown executor type '%s'

What it means

Raised by GetParsedExecutorConfig while parsing the scenarios configuration: the scenario's executor string does not match any executor type registered in k6's executor registry, so no config struct can be built.

Source

Thrown at lib/executors.go:325

		currentTimeOffset = step.TimeOffset
		currentPlannedVUs[step.configID] = step.PlannedVUs
		currentMaxUnplannedVUs[step.configID] = step.MaxUnplannedVUs
		addCurrentStepIfDifferent()
	}
	return consolidatedSteps
}

// GetParsedExecutorConfig returns a struct instance corresponding to the supplied
// config type. It will be fully initialized - with both the default values of
// the type, as well as with whatever the user had specified in the JSON
func GetParsedExecutorConfig(name, configType string, rawJSON []byte) (result ExecutorConfig, err error) {
	executorConfigTypesMutex.Lock()
	defer executorConfigTypesMutex.Unlock()

	constructor, exists := executorConfigConstructors[configType]
	if !exists {
		return nil, fmt.Errorf("unknown executor type '%s'", configType)
	}
	return constructor(name, rawJSON)
}

type protoExecutorConfig struct {
	executorType string
	rawJSON      json.RawMessage
}

// UnmarshalJSON unmarshals the base config (to get the type), but it also
// stores the unprocessed JSON so we can parse the full config in the next step
func (pc *protoExecutorConfig) UnmarshalJSON(b []byte) error {
	var tmp struct {
		ExecutorType string `json:"executor"`
	}
	err := json.Unmarshal(b, &tmp)
	*pc = protoExecutorConfig{tmp.ExecutorType, b}
	return err

View on GitHub (pinned to 01ffac6f24)

Solutions

  1. Use a valid executor type such as shared-iterations, per-vu-iterations, constant-vus, ramping-vus, constant-arrival-rate or ramping-arrival-rate
  2. Check for typos in the executor name
  3. If using a custom executor, ensure its extension is built into the binary
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at lib/executors.go:325 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of grafana/k6@01ffac6f24 (2026-08-18). Data as JSON: /api/errors/e45935bc71ec6910. Report an issue: GitHub.