deepseek-ai/deepseek-harness · error
client-modules: duplicate factory registration for "${regist
Error message
client-modules: duplicate factory registration for "${registration.id}" (bundle executed twice without invalidate?) What it means
Error "client-modules: duplicate factory registration for "${registration.id}" (bundle executed twice without invalidate?)" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/client/modules/src/client/system.ts:107
})
const target = options.registrationTarget
if (target.mode !== 'queue') {
throw new Error('client-modules: window.__ModuleLoader__.create called after module-system boot')
}
const pending = target.pendingQueue.splice(0)
// Switch first: a bundle that executes while pending registrations drain
// must register live rather than append behind the drain.
target.mode = 'live'
target.load = (registration) => { this.register(registration) }
for (const registration of pending) target.load(registration)
}
/** Register one bundle factory, rejecting a script that executes twice without invalidation. */
private register(registration: ClientBundleRegistration): void {
const id = stripClientSuffix(registration.id)
if (this.bootstrapIds.has(id) || this.factories.has(id)) {
throw new Error(`client-modules: duplicate factory registration for "${registration.id}" (bundle executed twice without invalidate?)`)
}
this.factories.set(id, registration.factory)
}
/** Load one graph row so its factory is registered (idempotent per in-flight arrival). */
private arrive(row: BootModuleRow): Promise<void> {
const { id, url } = row
const pending = this.pendingArrival.get(id)
if (pending !== undefined) return pending
if (this.loadCache.has(id) || this.factories.has(id)) return Promise.resolve()
const task = this.loadBundle(url).then(() => {
if (!this.factories.has(id)) {
throw new Error(`client-modules: bundle ${url} loaded without registering "${id}" via __ModuleLoader__.load`)
}
}).finally(() => { this.pendingArrival.delete(id) })
this.pendingArrival.set(id, task)
return task
}View on GitHub (pinned to b150a551b8)
Solutions
- Invalidate the module before re-executing its bundle; avoid executing the bundle twice.
When it happens
Trigger: Thrown at packages/client/modules/src/client/system.ts:107 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/069afb1f66dcc12c.
Report an issue: GitHub.