How-to

Install BugMojo in Claude Code

Install the plugin for nine skills, four subagents and three hooks, or add the hosted MCP server alone with one command. Either way, you sign in once in the browser.

Applies toPlans:FreeProBusinessEnterpriseRoles:OwnerAdminDeveloperQaWhere:MCP

Before you start

  • Claude Code installed and working in your terminal.
  • A BugMojo account you can sign in to in a browser.
  • Access to at least one bug. The connection inherits your role, so Claude sees only the bugs you can already see.

Install the plugin

text
/plugin marketplace add viveksinra/bugmojo-sdk
/plugin install bugmojo@bugmojo
  1. Run both commands inside Claude Code.

  2. When prompted, accept the BugMojo MCP URL default: https://www.bugmojo.com/api/mcp?mode=qa.

  3. Run /mcp and complete the BugMojo login in the browser that opens.

  4. Run /bugmojo:setup. It proves the login, picks or creates the project, issues an API key for the machine paths, runs bugmojo init and wires the Playwright reporter, checking each step rather than assuming it worked.

MCP only, without the plugin

  1. Open a terminal in the project you want Claude Code to work in and run the command below. It registers a server named bugmojo that talks to the hosted endpoint over HTTP.

  2. Start (or restart) Claude Code so it picks up the new server.

  3. Run /mcp and complete the BugMojo login in the browser that opens. On the consent screen, choose the one workspace the agent may use and approve.

  4. Run /mcp again and confirm bugmojo is listed as connected.

Terminal
claude mcp add --transport http bugmojo https://www.bugmojo.com/api/mcp

That gives Claude the tools without the skills or hooks. Add ?mode=qa for the regression, test-run and plan-review tools, ?mode=all for everything, and ?workspace=<slug> to pin one workspace. For first prompts, the full tool list, team setup and an API key for CI, read the guide How to Connect Claude Code to Your Bug Tracker via MCP.

What the plugin adds

SkillWhat it does
/bugmojo:setupProves the login, picks the project, issues a key, runs bugmojo init, wires the reporter.
/bugmojo:plan-testsInterviews 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-testsProposes cases for a scope, classifies them, and writes Playwright specs, verifying every selector against the running app first.
/bugmojo:runChecks the reporter is wired, runs the specs, confirms the run recorded, and triages each failure.
/bugmojo:assignBalances manual cases across the team, creates the run and writes each person's list.
/bugmojo:reportBuilds 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-bugsRanks open bugs in the context of the plan: linked cases, defect density, reopens.
bugmojo-conventionsFires 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 starts
    Likely 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 finishes
    Likely 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 pass
    Likely 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.

Troubleshooting

  • bugmojo does not appear in /mcp
    Likely cause: Claude Code has not reloaded its MCP config, or the entry is wrong.
    Restart Claude Code and run /mcp again. Still missing? Run claude mcp get bugmojo to inspect the entry, re-run the add command and check the transport is http.
  • A tool you expect is missing
    Likely cause: Your role lacks its permission, or the mode switch is not set.
    Call whoami (it shows your role and permissions) or reconnect with ?mode=all. A tool is hidden when your role lacks its permission, which is not the same as the tool being unavailable.
  • The connection is refused
    Likely cause: AI agents and MCP are turned off for the workspace.
    An owner or admin can turn AI agents & MCP back on under Settings, Security. While it is off, every MCP client is refused.

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.

Do I need to install a separate package for MCP only?

No. BugMojo hosts the MCP server at <code>https://www.bugmojo.com/api/mcp</code>, so <code>claude mcp add</code> points Claude Code straight at it and nothing is installed locally.

The server does not show up after I add it. What now?

Restart Claude Code so it reloads its MCP config, then run <code>/mcp</code> again. If <code>bugmojo</code> is still missing, run <code>claude mcp get bugmojo</code> to inspect the entry, re-run the add command and check the transport is <code>http</code>.

Was this helpful?
Updated Oct 26, 2026 · Still stuck? Contact support

Related articles