Agents · Cursor CLI
Run Cursor CLI in the background
Use the Cursor agent outside the editor. wisp drives cursor-agent in print mode on its own branch, reads its stream of tool calls, and gives you a report you can ship from, with any model your Cursor plan includes.
Free and open source · uses your own Cursor account · macOS, Linux, Windows (beta) · Node 20+

What wisp adds to Cursor CLI
- A worktree per task. Each task gets its own branch from
origin/main, so several Cursor CLI runs can work on the same repo at once without colliding. - A report instead of a transcript. When the run ends you read a headline, the numbers that changed, the real diff from its own edits, the test run and what to do next.
- Questions mid-run. When it needs a decision, the card moves to Needs you and you get a notification, on your desktop or your phone.
- Ship it. One click commits, pushes and opens the pull request; the card follows CI and review, and Merge syncs your local main.
- Take over any time. Press T and your terminal opens in the worktree with
cursor-agent --resume <id>.
How wisp runs Cursor CLI
wisp doesn’t replace or wrap Cursor CLI’s model access: it starts the cursor-agent CLI you already have installed and signed in, in headless mode, and reads its event stream. Roughly:
cursor-agent -p --output-format stream-json --trust \
[--mode plan | --force] [--model <id>]
Follow-ups resume the same session, so Cursor CLI keeps its context. Override the binary with WISP_CURSOR_BIN.
Permission modes
Pick a mode per launch in the launcher (ShiftTab cycles them) or with --mode on the CLI. Here is what each one passes to cursor-agent:
| wisp mode | Cursor CLI flag |
|---|---|
| Plan (read-only) | --mode plan |
| Edits | (its own permissions) |
| Full auto | --force |
Without --force, calls Cursor’s permissions refuse come back on the card with Allow & retry.
Questions, /btw and take over
- Asking you
- Cursor CLI can’t load extra MCP servers per run, so wisp asks it to end the turn with a question block. The card shows the options; your pick resumes the session.
/btwside questions- Type
/btw did you update the docs too?while it works. The question is answered from wisp’s record of the task (requests, reports, actions and files changed), since Cursor CLI can’t fork a chat; the running task never sees it. - Take over
- Press T on the card, or run
cursor-agent --resume <id>yourself in the task’s worktree. - Models
- The list from
cursor-agent --list-models, so new models show up without a wisp update.
- Prompts go in on stdin, so long tasks and pasted logs aren’t cut by the shell.
- Subagent calls show on the card as Delegating.
Get started
- Install Cursor CLI and sign in. Follow Cursor’s instructions until
cursor-agentruns in your terminal. - Start wisp.
- Pick Cursor CLI in the launcher, describe the task and press Enter. From a shell:
wisp "fix the flaky auth test" --agent cursor.
Run it next to other agents
The same queue takes every harness. Compare one task on two of them side by side, or let Auto pick the harness and model per task from what worked before.
Guides: Run Claude Code and Codex in parallel · Run coding agents on multiple machines · Multi-agent coding across Claude Code, Codex and more.