Cursor /goal with paid Sume calls: what actually caps spend
Cursor /goal keeps an agent on one objective. The goal text is no budget: bound Sume spend with generation_spend_cap_usd, max_paid_calls and dry_run.

Cursor's /goal keeps an agent working toward a long-lived objective until it is complete, and nothing in the goal text limits what a paid tool call costs. With Sume, the limits are separate settings: generation_spend_cap_usd on an Agent Completion run, max_calls and max_paid_calls on a script_run, an idempotency_key on every paid call, and dry_run=true before the first submit.
/goal described per the Cursor changelog; Sume limits from Agent Completions and MCP tools and gates, read 2026-10-01.
What does /goal do?
The changelog entry (2026-08-19) says to use /goal to give the agent a long-lived objective to work towards until it is fully complete, and suggests pairing it with a custom mode to follow a playbook, or /loop for recurring check-ins. A goal such as "make all the product videos" can therefore trigger many tool calls with no human prompt between them.
Which Sume limits bound a goal loop?
| Limit | Where | What it does |
|---|---|---|
generation_spend_cap_usd | Agent Completions request, required | Ceiling for generation spend on one run |
max_calls, max_paid_calls | script_run | Bounds calls per script run, with timeout_seconds 5 to 55 |
idempotency_key | Write and paid MCP tools | Required on every paid create |
dry_run=true | First call of a paid tool | Returns a preview to review before submitting |
Why is the goal text not a budget?
The Agent Completions docs call the spend cap the substitute for the interactive approval prompt a backend caller does not have, and say to set it to the most you will spend on a single run. A goal loop has no such per-run notion unless you create one: bound each Sume run, not the objective. See agent loop budgets.
What should the goal prompt say?
Tell the agent to call a paid tool with dry_run=true first and to stop when the preview exceeds your number, to reuse one idempotency_key when retrying the same create, and to check jobs_status before submitting again. For a hard ceiling, do not rely on the prompt: put the work behind an Agent Completion with its cap.
Sources
Related posts
More in Developers
- D-ID translation result URL: valid 24 hours, then re-fetch
D-ID's translation result_url is valid for 24 hours, so store the file or re-fetch it. Sume media.sume.com URLs do not expire. What to save and when.
- Deepgram Aura-2 allows 2,000 characters per request; Sume 20,000
Deepgram answers 413 when Aura text passes 2,000 characters. Sume TTS 1.0 accepts 1 to 20,000 characters per request, with a separate 1,200-second audio cap.
- Deepgram Aura-2 languages: seven, and how Sume TTS sets a language
Deepgram lists English, Spanish, German, French, Dutch, Italian and Japanese for Aura. Sume TTS takes a language field per request, matched to the voice.
- Deepgram Flux numerals toggle vs Sume STT digits
Deepgram Flux can switch numerals on mid-stream for PINs and phone numbers. Sume STT is a batch job with fixed provider settings and no numerals flag.
Written by Sume