Get Claude Cowork into Jents
Cowork reports what it used over OpenTelemetry, the same idea as Claude Code โ except Cowork also reports the real dollar cost of every call, so nothing here is estimated. Setup is one screen in the Claude admin console, done once for the whole organization.
| What you get | |
|---|---|
| Connects by | ๐ฎ Telemetry (events) |
| Cost | Exact โ Cowork reports cost_usd itself |
| Attribution | Per person, automatically (Cowork stamps every event with the user's email) |
| Needs | Claude Team or Enterprise, desktop app 1.1.4173+, and an org admin |
| Changes your call path | No โ calls still go straight to Anthropic |
One admin turns it on for everyone. Unlike Claude Code, there is nothing for each teammate to paste. No data leaves Claude until an admin sets the endpoint below.
1. Get your capture key
Add AI source โ "AI your team uses" โ Generate an Activation key. Copy the key.
Your endpoint is:
https://app.jents.io/api/capture
2. Point Cowork at it
In the Claude admin console: Admin settings โ Cowork, then fill in the OTLP fields:
| Field | Value |
|---|---|
| OTLP endpoint | https://app.jents.io/api/capture |
| OTLP protocol | http/json (http/protobuf also works) |
| OTLP headers | Authorization=Bearer YOUR-ACTIVATION-KEY |
Save. That's the whole setup.
Enter the base URL, not
.../v1/logs. Cowork appends the signal path itself โ the same convention every OpenTelemetry exporter follows.
3. Confirm it's flowing
Use Cowork for a minute, then open Observability โ Subscriptions. A Claude Cowork row appears with the people using it. Per-person detail is on Observability โ group by Person.
Events arrive in batches, so give it a couple of minutes before worrying.
What Jents keeps (and what it doesn't)
Cowork emits six kinds of event. Jents reads the two that describe a call โ api_request and api_error โ and drops the rest on arrival:
| Event | Kept? | Why |
|---|---|---|
api_request | โ | Tokens, cost, model, duration โ this is the usage |
api_error | โ | So your success rate is real, not silently rosy |
user_prompt | โ | Prompt text/length โ not needed to measure cost |
assistant_response | โ | Response text โ and counting it would double-count the turn |
tool_result | โ | Which tool ran, no tokens attached |
tool_decision | โ | Permission decisions |
So no prompt or response content is stored by Jents, even if you have Claude's otlpContentCapture setting switched on for another destination.
Why your Cowork cost may show $0
By design. Cowork isn't sold separately โ it comes with a Claude Team or Enterprise seat. If those seats are already counted somewhere else in Jents, the honest extra cost of Cowork is nothing, so Jents defaults it to "Included with an existing Claude seat" rather than inventing a second bill for a subscription you're already paying.
If your Claude seats exist only for Cowork, set the real plan: Observability โ Subscriptions โ Claude Cowork โ confirm the plan (Claude Team or Claude Enterprise). The seat bill then flows into your budgets, forecast and per-person cost.
Either way the tokens and the per-call cost_usd are captured from day one โ that's the "what is this actually worth" number, and it's on the tool's page as usage value.
Troubleshooting
| What you see | What it means |
|---|---|
| Nothing arrives | Re-check the header format: Authorization=Bearer jingest_โฆ โ it's one string, Authorization is the header name, not part of the value. |
| Nothing arrives, header looks right | Confirm the Claude desktop app is 1.1.4173 or later, and that the admin saved the setting for the right organization. |
| Usage appears under the wrong person | Cowork attributes by the signed-in user's email. Someone signed into Claude with a personal address will show separately โ invite that address on People, or have them sign in with their work account. |
| Your network blocks it | Cowork adds the collector's hostname to the session egress allowlist automatically, so app.jents.io doesn't need to be allowlisted by hand. |
Related
- Track your team's AI usage โ the Claude Code side of the same story
- How Jents supports every tool โ what you get from each connection type