projectdiscovery/nuclei · error

workflows cannot have other protocols

Error message

workflows cannot have other protocols

What it means

Error "workflows cannot have other protocols" thrown in projectdiscovery/nuclei.

Source

Thrown at pkg/templates/compile.go:557

			return nil, err
		}
	}

	if err != nil {
		return nil, errkit.Wrapf(err, "failed to parse %s", template.Path)
	}

	if utils.IsBlank(template.Info.Name) {
		return nil, errors.New("no template name field provided")
	}

	if template.Info.Authors.IsEmpty() {
		return nil, errors.New("no template author field provided")
	}

	numberOfWorkflows := len(template.Workflows)
	if numberOfWorkflows > 0 && numberOfWorkflows != template.Requests() {
		return nil, errors.New("workflows cannot have other protocols")
	}

	// use default unknown severity
	if len(template.Workflows) == 0 {
		if template.Info.SeverityHolder.Severity == severity.Undefined {
			// set unknown severity with counter and forced warning
			template.Info.SeverityHolder.Severity = severity.Unknown
			if options.Options.Validate {
				// when validating return error
				return nil, errors.New("no template severity field provided")
			}
		}
	}

	// Setting up variables regarding template metadata
	options.TemplateID = template.ID
	options.TemplateInfo = template.Info
	options.StopAtFirstMatch = template.StopAtFirstMatch

View on GitHub (pinned to 265b3a3dec)

When it happens

Trigger: Thrown at pkg/templates/compile.go:557 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of projectdiscovery/nuclei@265b3a3dec (2026-08-15). Data as JSON: /api/errors/13c61cf0d2853863. Report an issue: GitHub.