Set up Playwright
Install and configure Playwright for browser automation.
This guide walks through three setup steps that give CareerOps its browser automation capabilities:
Install the Playwright Node package
Download the Chromium browser Playwright controls
Configure the Playwright MCP so Claude can operate the browser during the apply step
Before you start
Complete the Quick Start guide. Node.js 18 or later must be installed and you must be inside the CareerOps root folder.
Install the Playwright package
Run npm install from the CareerOps root folder:
npm installThis installs Playwright and all other project dependencies declared in package.json. Skip this step if you already ran it during initial setup.
Download Chromium
Playwright needs its own copy of Chromium to automate. Download it by running:
npx playwright install chromiumThis is a one-time step. You do not need to repeat it after npm updates.
Configure the Playwright MCP
The Playwright MCP lets Claude control the browser directly during the /career-ops apply step — navigating to job application forms, reading field labels, and suggesting answers.
Register the MCP server
Run this command from anywhere to register the Playwright MCP with Claude Code:
claude mcp add playwright npx @playwright/mcp@latestThis is the one-step registration method from the Playwright MCP docs. It writes the server entry to your Claude settings automatically.
Manual configuration (alternative)
If you prefer to configure it by hand, add the following entry to .claude/settings.local.json in the CareerOps root, or your global Claude settings:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["y", "@playwright/mcp@latest"]
}
}
}Restart Claude Code after saving the file. CareerOps will then have access to browser_navigate and browser_snapshot during apply sessions.
Verify the setup
Run the doctor script to confirm all three components are in place:
npm run doctorLook for confirmation that Playwright, Chromium, and the MCP server are all ready. If the check passes, setup is complete.
Watch the browser fill out the form
By default, Playwright runs in headless mode — it reads and fills the form in the background without opening a visible window.
To watch the browser open and fill out the form live, add an instruction to the apply command:
/career-ops apply {company_name} open up with playwright the browser and fill out the entire formRun the /career-ops apply command with the {company_name} argument. Then, use the Playwright MCP to open a browser window and fill out the entire form live.Run the /career-ops apply command with the {company_name} argument. Then, use the Playwright MCP to open a browser window and fill out the entire form live.Run the /career-ops apply command with the {company_name} argument. Then, use the Playwright MCP to open a browser window and fill out the entire form live.Without that instruction, CareerOps still uses Playwright and the MCP — it just operates silently in the background.
What each component enables
| Component | Purpose |
|---|---|
| Playwright package | Core library that drives browser automation |
| Chromium | Renders pages, generates print-quality PDFs via /career-ops pdf, and checks whether job postings are still live |
| Playwright MCP | Allows CareerOps to navigate forms and suggest field answers during /career-ops apply |