The default Playwright/MCP setup tries to download browser binaries and expects Chrome at /opt/google/chrome/chrome. On Guix, downloaded binaries often fail because of FHS/dependency mismatches, and the Google Chrome path is not present.
Use the system Chromium installed via Guix instead:
- Install:
guix install chromium - Typical binary location:
/home/adroit/.guix-profile/bin/chromium - Launch Playwright with
executablePathpointing at that binary:
import { chromium } from 'playwright';
const browser = await chromium.launch({
headless: false, // or true
executablePath: '/home/adroit/.guix-profile/bin/chromium',
});Notes:
- The Playwright MCP plugin (
/playwright) may still look for the default Chrome path; for ad-hoc QA use a standalone Node script withplaywrightdirectly. headless: trueworks with the system Chromium for simple DOM inspection, but some Ionic/custom-element interactions may behave differently than in a headed run. Use headed mode when debugging shadow-DOM or custom-element inputs.- Keep a temporary directory such as
/tmp/playwright-qa/for throwaway scripts and screenshots.
- The browser build of
@peerbit/any-storedefaults toMemoryStoreunlessdirectoryis passed toPeerbit.create. - Pass a directory string (e.g.,
directory: "minder-peerbit") to switch toOPFSStoreand survive page reloads. - When using a directory, copy the OPFS worker asset from
@peerbit/any-store-opfs/dist/assets/opfs/intowww/vite-extra-assets/peerbit/opfs/so Vite serves it at/peerbit/opfs/opfs.worker.min.js.