deepseek-ai/deepseek-harness · error · TypeError
skill provider "${providerName}" list() must return an array
Error message
skill provider "${providerName}" list() must return an array or { candidates, complete } observation What it means
Error "skill provider "${providerName}" list() must return an array or { candidates, complete } observation" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/skill/skill/src/index.ts:668
for (const callback of this.ctx.events.dispatch('emit', ['skills/change'])) {
try {
const returned: unknown = callback()
void Promise.resolve(returned).catch((error: unknown) => {
this.ctx.logger.warn(`skills/change listener rejected: ${errorMessage(error)}`)
})
} catch (error: unknown) {
this.ctx.logger.warn(`skills/change listener threw: ${errorMessage(error)}`)
}
}
}
}
function normalizeProviderObservation(output: unknown, providerName: string): SkillProviderObservation {
if (Array.isArray(output)) {
return { candidates: output as readonly SkillCandidate[], complete: true }
}
if (output === null || typeof output !== 'object') {
throw invalidProviderObservation(providerName)
}
const observation = output as Partial<SkillProviderObservation>
if (!Array.isArray(observation.candidates) || typeof observation.complete !== 'boolean') {
throw invalidProviderObservation(providerName)
}
return observation as SkillProviderObservation
}
function invalidProviderObservation(providerName: string): TypeError {
return new TypeError(`skill provider "${providerName}" list() must return an array or { candidates, complete } observation`)
}
const RUNTIME_SKILL_PROVIDER: SkillProvider = {
name: RUNTIME_PROVIDER,
/* v8 ignore next -- Runtime skills are injected directly by the registry; this provider only owns `get()`. */
list() {
return Promise.resolve([])
},View on GitHub (pinned to b150a551b8)
Solutions
- Fix the provider list() to return an array or a { candidates, complete } observation.
When it happens
Trigger: Thrown at packages/skill/skill/src/index.ts:668 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/b3abf70e401249fe.
Report an issue: GitHub.