diff --git a/packages/playwright-core/src/tools/mcp/config.ts b/packages/playwright-core/src/tools/mcp/config.ts index f1994e4ea0a37..275470f62e49e 100644 --- a/packages/playwright-core/src/tools/mcp/config.ts +++ b/packages/playwright-core/src/tools/mcp/config.ts @@ -127,7 +127,7 @@ export async function resolveCLIConfigForMCP(cliOptions: CLIOptions, env?: NodeJ const browser = await validateBrowserConfig(result.browser); if (browser.launchOptions.headless === undefined) - browser.launchOptions.headless = os.platform() === 'linux' && !process.env.DISPLAY; + browser.launchOptions.headless = os.platform() === 'linux' && !process.env.DISPLAY && !process.env.WAYLAND_DISPLAY; validateOutputDir(result.outputDir); diff --git a/packages/playwright/src/mcp/test/testContext.ts b/packages/playwright/src/mcp/test/testContext.ts index f073bb752e649..d3643bc9e1ff0 100644 --- a/packages/playwright/src/mcp/test/testContext.ts +++ b/packages/playwright/src/mcp/test/testContext.ts @@ -103,7 +103,7 @@ export class TestContext { if (options?.headless !== undefined) this.computedHeaded = !options.headless; else - this.computedHeaded = !process.env.CI && !(os.platform() === 'linux' && !process.env.DISPLAY); + this.computedHeaded = !process.env.CI && !(os.platform() === 'linux' && !process.env.DISPLAY && !process.env.WAYLAND_DISPLAY); } private async _enqueue(fn: () => Promise): Promise {