microsoft/playwright · error · Error

Host system is missing dependencies!\n\n${details.join('\n')

Error message

Host system is missing dependencies!\n\n${details.join('\n')}

What it means

Thrown by validateDependenciesWindows when ldd-style validation against the installed browser binaries finds missing DLLs on a supported Windows version. details lists remediation steps (e.g. installing the Media Feature Pack for N editions) plus the full list of missing libraries, then the aggregated message is thrown.

Source

Thrown at packages/playwright-core/src/server/registry/dependencies.ts:204

        `Some of the Media Foundation files cannot be found on the system. If you are`,
        `on Windows Server try fixing this by running the following command in PowerShell`,
        `as Administrator:`,
        ``,
        `    Install-WindowsFeature Server-Media-Foundation`,
        ``,
        `For Windows N editions visit:`,
        `https://support.microsoft.com/en-us/help/3145500/media-feature-pack-list-for-windows-n-editions`,
        ``);
  }

  details.push(
      `Full list of missing libraries:`,
      `    ${[...missingDeps].join('\n    ')}`,
      ``);

  const message = `Host system is missing dependencies!\n\n${details.join('\n')}`;
  if (isSupportedWindowsVersion()) {
    throw new Error(message);
  } else {
    // eslint-disable-next-line no-console
    console.warn(`WARNING: running on unsupported windows version!`);
    // eslint-disable-next-line no-console
    console.warn(message);
  }
}

export async function validateDependenciesLinux(sdkLanguage: string, linuxLddDirectories: string[], dlOpenLibraries: string[]) {
  const directoryPaths = linuxLddDirectories;
  const lddPaths: string[] = [];
  for (const directoryPath of directoryPaths)
    lddPaths.push(...(await executablesOrSharedLibraries(directoryPath)));
  const missingDepsPerFile = await Promise.all(lddPaths.map(lddPath => missingFileDependencies(lddPath, directoryPaths)));
  const missingDeps: Set<string> = new Set();
  for (const deps of missingDepsPerFile) {
    for (const dep of deps)
      missingDeps.add(dep);

View on GitHub (pinned to c8fc3bf8d3)

Solutions

  1. On Windows N/KN editions, install the Media Feature Pack (link is included in the error details).
  2. Install the latest Visual C++ Redistributable and any other runtime listed in 'Full list of missing libraries'.
  3. Run `npx playwright install-deps` (with elevation) to let Playwright install the Windows dependencies automatically.

Example fix

# elevate, then
npx playwright install-deps
# Windows N: Settings > Apps > Optional features > Add 'Media Feature Pack'
Defensive patterns

Strategy: validation

Validate before calling

// Pre-flight: ensure known runtimes exist before launching
import { existsSync } from 'node:fs';
function windowsDepsLikelyMissing() {
  return process.platform === 'win32' && !existsSync('C:\\Windows\\System32\\mf.dll');
}

Try / catch

try {
  await browser.launch();
} catch (e) {
  if (/Host system is missing dependencies!/.test(e.message)) {
    // install Media Feature Pack / VC redist / run install-deps, then retry
  } else throw e;
}

Prevention

When it happens

Trigger: Launching a browser on Windows whose host is missing required runtime DLLs (media feature pack, VC redistributables, codecs); Windows N edition without the Media Feature Pack; partial install where system libs were removed.

Common situations: Windows N/KN editions; fresh or stripped Windows server images; environments where required media/VC runtimes were intentionally omitted; running on an older Windows build flagged as supported but missing components.

Related errors


AI-assisted analysis of microsoft/playwright@c8fc3bf8d3 (2026-08-12). Data as JSON: /api/errors/231234f46ab30cb8. Report an issue: GitHub.