How do I compare usage between Codex and Cursor (both beta) on my team?
Rius compares Codex (beta) and Cursor (beta) in one workspace through the same plugin, but only session, tool and developer figures compare fairly, because Cursor reports no tokens or cost. Each developer signs in to the team workspace once per agent. Sessions then show up per developer and per agent, and tokens and cost are available for Codex only.
How it works
One Rius plugin, named rius, covers Codex (beta) and Cursor (beta). Each agent keeps its own sign-in, key and folder rules, so a developer signs in and enables folders separately for each. If both sign-ins pick the same workspace, both agents’ sessions land together, and you compare them there.
The two agents trace different units and report different data:
- Codex (beta): one trace per session, under an agent named
codex. Each trace has model calls with input, cached, output and reasoning tokens, tool calls, subagents and cost. - Cursor (beta): one trace per agent chat, with tool calls and subagents. Cursor’s hooks do not report usage, so Cursor traces carry no token counts and no cost.
With plugin 0.6.2 or later, every span carries the email the developer signed in with, so each developer appears on the Users page once, with their Codex and Cursor sessions together. The Sent by column in the trace list names the owner of the key that sent each trace. Sessions sent with a key stored by use-key, or by older plugin versions, carry no user and land in the anonymous row.
Set it up
- Pick one workspace for the team. A workspace admin invites teammates, and each teammate accepts before signing in. The steps are the same as in Track Claude Code usage and cost across a team.
- Install the plugin for Codex (beta). Run:
codex plugin marketplace add glassflow/rius-coding-agents
codex plugin add rius@rius-coding-agents- Install it for Cursor (beta). In Cursor’s plugin settings, choose Import from Repo and enter
glassflow/rius-coding-agents. You need plugin 0.6.0 or later for both agents. - Trust the Codex hooks. In Codex, open
/hooksand trust the fiveriushooks. Until you do, nothing is traced. - Sign in from each agent, picking the same workspace. Codex uses
$rius:rius-login, and Cursor uses/rius-login. The sign-ins are separate, so signing out of one does not sign out the other. - Turn tracing on per folder. Run
$rius:rius-enable-herein Codex, or/rius-enable-herein Cursor. Use$rius:rius-enable-content-hereor/rius-enable-content-hereonly for repos where your team agrees to send prompts and replies. Check each agent with$rius:rius-statusor/rius-status.
The Codex guide covers sign-in, trace closing and troubleshooting in full. The Coding agents overview puts all the agents side by side.
What you get
One workspace shows both agents, per developer and per session. Here is what compares fairly and what does not.
Compares fairly across Codex (beta) and Cursor (beta):
- Who uses each agent, from the developer rows on the Users page.
- How many sessions or chats each developer runs. Keep in mind that a Codex trace is a session and a Cursor trace is an agent chat, so treat the counts as activity, not identical units.
- Which tools each agent calls, and how often, since both record tool names and subagents.
Compares only within Codex:
- Tokens, cache reads and reasoning tokens.
- Cost. Rius works it out from token counts at API rates, so it is a list-price estimate in US dollars. On a ChatGPT plan it measures usage, not what you pay.
Read with care:
- Timing. Codex model-call start times are approximate, and Cursor span times are when Cursor reported each step, so compare whole-session length at most, not step timing.
- A failed Codex tool call is marked as an error only when a command exits non-zero or an MCP tool fails. Other failures look like success, so a failure count is not a full picture.
- Codex does not tell plugins when a session ends. A trace closes after the next Codex session starts on the same key, once the old process has exited and been idle for about an hour. The Agents page counts a session once its trace is closed, so recent Codex figures can lag.
- Cursor support is tested mostly against headless
cursor-agent -pruns. Tool calls in an interactivecursor-agentsession, the IDE agent and the plugin import are not tested yet.
In practice, put Cursor’s activity beside Codex’s activity, and keep spend and token analysis to Codex.
When something else fits
- If you need cost or token totals for every agent, Cursor cannot provide them today. Claude Code and Codex (beta) both report tokens and cost, so compare those two on spend.
- If your developers use Windows, note that Codex and Cursor plugin support is untested there. Both are tested on macOS and Linux only.