ruvnet/ruflo · error

Plugin '${name}' health check failed

Error message

Plugin '${name}' health check failed

What it means

Log warning in startHealthChecks' interval: an initialized plugin's healthCheck() returned false (or threw); the plugin is flagged unhealthy so the loader/operator can react, while the check loop keeps running for other plugins.

Source

Thrown at v3/@claude-flow/shared/src/plugin-loader.ts:606

      if (info.plugin.dependencies?.includes(pluginName)) {
        dependents.push(name);
      }
    }

    return dependents;
  }

  /**
   * Start periodic health checks
   */
  private startHealthChecks(): void {
    this.healthCheckIntervalId = setInterval(async () => {
      for (const [name, info] of Array.from(this.registry.getAllPlugins().entries())) {
        if (info.state === 'initialized' && info.plugin.healthCheck) {
          try {
            const healthy = await info.plugin.healthCheck();
            if (!healthy) {
              console.warn(`Plugin '${name}' health check failed`);
              this.registry.updatePluginState(name, 'error', new Error('Health check failed'));
            }
          } catch (error) {
            console.error(`Plugin '${name}' health check error:`, error);
            this.registry.updatePluginState(name, 'error', error instanceof Error ? error : new Error(String(error)));
          }
        }
      }
    }, this.config.healthCheckInterval);
  }

  /**
   * Utility: Run promise with timeout
   */
  private async withTimeout<T>(promise: Promise<T>, timeoutMs: number, errorMessage: string): Promise<T> {
    return Promise.race([
      promise,
      new Promise<T>((_, reject) =>

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Inspect the plugin's health check failure detail; fix the plugin's health endpoint or remove the plugin if it is unhealthy.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at v3/@claude-flow/shared/src/plugin-loader.ts:606 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/310d84ee249cb938. Report an issue: GitHub.