Skip to Content
RiusGuidesCursor (beta)

Cursor (beta)

The Rius plugin for Cursor turns each Cursor agent chat into a trace in Rius: your prompts, the agent’s answers, every tool call, and the subagents it started. It works with the agent in the Cursor editor and with cursor-agent in the terminal. The plugin also brings the Rius MCP server, so you can ask Cursor about those chats.

Beta. Cursor support needs version 0.6.0 or later of the Rius plugin. It is tested against Cursor’s documented hooks, not yet against a live Cursor session, so some details may change. The same plugin traces Claude Code and Codex; each one keeps its own sign-in, key, and folder rules.

No tokens or cost. Cursor doesn’t give plugins token counts, so Cursor traces show no token usage and no cost. You still get the full span tree, timing, models, tools, and errors.

Try it in 5 minutes

  1. Install. In Cursor’s plugin settings, choose Import from Repo and enter glassflow/rius-coding-agents. See Install.
  2. Sign in. In the agent chat, run /rius-login, then pick a workspace in the browser and click Connect. See Sign in.
  3. Turn tracing on. In a repo, run /rius-enable-here, then /rius-status. See Choose which folders are traced.
  4. Work as usual, then find the chat in the trace list at console.rius-glassflow.com.
  5. Ask about it. Click Connect next to rius in Cursor’s MCP settings, then ask “list my recent Cursor chats in Rius”. See Query your chats.

Requirements

  • Cursor with plugin support, or cursor-agent.
  • Python 3.9 or later on your PATH, and bash. The plugin uses only the Python standard library.
  • macOS or Linux. Windows is untested for Cursor.

Install

In Cursor’s plugin settings, choose Import from Repo and enter glassflow/rius-coding-agents. Or clone the repo into ~/.cursor/plugins/local/rius.

Installing sends nothing. Tracing stays off for every folder until you enable one.

If you also have the Rius plugin for Claude Code, keep it. Cursor runs Claude Code plugin hooks too, but the Claude Code side recognizes a Cursor chat and does nothing, so nothing is traced twice.

Older cursor-agent versions

cursor-agent releases before 2026-08-27 ignore hooks that come from a plugin. For those, add the same hooks to your own ~/.cursor/hooks.json. <plugin> is the folder the plugin is installed in:

bash <plugin>/scripts/rius_ctl.sh install-hooks --agent cursor

It leaves your other hooks alone, and running it again changes nothing. Run it again after you update the plugin, so the hooks point at the new version. Add --path <file> to write a project’s .cursor/hooks.json instead. uninstall-hooks --agent cursor takes the Rius hooks back out.

Sign in

In the agent chat:

/rius-login

The commands only run when you type them; the agent never starts one on its own. Each runs a script through the agent’s shell tool, so Cursor may ask you to approve the command. Then, in the browser:

  1. Sign in, or sign up if you don’t have an account yet.
  2. Check that the page shows the same code, and the name of your machine. Only continue if you just started the sign-in yourself.
  3. Choose the workspace this machine sends chats to.
  4. Click Connect.

Signing in stores one key for this machine in ~/.cursor/rius/credentials.json, readable only by you. It is separate from the Claude Code key: signing out of one doesn’t sign out the other. The key is listed under Settings → API keys in the console, where a workspace admin can revoke it.

Choose which folders are traced

Tracing is off everywhere until you turn it on for a folder.

CommandWhat it does
/rius-enable-hereTrace this folder and everything under it, structure only
/rius-enable-content-hereThe same, plus prompts, answers, and tool input and output, with secrets removed
/rius-disable-hereStop tracing this folder. A disabled folder beats any enabled parent.
/rius-on, /rius-offTurn tracing on or off for this chat only
/rius-statusWhether this folder is traced, and why
/rius-logoutRevoke the key and delete it from this machine

If a command can’t find the plugin, start a new chat and try again.

What you see in the console

  • Traces. Each chat is one trace, and its spans arrive while you work: when the chat starts, after each answer, and every 20 tool calls.
  • Agents. Chats show up as an agent named cursor on the Agents page. The plugin sends no heartbeat, so Cursor chats don’t appear under Instances. A chat counts in the agent’s figures once its trace is closed.
  • Users. The plugin doesn’t set an end user, so chats land in the anonymous row of the Users page. The Sent by column in the trace list shows whose key sent each one.

A chat’s trace closes when Cursor ends the session. If Cursor never says so, the trace is closed by your next chat once it has been idle for 12 hours.

What gets captured

AGENT cursor session └─ CHAIN a turn: one prompt and everything it caused └─ LLM the answer, with its model └─ TOOL a tool call. A shell command that exits non-zero is an error. └─ AGENT a subagent, under the Task call that started it
CapturedStructure only (default)With content
Span tree, timing, status✓✓
Model names✓✓
Tool names, error types, subagents✓✓
Tokens and cost✗✗
Your prompts and the agent’s answers✗✓
Tool inputs and outputs✗✓

With content on, the plugin replaces the secrets it recognizes, such as cloud and API keys, tokens, and private keys, with a marker before anything is sent, and caps each value at 32 KB. This is best effort: a secret in a format it doesn’t know is sent.

Each event is first written to a local file under ~/.cursor/rius/spool/, readable only by you. With content off, no content is written there. A chat’s file is deleted once the chat has been idle for 7 days and its trace is closed.

Not traced: Cursor’s cloud and background agents, and Tab completions. Span times are when Cursor reported each step, not when the model call started.

The plugin contacts three hosts and nothing else: ingest.eu.console.rius-glassflow.com for traces, connect.console.rius-glassflow.com for sign-in and sign-out, and mcp.eu.console.rius-glassflow.com when you use the MCP tools.

Query your chats from Cursor

The plugin registers the Rius MCP server as rius. It signs in on its own, through your Rius account: click Connect next to rius in Cursor’s MCP settings, or run cursor-agent mcp login rius. This is a second sign-in, separate from /rius-login. Then ask in plain language:

  • “Show me my last failed Cursor chat and which tool call went wrong.”
  • “Which tools did my Cursor chats call most this week?”

The tools reference lists everything the server can answer.

Use a key you made in the console

To trace with a key you created under Settings → API keys (with Send telemetry), store it from a terminal. The command reads the key from standard input (here, the clipboard on macOS), so it never lands in your shell history:

pbpaste | bash <plugin>/scripts/rius_ctl.sh use-key --agent cursor

Setting RIUS_API_KEY or RIUS_ENDPOINT in the environment does nothing: a repository can set environment variables for the agent, so the plugin only uses a key you stored yourself.

Settings

These are environment variables. They can only turn things off.

VariableWhat it does
RIUS_CAPTURE_CONTENTfalse sends structure only from every folder
RIUS_CURSOR_ENABLEDfalse turns tracing off everywhere
RIUS_CURSOR_MAX_ATTR_BYTESLowers the 32 KB cap on each captured value
RIUS_CURSOR_DEBUGtrue writes verbose logs to ~/.cursor/rius/log/

Sign out and uninstall

Run /rius-logout first. It revokes the key and deletes it from this machine; if you skip it, the key stays valid until it expires. Then remove the plugin in Cursor’s plugin settings, and run uninstall-hooks if you used install-hooks. Delete ~/.cursor/rius/ to remove folder rules, logs, and the local event files:

rm -rf ~/.cursor/rius/

Troubleshooting

Start with /rius-status.

  • The Reason line says no path rule matches. Run /rius-enable-here in this folder.
  • The Reason line says there is no key. Run /rius-login.
  • Nothing arrives from cursor-agent. Older versions ignore plugin hooks. See Older cursor-agent versions.
  • A command says it can’t find the plugin. Start a new chat, or run the same script from a terminal.
  • The MCP tools answer 401. Click Connect next to rius in the MCP settings again.
Last updated on