ruvnet/ruflo · error

${category}: ${identifier} replacing ${existing}'s version w

Error message

${category}: ${identifier} replacing ${existing}'s version with ${pluginName}'s

What it means

Warning from the same conflict-resolution switch in EnhancedPluginRegistry, for the 'last' strategy: the incoming registration silently replaces the identifier previously owned by another plugin. Ownership of the identifier changes; the previous owner may break.

Source

Thrown at v3/@claude-flow/plugins/src/registry/enhanced-plugin-registry.ts:732

    owners: Map<string, string>,
    resolution?: ConflictResolution
  ): T | null {
    const existing = owners.get(identifier);

    if (!existing) {
      owners.set(identifier, pluginName);
      return item;
    }

    const strategy = resolution?.strategy ?? 'error';

    switch (strategy) {
      case 'first':
        this.logger.warn(`${category}: ${identifier} already registered by ${existing}, ignoring from ${pluginName}`);
        return null;

      case 'last':
        this.logger.warn(`${category}: ${identifier} replacing ${existing}'s version with ${pluginName}'s`);
        owners.set(identifier, pluginName);
        // Remove existing from cache
        this.removeFromCache(category, identifier);
        return item;

      case 'namespace': {
        const template = resolution?.namespaceTemplate ?? '{plugin}:{name}';

        // Namespace the existing entry too (on first conflict)
        const existingNs = template
          .replace('{plugin}', existing)
          .replace('{name}', identifier);
        if (!owners.has(existingNs)) {
          this.renameInCache(category, identifier, existingNs);
          owners.delete(identifier);
          owners.set(existingNs, existing);
        }

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Confirm the replacement is intended; if not, remove one of the plugins registering the same identifier.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at v3/@claude-flow/plugins/src/registry/enhanced-plugin-registry.ts:732 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/9cffda5ac7e90620. Report an issue: GitHub.