The short answer: use the agent-native path, not record
AgentSight's normal CLI workflow observes a process family and, on supported Linux binaries, can add TLS plaintext capture. That is the wrong starting point for Cursor. The v1.0.4 implementation documents three independent blockers: most Cursor desktop installs are on macOS or Windows where the eBPF probes do not load; Electron keeps BoringSSL in a large stripped framework/helper rather than the launcher binary; and Cursor's backend traffic uses HTTP/2 Connect with protobuf bodies while AgentSight's LLM extraction expects JSON payloads. Solving only the attach problem would still not produce normal LLM events.
The supported path therefore starts from the durable artifacts Cursor already writes locally. There is no special Cursor launch command and no sudo requirement for this path. Existing sessions can appear in AgentSight's local-session views after Cursor has run normally.
What AgentSight v1.0.4 reads from Cursor
The implementation combines two read-only local sources. The transcript is the primary source for event-level behavior; Cursor's state database is optional enrichment. If the database is unavailable or locked, the transcript-derived session remains usable rather than disappearing.
| Local source | AgentSight uses it for | Important boundary |
|---|---|---|
~/.cursor/projects/<workspace>/agent-transcripts/ | Prompts, assistant output, tool calls, file activity, delegated transcripts, and per-event timestamps. | This is recorded session history, not a packet or TLS transcript of every backend request. |
state.vscdb | Session start/end timing, model, and working-directory enrichment joined by Cursor's composer identifier. | Enrichment is optional; missing or locked database access degrades to parsed transcript data. |
Delegated work is folded back into the parent session
Cursor supports subagents for delegated parts of an agent task. AgentSight's Cursor parser treats the parent transcript as the session candidate and folds delegatedsubagents/*.jsonl work back into that parent. This matters for attribution: a file operation performed by delegated work should remain part of the user-visible session instead of looking like an unrelated second run.
The discovery logic also considers the newest modification time across the parent and its delegated transcripts. A later subagent write therefore invalidates the cached candidate even when the parent transcript itself did not change. This is a concrete compatibility detail from the v1.0.4 implementation, not a generic claim about every IDE agent format.
Use local-session commands instead of an attach command
Start with the views that consume local agent history. top includes Cursor sessions in the ranked session view, report --local summarizes supported native sessions without requiring a recorded AgentSight database, and viscan replay transcript-derived file activity for a repository. These commands read the artifacts already on disk; they do not need to wrap the Cursor application.
$ agentsight top
$ agentsight report --local
$ agentsight visCursor and CLI capture answer different questions
| Question | Cursor agent-native path | Typical Linux CLI record path |
|---|---|---|
| How is data collected? | Parse Cursor's local transcript files and optionally enrich from its local state database. | Observe the selected process family; compatible runtimes can add eBPF/TLS capture. |
| Does it require sudo? | No for the local-session path. | eBPF live capture normally requires elevated tracing privileges. |
| Are raw live API request/response bodies available? | No. Cursor support does not come from TLS payload capture. | Sometimes, when AgentSight supports the exact TLS runtime and plaintext hook point. |
| Where do tool and file events come from? | Cursor's recorded session transcript, including delegated subagent transcripts. | Application/native session data plus observed system activity, depending on the agent and mode. |
Two limitations should change how you interpret the output
First, recent Cursor sessions may show no token totals. The AgentSight v1.0.4 work reports that current Cursor versions stopped recording per-turn usage locally around March 2026; older sessions that still contain usage events can expose totals, while a zero or absent total on a recent session is expected and should not be reported as an AgentSight capture failure.
Second, the two sources have different time semantics. Transcript events carry minute-resolution timestamps, while session-level timing can be enriched fromstate.vscdb. Database-derived per-event times are intentionally not injected, so consumers that cannot read Cursor's database see the same transcript event model. The product change also keeps SQLite enrichment out of the standaloneagent-session parser; agentpprof and agentvis therefore operate on transcript-derived data rather than silently depending on the database.
Local does not mean non-sensitive
Cursor transcripts can contain prompts, assistant output, tool calls, and file paths, and AgentSight's local views are designed to read those records. Treat the source files and any derived report or replay as development data that may contain sensitive context. Keep raw artifacts local unless you have reviewed what will be exported or shared; the same rule applies to AgentSight session databases and reports.
Research scope and primary sources
This integration note was refreshed for AgentSight v1.0.4, released on 10 August 2026 from product commit ac1e6cb7a8398c57c1ad0ba04ff032cd271d99c8. Cursor's own documentation is useful for understanding the Agent tool surface and subagent model; the AgentSight repository remains authoritative for what AgentSight actually parses, enriches, and cannot capture.