ruvnet/ruflo · error · ExtractionError

zip extraction failed via both available extractors. Expand-

Error message

zip extraction failed via both available extractors. Expand-Archive: ${primaryMessage} — tar fallback: ${fallbackMessage}

What it means

Error "zip extraction failed via both available extractors. Expand-Archive: ${primaryMessage} — tar fallback: ${fallbackMessage}" thrown in ruvnet/ruflo.

Source

Thrown at v3/@claude-flow/cli/src/proxy/install.ts:99

 */
export async function extractArchive(archivePath: string, extractDir: string, ext: 'zip' | 'tar.gz'): Promise<void> {
  fs.mkdirSync(extractDir, { recursive: true });

  if (ext === 'tar.gz') {
    await extractWithTar(archivePath, extractDir, 'xzf');
    return;
  }

  try {
    await extractWithPowerShell(archivePath, extractDir);
  } catch (primary) {
    const primaryMessage = primary instanceof Error ? primary.message : String(primary);
    try {
      // 'xf', not 'xzf' — a zip is not gzip-compressed; bsdtar sniffs the format.
      await extractWithTar(archivePath, extractDir, 'xf');
    } catch (fallback) {
      const fallbackMessage = fallback instanceof Error ? fallback.message : String(fallback);
      throw new ExtractionError(
        `zip extraction failed via both available extractors. Expand-Archive: ${primaryMessage} — tar fallback: ${fallbackMessage}`,
      );
    }
  }
}

export interface InstallOptions {
  version: string;
  log?: (line: string) => void;
}

export interface InstallResult {
  version: string;
  binaryPath: string;
  sha256: string;
}

/**

View on GitHub (pinned to 6b01dc5a68)

When it happens

Trigger: Thrown at v3/@claude-flow/cli/src/proxy/install.ts:99 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@6b01dc5a68 (2026-08-12). Data as JSON: /api/errors/40b7870f7b89ecbe. Report an issue: GitHub.