diff --git a/browse/src/browser-manager.ts b/browse/src/browser-manager.ts index f5a3121db9..7791ef7f2b 100644 --- a/browse/src/browser-manager.ts +++ b/browse/src/browser-manager.ts @@ -182,10 +182,11 @@ export class BrowserManager { const launchArgs: string[] = []; let useHeadless = true; - // Docker/CI: Chromium sandbox requires unprivileged user namespaces which - // are typically disabled in containers. Detect container environment and - // add --no-sandbox automatically. - if (process.env.CI || process.env.CONTAINER) { + // Docker/CI/root: Chromium sandbox requires unprivileged user namespaces which + // are typically disabled in containers and are never available for the root + // user on Linux. Detect all three cases and add --no-sandbox automatically. + const isRoot = typeof process.getuid === 'function' && process.getuid() === 0; + if (process.env.CI || process.env.CONTAINER || isRoot) { launchArgs.push('--no-sandbox'); }