Cursor agent monitoring: alerts when a Cursor run fails, hangs or waits on you
Cursor's agent reports its runs to LastPing with plain HTTP requests, from a standing instruction in its rules file. LastPing opens an incident when a run fails, overruns or waits on you too long, and alerts you on Slack, Discord, email or your phone.
Your assistant can do this for you
Monitor this agent with LastPing
On this page
How Cursor reports
LastPing has hook installs for Claude Code, Codex and Antigravity CLI, which report on their own. Cursor has none from LastPing, so its agent reports the same events itself, following a block of standing instructions: start, success, fail, blocked, a note for progress and a title once per run. Any Cursor agent that can run a shell command and reach ping.lastping.dev can send them.
Set it up
Connect LastPing to Cursor
Install the LastPing plugin from cursor.directory, or add the server to ~/.cursor/mcp.json and click Authenticate in Cursor's MCP settings. No key goes in the file.
{
"mcpServers": {
"lastping": { "url": "https://mcp.lastping.dev/mcp" }
}
}
Ask the agent to set up its reporting
In Cursor's agent: Monitor this agent with LastPing. It registers the agent, creates a monitor and gets its reporting block from get_ping_instructions, after you agree. The block goes into the file Cursor reads as standing instructions, such as AGENTS.md or your rules file, so the next session still reports.
What the block tells the agent to send
One request at each moment of a run, with a run id it generates:
curl -fsS -m 10 --retry 3 -X POST 'https://ping.lastping.dev/<uuid>/start?rid=8f2c1a9e'
curl -fsS -m 10 --retry 3 -X POST 'https://ping.lastping.dev/<uuid>?rid=8f2c1a9e'
curl -fsS -m 10 --retry 3 -X POST -d 'what went wrong' 'https://ping.lastping.dev/<uuid>/fail?rid=8f2c1a9e'
curl -fsS -m 10 --retry 3 -X POST -d 'waiting for deploy approval' 'https://ping.lastping.dev/<uuid>/blocked?rid=8f2c1a9e'
Optional: traces with token counts
Cursor exports no traces itself, on any plan. LastPing's tracing set-up registers opentelemetry-hooks, a hook runner published independently by o11y-dev, in ~/.cursor/hooks.json, so each agent turn arrives with its token counts and tool sequence. It needs Python 3.12 or later. See trace your agents.
pipx install opentelemetry-hooks==0.14.0
otel-hook setup --agent cursor
What to expect
- Instructions, not hooks: the agent sends each ping because its rules say so. A session that ignores its rules sends nothing, which a monitor with a silence floor will catch.
- Blocked is reported, not detected: the agent sends blocked when it needs you; Cursor's approval prompts are not detected on their own.
- Traces are separate: the hook runner sends traces and token counts; the reporting block decides when a run failed or is waiting.
Questions people ask
-
Can LastPing monitor Cursor's agent?
Yes. Connect the LastPing MCP server in Cursor, ask the agent to monitor itself, and it adds a reporting block to its standing instructions. It then sends a start, a success or a failure, and a blocked signal when it needs you, and LastPing alerts you.
-
Does LastPing have a Cursor hook install like the one for Claude Code?
No. LastPing's hook installs cover Claude Code, Codex and Antigravity CLI. Cursor reports through its standing instructions, and its traces come through the separate opentelemetry-hooks runner.
-
What about Cursor's background agents?
The same reporting works wherever the agent follows the reporting block and can reach ping.lastping.dev. LastPing has no integration specific to Cursor's background agents.
-
Is it free?
Yes. LastPing is free for individuals, with no monitor cap.
Know when the agent stops, not just when it answers.
Connect Cursor once. Free for individuals.