deepseek-ai/deepseek-harness · error · Error
${path}.retryableCodes must contain only non-empty strings
Error message
${path}.retryableCodes must contain only non-empty strings What it means
Error "${path}.retryableCodes must contain only non-empty strings" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/llm/llm/src/retry-policy.ts:174
maxRetries: DEFAULT_MAX_RETRIES,
retryableCodes: DEFAULT_RETRYABLE_CODES,
...resolveBackoff(undefined, `${path}.backoff`),
})
}
switch (config.mode) {
case 'normal': {
validateKeys(config, NORMAL_POLICY_KEYS, path)
const maxRetries = config.maxRetries ?? DEFAULT_MAX_RETRIES
const retryableCodes = config.retryableCodes ?? [...DEFAULT_RETRYABLE_CODES]
if (!Number.isSafeInteger(maxRetries) || maxRetries < 0) {
throw new Error(`${path}.maxRetries must be a non-negative safe integer`)
}
if (retryableCodes.length === 0) {
throw new Error(`${path}.retryableCodes must not be empty`)
}
if (retryableCodes.some(code => typeof code !== 'string' || code.length === 0)) {
throw new Error(`${path}.retryableCodes must contain only non-empty strings`)
}
if (new Set(retryableCodes).size !== retryableCodes.length) {
throw new Error(`${path}.retryableCodes must not contain duplicates`)
}
return Object.freeze({
mode: 'normal',
maxRetries,
retryableCodes: Object.freeze([...retryableCodes]),
...resolveBackoff(config.backoff, `${path}.backoff`),
})
}
case 'always':
validateKeys(config, ALWAYS_POLICY_KEYS, path)
return Object.freeze({
mode: 'always',
...resolveBackoff(config.backoff, `${path}.backoff`),
})
default:View on GitHub (pinned to b150a551b8)
Solutions
- Use only non-empty strings in retryableCodes.
When it happens
Trigger: Thrown at packages/llm/llm/src/retry-policy.ts:174 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/0ed8dbc5e3d86e39.
Report an issue: GitHub.