Pull back the curtain on your team's claude code and codex sessions.
Track token cost, time, and skill usage for every single message across your team’s sessions.
Catch every “You’re absolutely right” from Claude and every “I know, you fucking idiot” from a frustrated teammate.
This is the 3rd launch from Opaline. View more

Opaline
Launched this week
Team-wide, message-level analytics for Claude Code and Codex sessions.
Track token cost, time, and skill usage for every single message across your team’s sessions.
Catch every “You’re absolutely right” from Claude and every “I know, you f*cking idiot” from a frustrated teammate.






Free Options
Launch Team


Nice launch. Question from how we run agents on our team: a growing share of our usage isn't interactive, it's headless runs in CI (claude -p, codex exec) kicked off on every PR. Does Opaline ingest those non-interactive sessions too, and how do you attribute them? A CI runner isn't a team member, but that's often where a big chunk of the token spend actually goes.
Opaline
@pratap_kumar5 ci wasn't a focus until now so we'll need to fix this. codex exec works if you configure the hook to it but claude -p does not. thank you for the heads up. issue is opened
@evrendombak Thanks evren - good to know the codex exec hook works, will give that a try in the meantime. Happy to test the claude -p side once your fix lands if that's useful.
Dial
the "catch every frustrated message" framing is the part I'd push back on. once engineers know a dashboard is surfacing their raw messages to a team lead, including the ones where they're venting at the model, people stop venting honestly and start writing for the audience instead - which quietly kills the exact signal you're trying to capture. token cost and skill usage feel like the genuinely useful team-level metrics here, the message-content angle feels like it's optimizing for a screenshot-worthy launch post more than for something a team actually wants turned on
Opaline
@galdayan fair, it’s a tradeoff. some people will write for the audience once they know a lead sees it. but the analysis feature looks for patterns across sessions, like where people get stuck or what the agent handles badly. the swearing highlight is there to surface the frictions engineers hit, beyond just where the agent screwed up and apologized. roll it up weekly and you learn how to use agents cheaper and better.
Dial
@evrendombak that pattern-across-sessions framing is the real product, honestly, the swearing highlight is just the hook that gets someone to open the dashboard. the thing i'd worry about is false positives, a session can look like "the agent handled it badly" when actually the task itself was just genuinely hard. how does the weekly rollup separate those two, or is that still mostly a human judgment call once you're looking at the flagged sessions?
The per message cost thing is actually pretty interesting Seeing the total spend is one thing but knowing which messages are eating it up is way more useful.
Opaline
@thomas_jack4 exactly!
The number I'd want out of this is retry rate, not token cost. A session where the agent was confidently wrong and someone shipped it looks identical to a good one in every dashboard I've used, and that's the expensive session. If you can surface "this message got redone three times in the next hour" you've got something per-message cost can't tell me.
Opaline
@asadmalik901 noted that in our backlog, great idea!
This is kinda the part that stood out to me So much of what happens in these sessions just stays on someone’s machine.
Opaline
@edward_moore5 yup, this is the reason why we built this
Wiggl
Evren — the “PostHog for Claude Code” framing lands. The gap I keep hitting on tools like this is the first shared insight: before npx and upload choices, a new lead needs one teammate session that makes the team dashboard feel inevitable.
Congrats on the launch.