Where does the bug appear (feature/product)?
- Cursor CLI(specifically Cursor CLI’s ACP server:
cursor-agent acp/agent acp)
Describe the Bug
-
When using Cursor CLI’s ACP server for persistent ACP sessions,
session/loadfails withInvalid params→Session "<id>" not found, even though the session was just created (viaacpx ... sessions new/ensure). -
This breaks orchestrators like acpx/OpenClaw ACP runtime, causing stalls and eventually
acpx exited with code 1/ACP_TURN_FAILED. -
One-shot mode (
acpx cursor exec ...) works.
Steps to Reproduce
- Start / ensure Cursor ACP server is available (Cursor CLI installed & logged in):
-
cursor-agent login(if needed) -
ACP server is launched implicitly by acpx/OpenClaw; or run
cursor-agent acpto verify it starts.
- Create a persistent session with acpx:
acpx cursor sessions new --name test-session
- Prompt the session (or run via stdin):
echo 'Reply with exactly CURSOR_PROMPT_OK' | acpx --format json --json-strict --cwd <any> cursor prompt --session test-session --file -
- Observe failure: acpx sends
session/loadwith the returned sessionId, but Cursor ACP respondsSession "<id>" not found. acpx exits non-zero.
Expected Behavior
- After creating/ensuring a session,
session/loadshould successfully load that session and allow subsequentpromptcalls to continue the conversation (multi-turn persistence), without errors or stalling.
Screenshots / Screen Recordings
-
Not required; attaching logs is more useful.
-
Attach: acpx NDJSON stream showing the JSON-RPC exchange and the
session/loadfailure (I have a zip bundle with*.stream.ndjson, plus OpenClaw error snippet).
cursor-acp-sessionload-fail-20260322.zip (5.9 KB)
Operating System
- Linux
Version Information
CLI:
-
Cursor CLI / cursor-agent version: 2026.03.20-44cb435 (
cursor-agent --version) -
(Optional context) OpenClaw: 2026.3.13
-
acpx: 0.1.16
For AI issues: which model did you use?
- N/A (protocol/session management issue, not model-specific)
Additional Information
-
acpx cursor exec "..."(one-shot) works reliably because it usessession/newand does not depend onsession/load. -
The failing path is persistent session management requiring
session/load. -
Attached logs show
initializesucceeds and advertisesloadSession: true, butsession/loadfails for the returned sessionId.
Does this stop you from using Cursor?
- Sometimes — Cursor CLI works for one-shot, but ACP persistent sessions (and tools relying on them, e.g. OpenClaw
/acp spawn cursor) are not usable.
Questions
- Is Cursor’s ACP implementation expected to support
session/loadfor sessions created via ACP? - If so, what is the correct session id to use (agent session id vs acpx record id)? Right now the id returned by
acpx cursor sessions newcannot be loaded. - Any known minimum Cursor version that fixes this?