Cursor Agents
Arcade.dev tools for operating Cursor Cloud Agents
0.1.0The Cursor Agents toolkit wraps the Cursor Cloud Agents API, enabling programmatic control of AI coding agents that operate on GitHub repositories inside Cursor's cloud environment.
Capabilities
- Agent lifecycle management — launch agents on repos or named environments, archive/unarchive reversibly, or permanently delete them; verify the active account before acting.
- Run control & monitoring — start follow-up runs on existing agents, cancel active runs (with async confirmation via polling), and retrieve full run state including status, result text, branches, and pull-request links once terminal.
- Artifact access — list files an agent explicitly uploaded via Cursor's background composer and obtain time-limited download links for individual artifacts (distinct from code output, which lands on the run's branch/PR).
- Usage & discovery — query per-agent token usage broken down by run, list all reachable GitHub repositories, and enumerate available LLM models (Claude, GPT, Gemini families) accepted by the launch tool.
Secrets
CURSOR_AGENTS_API_KEY — A Cursor API key that authenticates all requests and determines which Cursor account the toolkit acts on. Obtain it from your Cursor account settings under the API keys section. The key must belong to an account with access to Cursor Cloud Agents; standard personal or team accounts with the feature enabled are sufficient. Treat this value as a credential — it authorizes launching agents, cancelling runs, and deleting resources on your behalf.
Store secrets in Arcade using the tool secrets guide or directly at https://api.arcade.dev/dashboard/auth/secrets.
Available tools(16)
| Tool name | Description | Secrets | |
|---|---|---|---|
Archive a cloud agent so it stops accepting new runs (reversible).
The archive is committed once accepted; if the follow-up read of the agent
fails, the result carries only the agent id with an empty status, and a
get_agent call returns the refreshed state. | 1 | ||
Cancel an active run; cancelling an already-terminal run returns an error.
Cancellation is accepted asynchronously: the returned status reflects the run's
state at the moment of the call and may still be non-terminal even though the
cancel was accepted. Poll the run afterward to confirm it settles to CANCELLED;
do not treat a non-terminal status here as a failed cancel. If the post-cancel
read of the run fails, the result carries an empty status instead of an error.
Upstream failures carry a stable bracketed code before the message when Cursor
supplies one (an open set; the most common here is ``[run_not_cancellable]``,
returned when the run is already terminal). | 1 | ||
Permanently delete a cloud agent. This cannot be undone. | 1 | ||
Get a time-limited download link for one uploaded artifact file.
Artifacts are Cursor "background composer" uploads, not an agent's code changes;
for code output read the run's branch and PR instead. | 1 | ||
Get a cloud agent's configuration and latest run pointer. | 1 | ||
Get token usage for an agent, summed and broken down per run. | 1 | ||
Get a run's current status, and its result, branches, and PR once terminal. | 1 | ||
Launch a Cursor cloud agent on a repository or named environment.
This single call starts the agent and its first run; follow it to completion
with the run tools. | 1 | ||
List your cloud agents, newest first. | 1 | ||
List the artifact files a cloud agent explicitly uploaded.
Artifacts are Cursor "background composer" uploads. Code an agent writes to a repo
lands on the run's branch and PR (see the run's ``branches``), not here, so this is
empty for typical fix-a-repo / open-a-PR tasks. | 1 | ||
List the LLM models available to launch a cloud agent with.
Returns the model ids (e.g. Claude, GPT, and Gemini family models) accepted
by the launch tool's model parameter, with display names and aliases. | 1 | ||
List every GitHub repository Cursor can reach, as repository urls.
The upstream returns the full set in one response, so this is always the
complete list and never a partial page. | 1 | ||
List an agent's runs, newest first.
Listing omits each run's final result text; read an individual run to get it. | 1 | ||
Send a follow-up prompt to an existing agent, starting a new run.
An agent runs one turn at a time. Upstream failures carry a stable bracketed
code before the message when Cursor supplies one (an open set; the most
common here is ``[agent_busy]``). If this returns ``[agent_busy]``, the agent
already has an active run: poll get_run until is_terminal, then resend the
follow-up. | 1 | ||
Restore an archived cloud agent to active.
The restore is committed once accepted; if the follow-up read of the agent
fails, the result carries only the agent id with an empty status, and a
get_agent call returns the refreshed state. | 1 | ||
Return the Cursor account the API key authenticates as.
Call this first in a session to confirm which account you are acting on
before launching or managing any cloud agents. | 1 |