n8n-io/n8n · error · Error

--suite <slug|id> is required

Error message

--suite <slug|id> is required

What it means

The langtracer-push CLI upserts test cases into a specific lang-tracer suite identified by --suite (slug or numeric ID). The flag is mandatory because pushing without a target would risk accidental writes to an unknown suite. The check at line 119 fires after all flags are parsed, verifying that result.suite is non-empty.

Source

Thrown at packages/@n8n/instance-ai/evaluations/cli/langtracer-push.ts:119

				break;
			case '--dry-run':
				result.dryRun = true;
				i += 1;
				break;
			case '-h':
			case '--help':
				return { helpRequested: true };
			default:
				if (arg.startsWith('--')) {
					throw new Error(`Unknown flag: ${arg.split('=', 1)[0]} (use --help)`);
				}
				result.slugs.push(arg);
				i += 1;
				break;
		}
	}

	if (!result.suite) throw new Error('--suite <slug|id> is required');
	const hasSelector =
		result.slugs.length > 0 ||
		result.changed ||
		result.filter !== undefined ||
		result.tier !== undefined;
	if (!hasSelector) {
		throw new Error('select cases to push: pass <slugs...>, --changed, --filter, or --tier');
	}

	return { helpRequested: false, args: result };
}

function nextArg(argv: string[], i: number, flag: string): string {
	const value = argv[i + 1];
	if (value === undefined || value.startsWith('--')) throw new Error(`Missing value for ${flag}`);
	return value;
}

View on GitHub (pinned to 5ac6606e81)

Solutions

  1. Add --suite <slug-or-id> to the command
  2. Find available suite slugs in the lang-tracer UI or via the REST API (GET /suites)
  3. Ensure --suite's value is not consumed by a following flag

Example fix

# before
pnpm eval:langtracer-push --changed

# after
pnpm eval:langtracer-push --suite baseline --changed
Defensive patterns

Strategy: validation

Validate before calling

if (!result.suite) {
  throw new Error('--suite <slug|id> is required');
}

Prevention

When it happens

Trigger: Running `pnpm eval:langtracer-push --changed` (or any selector) without the `--suite` flag. The check runs after the parse loop completes.

Common situations: Developer forgets the --suite flag. Assumes a default suite exists (none does). Copies a partial command from docs or chat. The flag was present but its value was consumed by an adjacent flag.

Related errors


AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12). Data as JSON: /api/errors/a1ac0b23e65b4d5d. Report an issue: GitHub.