deepseek-ai/deepseek-harness · error · Error
pattern must be a non-empty string
Error message
pattern must be a non-empty string
What it means
Error "pattern must be a non-empty string" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/fs/tool-fs-search/src/grep.ts:91
if (char === '{') braceDepth++
else if (char === '}') braceDepth = Math.max(0, braceDepth - 1)
else if (char === ',' && braceDepth === 0) {
throw new Error('include must be one glob, not a comma-separated list (use {a,b} alternation instead)')
}
}
}
/**
* Validate value constraints the schema DSL can't express: a non-EMPTY
* `pattern` (whitespace is a legitimate regex), a non-blank `path` when given,
* and a single positive `include` glob ({@link GrepInput}). Throws a plain
* `Error` (an ordinary tool argument error) otherwise.
*
* @param args - the schema-validated `grep` arguments.
* @returns the accepted input, unchanged.
*/
export function parseGrepArgs(args: { pattern: string; path?: string; include?: string }): GrepInput {
if (args.pattern.length === 0) throw new Error('pattern must be a non-empty string')
if (args.path !== undefined && args.path.trim().length === 0) throw new Error('path must be a non-empty string when given')
if (args.include !== undefined) validateInclude(args.include)
return {
pattern: args.pattern,
...args.path !== undefined ? { path: args.path } : {},
...args.include !== undefined ? { include: args.include } : {},
}
}
/**
* Build the fixed line-oriented `rg --json` argv for one `grep` call. Every
* model-controlled value ({@link GrepInput.pattern}, {@link GrepInput.path},
* {@link GrepInput.include}) is a plain argv element — no shell layer exists,
* so no quoting applies; the pattern and include ride in `--flag=value` form
* and the target behind `--`, so a leading-dash value can never be parsed as
* a flag.
*
* @param input - the validated arguments.View on GitHub (pinned to b150a551b8)
When it happens
Trigger: Thrown at packages/fs/tool-fs-search/src/grep.ts:91 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24).
Data as JSON: /api/errors/1e6108e468d323b2.
Report an issue: GitHub.