deepseek-ai/deepseek-harness · error · Error

typert: ${kind} provider "${key}" is already registered

Error message

typert: ${kind} provider "${key}" is already registered

What it means

Error "typert: ${kind} provider "${key}" is already registered" thrown in deepseek-ai/deepseek-harness.

Source

Thrown at packages/typert/registry/src/service.ts:421

    validateSegment('Context key', key)
    validateWireName('Context wire field', provider.wire)
    validateNonempty('Context wire type symbol', provider.wireTypeSymbol)
    return this.registerProvider(ctx, this.hosts, 'host-context', key, provider)
  }

  private registerClient<Wire>(ctx: Context, key: string, binder: TypertClientContextBinder<Wire>): TypertDisposer {
    validateSegment('Context key', key)
    return this.registerProvider(ctx, this.clients, 'client-context', key, binder)
  }

  private registerProvider<Provider>(
    ctx: Context,
    table: Map<string, ProviderEntry<Provider>>,
    kind: 'host-context' | 'client-context',
    key: string,
    provider: Provider,
  ): TypertDisposer {
    if (table.has(key)) throw new Error(`typert: ${kind} provider "${key}" is already registered`)
    const entry: ProviderEntry<Provider> = { provider, owner: {} }
    const { changes } = this
    return ctx.effect(function* () {
      table.set(key, entry)
      changes.emit({ kind, key })
      yield () => {
        /* v8 ignore next -- duplicate registration is rejected, so this effect remains the key's unique owner. */
        if (table.get(key) !== entry) return
        table.delete(key)
        changes.emit({ kind, key })
      }
    }, `typert.contexts.register(${JSON.stringify(key)})`)
  }
}

interface HostContextResolverEntry {
  resolve(id: unknown): Promise<Context | undefined>
}

View on GitHub (pinned to b150a551b8)

Solutions

  1. Register the provider once per key; dispose the existing registration first.

When it happens

Trigger: Thrown at packages/typert/registry/src/service.ts:421 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/2dda7030cc423f60. Report an issue: GitHub.