Spend · Browser sessions
Browser sessions
What your browser AI chats produced, and whether RepoOps can still read them. Per host: sessions, conversations, prompts, active time and an estimated token count. Each host also says whether the adapter reading it still works, because a quiet host and a broken one produce the same zero.
See it in motion
Where to find it
- Localhost:
/browser-sessions.html?repo=<id> - Sidebar: Watch Browser sessions
- Keyboard: ⌘ K then
browser
The problem this page is built around
A host with no sessions might mean nobody used it. It might instead mean the site changed its format and the adapter that reads it stopped matching. Those two produce exactly the same zero and mean opposite things, and the second one is invisible by nature: a parser that stops matching does not raise an error, it quietly records nothing.
So every host carries the extension's own verdict beside its numbers, in one of three states.
Reading this host.The adapter parsed the traffic it matched. The numbers mean what they say.
Not reading this host.The adapter matched requests and could not parse them. The row tells you what it saw and what would fix it, and warns that this host's numbers are a floor rather than a count, because what was not parsed was not recorded.
Not reported.RepoOps has heard nothing about this host. That is the normal state before you install the extension, and it is also what you would see if it stopped running, so it is deliberately not shown as working.
✓
Why the extension reports even when it has nothing to send
An adapter that has gone blind produces no sessions at all. A verdict attached to a session would be a message travelling on the thing that stopped arriving, so the extension reports each host's state on every flush, including the empty ones.The numbers, and what they are not
- Active time is attention, not wall clock. A chat left open in a background tab for six hours is not six hours of work, and only the spans where the tab was actually visible are counted.
- Token counts are estimated, and shown as “about N” rather than to the digit. A browser chat never tells the page its real counts, so these are estimated from the shape of the text, with a measured error band behind that word.
- There is no cost figure at all, not even a zero. A browser chat runs on a subscription, so no per-session price was ever charged, and the word cost is reserved for spend that was actually metered.
- Every host appears even with no sessions. A host missing from the table because it was quiet is a host you cannot ask about.
What the capture tier means here
Each host shows what RepoOps claims it can read, and today that is nothing, for all three. The adapters were written from published formats rather than from observed traffic, and no live capture has been verified against a real account.
⚠
Seeing sessions does not change the tier
Sessions mean the tap worked. The tier is about whether the parser was checked against real traffic. Those are separate facts, and this page keeps them separate rather than letting one imply the other.Honest limits
- It reports what the extension captured. A chat in a browser without the extension, or in a different browser profile, is not here and does not appear as a gap.
- A degraded host's numbers are a floor. What the adapter could not parse was not recorded, so treat those rows as a lower bound rather than a count.
- Gemini is the most fragile of the three. Its web app sends a positional format with no field names, so its adapter refuses to guess when the positions move. Expect it to report not-reading more often than the others.
- The health verdict is as of the last report. An extension that has stopped running entirely leaves its last verdict standing, which is why the report carries the time RepoOps heard it.
Read more
- Subscription seats: what the seats behind these chats are producing.
- Activity ledger: the same question for Claude Code sessions.
Last updated