Using Cursor

Pipemason is a dual-provider pipeline. By default it runs your agents on the Claude Agent SDK, but it can run the exact same pipeline on Cursor's cursor-agent CLI instead. The orchestration, phases, gates, and contracts are identical — only the agent backend changes.

Choosing a provider

Select the backend with the --provider flag (default claude). It is accepted by pipemason start, pipemason program start, and pipemason init:

# one-off: run a single story on Cursor
pipemason start "add a /version endpoint" --provider cursor

To make Cursor the default for a repo, set it once in .pipeline/config.yml (or scaffold it with init, below):

# .pipeline/config.yml
provider: cursor

A --provider flag on an individual run overrides the config value; with neither set, pipemason uses claude.

Prerequisites

The Cursor path needs two things on the machine running the pipeline:

export CURSOR_API_KEY=...   # from your Cursor account
pipemason doctor            # verifies cursor-agent is on PATH and the key is set

Note

pipemason doctor reports the cursor-agent and CURSOR_API_KEY checks as required failures when the provider is cursor, and as informational otherwise.

Scaffold with pipemason init

pipemason init --provider cursor writes provider: cursor into .pipeline/config.yml and scaffolds Cursor-native config so the agents run with the right roster and rules:

pipemason init --provider cursor

Models and cost

Pipemason maps its model tiers to a Cursor model id automatically; you do not pick raw model names. Inference and billing happen in your Cursor account, so there is no separate Anthropic bill on this path.

Because the cursor-agent CLI does not report per-spawn cost, spend on the Cursor path is estimated: pipemason counts tokens from the stream and prices them with its own table. The cost ledger and ceilings still work, but every figure is labelled "estimated" rather than billed-exact. See Cost control for how ceilings behave.

Limitations on the Cursor path