deepseek-ai/deepseek-harness · error
skills/change listener threw: ${errorMessage(error)}
Error message
skills/change listener threw: ${errorMessage(error)} What it means
Error "skills/change listener threw: ${errorMessage(error)}" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/skill/skill/src/index.ts:657
this.scopeIds.set(key, id)
}
return id
}
private collectCacheKey(cwd: string | undefined, chain: ScopeKey[], revision: number): string {
return JSON.stringify({ cwd, scopes: chain.map(key => this.scopeId(key)), revision })
}
/** Notify catalog observers without making their refresh work load-bearing. */
private notifyChange(): void {
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
}View on GitHub (pinned to b150a551b8)
Solutions
- Fix the exception in the skills/change listener; wrap risky work in try/catch and reload the catalog.
When it happens
Trigger: Thrown at packages/skill/skill/src/index.ts:657 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/b6100a91c6d5afa7.
Report an issue: GitHub.