Install BugMojo in Claude Code
Install the plugin, finish the browser login, and get nine skills, four subagents and three hooks inside your terminal.
Install the plugin
/plugin marketplace add viveksinra/bugmojo
/plugin install bugmojo@bugmojoRun both commands inside Claude Code.
When prompted, accept the BugMojo MCP URL default:
https://www.bugmojo.com/api/mcp?mode=qa.Run
/mcpand complete the BugMojo login in the browser that opens.Run
/bugmojo:setup. It proves the login, picks or creates the project, issues an API key for the machine paths, runsbugmojo initand wires the Playwright reporter — checking each step rather than assuming it worked.
MCP only, without the plugin
claude mcp add --transport http bugmojo https://www.bugmojo.com/api/mcpThat gives Claude the tools without the skills or hooks. Add ?mode=qa for the run-authoring and plan-review tools, ?mode=all for everything, and ?workspace=<slug> to pin one workspace. For the short version of this path see set up MCP in Claude Code.
What the plugin adds
| Skill | What it does |
|---|---|
/bugmojo:setup | Proves the login, picks the project, issues a key, runs bugmojo init, wires the reporter. |
/bugmojo:plan-tests | Interviews you on depth, target counts, routes, environments and who runs the manual cases, maps the codebase, proposes cases and pins them into a draft plan version. |
/bugmojo:generate-tests | Proposes cases for a scope, classifies them, and writes Playwright specs — verifying every selector against the running app first. |
/bugmojo:run | Checks the reporter is wired, runs the specs, confirms the run recorded, and triages each failure. |
/bugmojo:assign | Balances manual cases across the team, creates the run and writes each person's list. |
/bugmojo:report | Builds the client report: scope, what changed, coverage, results by mode, evidence, open bugs, and what was manual and why. |
/bugmojo:fix-bug <KEY> | Pulls the bug with its logs, gets an executable repro, localizes, fixes, opens a PR and links it. |
/bugmojo:triage-bugs | Ranks open bugs in the context of the plan — linked cases, defect density, reopens. |
bugmojo-conventions | Fires automatically when you touch tests/** or e2e/**: how to annotate a spec, and the flakiness rules. |
Four subagents keep the noisy work out of the main conversation: test-planner maps the codebase into proposals, test-generator writes and grounds specs, test-runner runs the suite and confirms it recorded, and evidence-reviewer triages each failure into BUG, FLAKY, ENVIRONMENT or TEST_DEFECT and files the real bugs.
The three hooks
- A session startsLikely cause: SessionStart hook.Prints your open bugs, assignments, recent failures and the agent inbox, so the work is in context before you ask.
- A Playwright run finishesLikely cause: PostToolUse hook.Auto-records the run when the reporter is configured, so you do not have to remember.
- A session tries to end after claiming tests passLikely cause: Stop hook — no run was recorded.The session is blocked with a reason. Record the run, or pass the override flag when you genuinely mean to stop.
Common questions
Do I need an API key?
Not for the plugin itself — the hosted endpoint uses OAuth in the browser. You need a <code>bm_key_</code> key for the machine paths: the Playwright reporter and CI.
What is the difference between this and just adding the MCP server?
The MCP server gives Claude the tools. The plugin adds the skills, the subagents and the hooks — the workflow around those tools.
Why does my session refuse to finish?
The Stop hook blocks a session that ran Playwright or claimed tests pass without recording a run. There is an explicit override flag when you really mean it.
Can I run the plugin from a local checkout?
Yes: <code>claude --plugin-dir ./packages/claude-plugin</code> loads it straight from the monorepo.
Related articles
- Set up the MCP server in Claude CodeConnect Claude Code to BugMojo over MCP so it can read a bug's replay context, logs, and repro steps and start fixing.
- Install BugMojo in CursorOne click from the install deeplink, or a four-line mcp.json — plus a rule that only loads when you are in test code.
- The agent inbox and task leasesA shared, risk-ranked queue any agent can read — and an exclusive lease so two sessions never work the same task.
- Record Playwright runs with the reporterThree lines in playwright.config.ts and two environment variables turn every test run you already do into recorded, provable results.

