owasp-amass/amass · error

zero transformation matches in the session config

Error message

zero transformation matches in the session config

What it means

CheckTransformations builds a set of results by matching transformations relevant to the current session/state, and this error means the match set came back empty. The config may pass Validate but contain no transformation applicable to the query, so the library cannot proceed and returns this error instead of an empty result.

Source

Thrown at config/transform.go:232

					}

					results.to[transform.To] = struct {
						ttl        int
						confidence int
					}{ttl: ttl, confidence: confidence}

				} else {
					results.to[transform.To] = struct {
						ttl        int
						confidence int
					}{ttl: transform.checkTTL(transform.To, c), confidence: transform.Confidence}
				}
			}
		}
	}

	if len(results.to) == 0 {
		return nil, fmt.Errorf("zero transformation matches in the session config")
	}
	return results, nil
}

// checkTTl checks the TTL value for the given 'To' type in the given Config.
// if the 'To' is a data source, it will return the TTL value from the data source config.
// otherwise, it will return the default TTL value from the transformation config.
func (t *Transformation) checkTTL(to string, c *Config) int {
	if c != nil {
		if c.DataSrcConfigs != nil {
			ds := c.GetDataSourceConfig(to)
			if ds != nil && ds.TTL > 0 {
				return ds.TTL
			}
		}
	}
	return t.TTL
}

View on GitHub (pinned to 79299dce87)

Solutions

  1. Add transformation entries covering the From/To types being queried
  2. Verify the session config was loaded correctly (check the file path and contents)
  3. Check TTLStartTime/CheckTransformations arguments against the types present in the config

Example fix

// before
// config has no transformations for the queried type
// after
transformations:
  - from: workloadType
    to: deployment
Defensive patterns

Strategy: validation

Validate before calling

if len(cfg.Transformations) == 0 { return errors.New("config has no transformations; nothing will match") }

Try / catch

results, err := cfg.CheckTransformations(...)
if err != nil {
  if strings.Contains(err.Error(), "zero transformation matches") {
    // fall back to default config or report a clear user-facing message
  }
  return err
}

Prevention

When it happens

Trigger: Calling CheckTransformations (directly or via TTLStartTime) when no transformation entries in the session config match the requested From/To types.

Common situations: Querying a config loaded from an unrelated or minimal config file; forgetting to define transformations before running the workflow; filtering by a type that has no rules.

Understand the failure class

Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.

Related errors


AI-assisted analysis of owasp-amass/amass@79299dce87 (2026-09-06). Data as JSON: /api/errors/62f81f9ddeb13069. Report an issue: GitHub.