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.
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.
The Cursor path needs two things on the machine running the pipeline:
cursor-agent binary must be on your PATH.CURSOR_API_KEY. Unlike the Claude path (which uses your Anthropic key), all inference and billing on the Cursor path run through your Cursor account.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.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:
.cursor/agents/*.md — the pipemason subagent roster.cursor/rules/*.mdc — pipemason's working rules.cursor/mcp.json — MCP server configurationpipemason init --provider cursor
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.
maxTurns, maxBudgetUsd, and maxThinkingTokens have no Cursor equivalent. Pipemason's own ceilings still apply (against estimated spend).