Cursor Drive

March 5, 2026 · View on GitHub

A voice-first, multi-operator pair-programming layer for Cursor IDE. Steer operators via voice and chat; they share the Agent Screen. No cloud, no accounts.

CI


The idea in one interaction

You (spoken):  "uhh maybe like refactor auth and also tangent — explore that
                new clerk integration in parallel"

Drive hears:   "Refactor auth module"
               + spawns Agent-2 on: "Research Clerk auth integration options"

Status bar:    Drive > Agent  [Agent-1: auth refactor]  [Agent-2: clerk research]

Agent-1 speaks: "Done — extracted AuthService, added tests. Summary in
                 docs/auth-refactor.md, want details?"

Agent-2 speaks: (different voice) "Found three integration paths. Sharing screen."

Operator Flow in Drive Mode

flowchart LR
  User --> WakeWord[Wake word]
  WakeWord --> DriveMode[Drive mode activated]
  DriveMode --> AgentPlans[Cursor agent plans work]
  AgentPlans --> Operators[Creates operators]
  Operators --> ShareScreen[Operator shares screen]
  ShareScreen --> User

Drive mode transforms Cursor into a senior engineer pair-programming partner: concise, proactive, explains when helpful, challenges your choices once before deferring. You and your operators see the same screen in real time.


Installation

Prerequisites: Node 20+, npm, Cursor IDE.

git clone https://github.com/drive-mode/cursor-drive
cd cursor-drive
npm install
npm run compile

Press F5 in Cursor to launch an Extension Development Host.

MCP one-click install: Install Drive MCP — click or paste into the browser. The extension must be running; if port 7891 is in use, the server uses 7892, 7893, etc. — check the Cursor Drive output channel.

MCP Apps (Cursor 2.6+): Enable cursorDrive.mcp.enableApps for inline Agent Screen UI. See demo-mcp-apps.


Quick Start

  1. Clone and install (see above).
  2. Run npm run compile.
  3. Press F5 in Cursor to open the Extension Development Host.
  4. Toggle Drive or use the first-run prompt.

See getting started for the full dev loop.


Architecture

Extension (src/), plugin layer (.cursor/), and MCP server — bridged at :7891.

┌─────────────────────────────────────────────────────────────────┐
│                        Cursor IDE                               │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │  Extension (src/)     MCP :7891     .cursor/ Plugin      │    │
│  │  Pipeline, S-AS, TTS  ←→ Bridge ←→  skills, rules, hooks│    │
│  └─────────────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────────────┘

Extension vs Cursor Plugin: The VS Code extension provides UI (status bar, Drive sidebar, Agent Screen). The Cursor Plugin (.cursor-plugin/) adds AI behavior (skills, rules). MCP Apps (Cursor 2.6+) enable inline UI in chat when cursorDrive.mcp.enableApps is on.

UI surfaces: Status bar (click → mode QuickPick), Drive sidebar (Activity Bar icon), Agent Screen (tab/panel). Ctrl+Shift+D toggles Drive. Composer (chat, send button, mic) is not extensible — extensions run in the extension host. See drive-ui-surfaces-and-devtools.

See docs/architecture/README.md for the component map and ADRs.


Key design decisions

PrincipleWhat it means
No cloudTTS, filler cleaning, MCP run locally. ElevenLabs optional.
Config-firstEvery behavior is a setting. Privacy-strict defaults. See config schema.
Cursor-nativeWraps Agent/Plan/Ask/Debug; beforeSubmitPrompt is primary entry. See ADR-0008.
Concise-firstSummarizes, tells you where things went, waits. Configurable verbosity.

Source modules

ComponentPurpose
extension.tsEntry point, commands, MCP server
driveMode.tsDrive state, active + subMode
statusBar.tsStatus bar, mode QuickPick
router.tsIntent routing: plan/run/direct/collab
modelSelector.ts3-tier cost selection
fillerCleaner.tsClient-side filler removal
operatorRegistry.tsOperator pool: spawn, switch, merge
agentScreen.tsAgent Screen (S-AS) webview
tts.tsOS-native speech via say.js
mcpServer.tsLocal HTTP server on :7891

Full component map in docs/architecture/README.md.


Multi-agent / Tangent flow

Spawn parallel operators, switch focus, merge context.

You:       "/tangent — explore the Clerk integration"
Drive:     spawns operator Beta, background
           Alpha continues (auth refactor)

You:       "/switch clerk"
Drive:     Beta foreground, Alpha background

You:       "/merge Beta into Alpha"
Drive:     Beta context merged into Alpha, Beta retired

See prd-multi-agent for the full spec.


Documentation

TopicWhere
Architecture, ADRsdocs/architecture/
Guides, dev setupdocs/guides/
Config, MCP toolsdocs/reference/
PRDsdocs/prd/
Design rationaledocs/design/
ContributingCONTRIBUTING.md

Status

Core pipeline working: filler cleaner, router, model selector, status bar, TTS (say.js), operator registry, Share-AgentScreen (S-AS) webview, MCP server with tools. Prompt optimizer pending (tracked in .cursor/plans/archive/mvp-gaps.plan.md). Several modules have unit tests.


Support / Contributing


License

Proprietary — All Rights Reserved. See LICENSE.