Skip to content

Choosing the surface: editor, CLI, multi-agent, Cloud Agent

Cursor is unusual among the tools in this course because it’s genuinely both a GUI and a CLI, plus two flavours of parallel agent. The reflex is matching the shape of the task to the shape of the surface, and you’ve now used all four:

  • The editor (Agent sidebar) - for interactive work where you want to watch the diff form and stay in the loop. This is the default and where most of budgetcli got built. Reach for it when you’ll be reviewing closely and iterating.
  • The CLI (agent or cursor-agent) - for batch and scripted work. Cursor uses both names across CLI generations, so use the executable installed by your current version. When the job is “run this prompt over a list” or “wire a check into the pipeline,” it belongs here, not in a chat window you have to babysit.
  • Multi-agent worktrees - for parallel, competing attempts. From the Composer chapter: fan one prompt across several agents, each in an isolated git worktree, then merge the winner. Reach for it when an approach is genuinely uncertain and you’d rather see three real attempts than argue one in your head.
  • Cloud Agent - for async, meeting-time work. A full agent in an isolated cloud VM that clones the repo to a separate branch, runs, and pushes results as a PR, reachable from Cursor Desktop, Cursor Web, Slack, or a GitHub PR/issue comment - mention syntax is @cursor uniformly across every host - and that surface list keeps growing (Linear and an API are in there too). Reach for it when the task is well-specified, you don’t need to watch, and you’d rather come back to a branch than sit through the run.

Install the CLI with curl https://cursor.com/install -fsS | bash. Multi-agent worktrees and Cloud Agents have changed rapidly across Cursor releases; verify the current Agents Window, worktree, and Cloud Agent controls before treating the historical 2.0 sidebar workflow as current.

The pattern underneath: interactive → editor, batch → CLI, parallel/uncertain → multi-agent, async/unwatched → Cloud Agent. Once that mapping is reflex, you stop defaulting everything into the sidebar and start putting work where it runs best.

Posture, engine, and surface are decisions you make fresh on every task. Some of what you’d otherwise re-decide can be parked in the repo instead, where the agent picks it up without being asked. Next: what you write down once.