n8n-io/n8n · error · Error
No examples matched filters
Error message
No examples matched filters (${filterSummary}) in dataset "${datasetName}" (scanned ${scanned}) What it means
After loading a local dataset and applying filters (by `notionId`, `technique`, `doSearch`, `dontSearch`), the harness found zero matching examples even though the dataset itself is non-empty. The message reports the active filter summary and how many examples were scanned, so the user can tell whether the filter is too narrow or simply wrong.
Solutions
- Relax the filter: drop the most restrictive clause and re-run to find which filter is excluding everything.
- Verify the exact stored values (case, punctuation) in the dataset and align your filter flags to them.
- Run once with no filters to confirm the dataset is non-empty and to see the available technique/id values.
Example fix
// before run --dataset mine --filter-technique chains --filter-do-search 'slack' // after (no examples tagged 'chains'; drop it) run --dataset mine --filter-do-search 'slack'
Defensive patterns
Strategy: validation
Validate before calling
// before running, confirm the filter will match at least one example
function previewFilterMatch(dataset: Example[], filters: Filters): number {
return dataset.filter((e) => matchesFilters(e, filters)).length;
}
const count = previewFilterMatch(localDataset, filters);
if (count === 0) throw new Error(`filter matches 0 of ${localDataset.length} examples; relax filters`); Prevention
- Run the dataset once with no filters to learn the available technique/id values, then build filters from those.
- Treat filters as case/whitespace-sensitive and document that.
- Add a unit test against a fixture dataset that asserts your default filter set matches > 0.
When it happens
Trigger: Calling `resolveAndEnrichLangsmithData` (or the local-dataset equivalent) with a filter combination that no example satisfies — e.g. `--filter-technique chains` when no example is tagged `chains`, or a `--do-search` substring that matches nothing. `matches.length === 0` with `filters` set.
Common situations: Filter values copied from another dataset; case/whitespace mismatch (the comparison is exact substring on stored fields); a technique/id renamed in the dataset; combining multiple filters so nothing passes all of them.
Related errors
- No examples found in dataset
- LangSmith mode requires `--dataset` and does not support…
- LangSmith mode requires dataset to be a dataset name string
- No prompt found in inputs - expected "prompt" string or…
- No valid checks after filtering. Requested
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/13a7a55134aa019a.
Report an issue: GitHub.
Appendix: source
Thrown at packages/@n8n/ai-workflow-builder.ee/evaluations/harness/runner.ts:390
for await (const example of lsClient.listExamples(listArgs)) {
scanned++;
if (filters && !exampleMatchesFilters(example, filters)) continue;
matches.push(example);
if (maxExamples && matches.length >= maxExamples) break;
}
if (filters && matches.length === 0) {
const filterSummary = [
filters.notionId ? `id:${filters.notionId}` : undefined,
filters.technique ? `technique:${filters.technique}` : undefined,
filters.doSearch ? `do:${filters.doSearch}` : undefined,
filters.dontSearch ? `dont:${filters.dontSearch}` : undefined,
]
.filter((v): v is string => v !== undefined)
.join(', ');
throw new Error(
`No examples matched filters (${filterSummary}) in dataset "${datasetName}" (scanned ${scanned})`,
);
}
if (!filters && maxExamples && matches.length === 0) {
throw new Error(`No examples found in dataset "${datasetName}"`);
}
return matches;
}
async function resolveLangsmithData(params: {
dataset: string;
langsmithOptions: LangsmithRunConfig['langsmithOptions'];
lsClient: {
readDataset: (args: { datasetName: string }) => Promise<{ id: string }>;
listExamples: (args: { datasetId: string; limit?: number }) => AsyncIterable<Example>;
};View on GitHub (pinned to 5ac6606e81)