How do I compare usage between Claude Code and Codex (beta) on my team?
Rius compares Claude Code and Codex (beta) usage when both send to one workspace, where each shows as its own agent and each session is one trace. Install the same rius plugin in each agent, sign in to the same workspace, and enable tracing per folder. Tokens and cost compare across the two. Cache-write tokens do not, and Cursor (beta) has no tokens or cost at all.
How it works
Claude Code and Codex (beta) install the same plugin, and each session becomes one trace with its model calls, tool calls and subagents. The plugin is one of the coding agents Rius traces.
- Telling the agents apart. The Agents page lists Claude Code as an agent named
claude-codeand Codex (beta) as an agent namedcodex. Each agent has its own traces, errors and cost for the time window you select. - Telling developers apart. The Users page lists each developer by the email they signed in with, and one developer’s sessions from both agents land in the same row. This needs plugin 0.6.2 or later. Sessions sent with an existing API key land in the anonymous row instead.
- Telling sessions apart. The trace list shows one row per session, and its Sent by column names the owner of the key that sent it. Click it to filter to one developer.
- When figures appear. The trace list shows a session while it runs. The Agents and Users figures count a session only once it has ended, so a crashed or killed session is never counted there.
Set it up
-
Pick one workspace for the team. A workspace admin invites your teammates, and each teammate accepts the invitation first. Everyone then picks that same workspace when they sign in below.
-
Install the plugin for each agent. Run the Claude Code line and the two Codex (beta) lines in a terminal. Codex (beta) needs plugin 0.6.0 or later.
claude plugin marketplace add glassflow/rius-coding-agents && claude plugin install rius@rius-coding-agents codex plugin marketplace add glassflow/rius-coding-agents codex plugin add rius@rius-coding-agents -
Sign in in each agent. Codex (beta) keeps its own sign-in and its own folder rules, so each developer signs in twice, once per agent, and picks the team workspace both times. Each agent has its own command forms:
/rius:login $rius:rius-loginThe first line is for Claude Code and the second is for Codex (beta). In Codex (beta), trust the plugin’s five hooks in
/hooks. Codex (beta) runs on macOS or Linux, and Windows is untested. -
Enable the folders you want to compare. In a repo, run
/rius:enable-herein Claude Code and$rius:rius-enable-herein Codex (beta). Structure only is enough for this comparison, because tokens, cost, timing and tool names are all included. Use/rius:enable-content-hereor$rius:rius-enable-content-hereonly for repos where the team agrees to send prompts and replies. Check the state with/rius:statusor$rius:rius-status. -
Read the figures. Open the Agents page to compare
claude-codewithcodex(beta), then the Users page to compare developers. The Claude Code plugin guide covers sign-in, folder rules and troubleshooting. Track Claude Code usage and cost across a team covers the team rollout.
What you get
These figures compare fairly across Claude Code and Codex (beta), because both report tokens and cost:
- Traces, which are sessions, and failed traces per agent and per developer.
- Input and output tokens, and cost per session.
- Cost per developer, from the Users page.
Read these with care:
- Cost is an estimate. Rius prices tokens at list prices in US dollars from LiteLLM’s public model-price catalog, at API rates. On a subscription plan it measures usage, not what you pay. A model Rius cannot price shows an empty cost, not zero, so an empty cost is a gap and not a free session.
- Cache writes do not compare. OpenAI does not report cache-write tokens, so Codex (beta) sessions carry none. Compare input and output tokens, not cache writes.
- Subagents add tokens. In both agents, a subagent has its own spans with its own tokens. Compare totals per session, and open a trace to see where the tokens went.
When something else fits
- Cursor (beta) uses the same plugin but has no token counts or cost, because Cursor’s hooks do not report usage. You can count its chats, but not compare their cost with the other two.
- OpenHands needs no plugin and sends to the same workspace, but its token data has gaps for some models and for web-app conversations.
- If you need what you pay on a subscription, check your provider’s billing. Rius shows usage at API rates.