ruvnet/ruflo · error

[PluginManager] Warning: getPluginManager called with differ

Error message

[PluginManager] Warning: getPluginManager called with different baseDir. Using existing instance. Call resetPluginManager() first to change.

What it means

Log warning in getPluginManager: the singleton PluginManager already exists but was created with a different baseDir; the existing instance is reused (its directory mapping retained) and the caller is told to call resetPluginManager() to switch.

Source

Thrown at v3/@claude-flow/cli/src/plugins/manager.ts:538

  /**
   * Get manifest path
   */
  getManifestPath(): string {
    return this.config.manifestPath;
  }
}

// ============================================================================
// Singleton Instance
// ============================================================================

let defaultManager: PluginManager | null = null;

export function getPluginManager(baseDir?: string): PluginManager {
  if (!defaultManager) {
    defaultManager = new PluginManager(baseDir);
  } else if (baseDir && defaultManager.getPluginsDir() !== path.join(baseDir, '.claude-flow', 'plugins')) {
    console.warn(`[PluginManager] Warning: getPluginManager called with different baseDir. Using existing instance. Call resetPluginManager() first to change.`);
  }
  return defaultManager;
}

export function resetPluginManager(): void {
  defaultManager = null;
}

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Call resetPluginManager() before getPluginManager() with a new baseDir, or reuse the existing instance's baseDir.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at v3/@claude-flow/cli/src/plugins/manager.ts:538 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/668e9c92346cda30. Report an issue: GitHub.