Skip to Content
v0.8.0 · shippedNative iOS / Android / Flutter / Capacitor SDKs, A2A discovery, SOC 2 readiness, residency, BYO storage, BYOK. Read the changelog →
Plugin marketplaceCursor Cloud Agent

Cursor Cloud Agent plugin

Automatically dispatches a Cursor Cloud Agent  run when a qualifying Mushi event fires. The agent investigates the issue in your codebase, drafts a fix, and opens a signed PR — posting the link back into the Mushi Fixes view without any human in the loop.

The Cursor Cloud Agent plugin is a first-party Mushi plugin (slug: cursor-cloud-agent). Unlike standard webhook plugins, it calls the Cursor REST API directly — there is no outbound webhook URL to configure.

Prerequisites

  • A Cursor  account with an API key (Settings → API).
  • Your GitHub integration configured in Admin → Integrations — the Cursor agent needs repo access to open PRs.

Setup

  1. Go to Admin → Marketplace.
  2. Find Cursor Cloud Agent → click Install.
  3. Fill in the configuration fields:
FieldRequiredDescription
API KeyYour Cursor API key (cur_…) — stored in the Supabase Vault; never echoed to the UI
Workspace IDYour Cursor workspace ID (ws_…) — find it at cursor.com/settings
Modelcomposer-2.5 (default) or composer-latest
Auto-create PRsWhen enabled, Cursor opens a signed draft PR automatically (default: enabled)
Max iterationsMaximum agent loops per run (default: 1)
  1. Click Install.
  2. Click Test to send a test event and confirm delivery.

Behaviour

EventWhen the agent runsWhat it does
report.classifiedImmediately after classificationInvestigates the report in your codebase; opens a draft PR if autoCreatePR is enabled
fix.requestedWhen a fix is explicitly requested via the Fixes page, MCP, or CLIDispatches the agent for the specific report
qa_story.failedWhen a scheduled QA story fails all assertionsAttempts to heal the failing story by opening a PR
skill_pipeline.step.dispatchedWhen a skill pipeline run in cloud mode advances to a stepRuns the step’s pre-composed context packet as a Cursor Cloud agent prompt, stores the agentId on the step row, and checks the step in via the API

For skill_pipeline.step.dispatched, the agent dispatches even when the marketplace plugin is not installed — credentials are read from Integrations → Cursor Cloud. Set repoUrl in the plugin config so the cloud agent knows which repository to operate on; without it the step is skipped with a warning.

Fixes view integration

Once the agent run terminates, the Fixes page shows:

  • A ◆ Cursor badge with the agent run ID — click to open the run transcript in Cursor’s web interface.
  • An Artifact gallery with any screenshots, logs, or files the agent produced.
  • The PR link if autoCreatePR was enabled and the agent opened a PR.

Common tasks

Limiting dispatch to critical reports only

The Cursor Cloud Agent plugin dispatches on every report.classified event. To restrict to p0/p1 reports, use the severity gating in the plugin install form — select only the severities you want to trigger a dispatch.

Triggering manually

You can also dispatch a Cursor Cloud Agent run outside of the Marketplace plugin:

# CLI mushi fix <reportId> --agent cursor_cloud --wait # MCP tool dispatch_fix reportId=<reportId> agent=cursor_cloud

See mushi fix and @mushi-mushi/mcp for details.

Reviewing what the agent did

Navigate to Admin → Fixes → find the cursor_cloud row → expand the fix detail. The artifact gallery shows any files the agent produced. Click the ◆ badge to open the full run transcript in Cursor.

Troubleshooting

  • Plugin installed but no dispatches — check Marketplace → Cursor Cloud Agent → Deliveries. A 401 means the API key is expired or incorrect. A 403 means your plan doesn’t have the plugins entitlement.
  • Agent runs but no PR — verify Auto-create PRs is enabled in the plugin configuration, and that your GitHub integration is correctly configured with contents:write and pull-requests:write scopes.
  • Run completes with empty prUrl — Cursor returns a prUrl only after the agent has created a branch and opened the PR. If autoCreatePR was disabled or the agent didn’t make any changes, prUrl will be null.
  • fix_dispatch_jobs stuck in running — the Cursor run may have timed out. Check the Cursor web interface for the agent run status. If the Node orchestrator was unreachable during delegation, the job may need manual status correction via Admin → Fixes → kebab menu → Cancel.
  • API key not resolving from Vault — if the Node orchestrator can’t reach the Supabase Vault for vault:// refs, set MUSHI_CURSOR_API_KEY_OVERRIDE as an environment variable in the orchestrator process as a fallback. This is intended for self-hosted deployments only — managed cloud uses the Vault automatically.
Last updated on