Skip to content
Jents Academy
Track what your team uses 4 min read

Track the AI tools your team uses

Track the AI tools your team uses

A "tool your team uses" is a finished AI product people work with day to day — you didn't build it, you bought it: Claude Code, Claude Cowork, OpenAI Codex, and the ChatGPT Team and Claude seats you pay for. Jents tracks these so you see who's using what and what it really costs. Cursor and GitHub Copilot are not on that list today — see the last section.


Two ways a tool gets tracked

1. Telemetry — per-person usage. If the tool can emit usage telemetry — Claude Code, Claude Cowork, OpenAI Codex — you point that telemetry at Jents and see exactly who used it and how many tokens it burned. This is the richest signal: real usage, attributed to real people and teams.

2. Seats — subscription cost. A flat-fee tool is billed per person, so the money is the seat, not the token. Seats reach Jents two ways: anyone Jents has seen using a telemetry tool, and the vendor's paid roster — one paste of an Admin key on Connections brings that vendor's bill and its roster (ChatGPT Team seats from OpenAI, Claude seats from Anthropic). The gap between the seats you pay for and the people actually using them is wasted spend.

Many tools are both. Claude Code sends telemetry and is a paid seat — Jents shows the usage and folds the seat cost in as the real dollar number.


Set up telemetry capture

Claude Code

  1. In Jents, click Add AI source → "AI your team uses" and Generate an Activation key. Jents shows a ready-to-paste snippet with your key and endpoint baked in.
  2. Open ~/.claude/settings.json and add the block below — it turns on telemetry and the per-skill hook (your real endpoint + key come from step 1):
{
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "CLAUDE_CODE_ENHANCED_TELEMETRY_BETA": "1",
    "OTEL_TRACES_EXPORTER": "otlp",
    "OTEL_METRICS_EXPORTER": "none",
    "OTEL_LOGS_EXPORTER": "none",
    "OTEL_EXPORTER_OTLP_PROTOCOL": "http/protobuf",
    "OTEL_EXPORTER_OTLP_ENDPOINT": "https://app.jents.io/api/capture",
    "OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Bearer <your key>",
    "OTEL_RESOURCE_ATTRIBUTES": "jents.team=<your team>"
  },
  "hooks": {
    "PreToolUse": [
      { "matcher": "Skill", "hooks": [{ "type": "command", "command": "cat | curl -s -m 5 -X POST https://app.jents.io/api/skill-run -H 'Authorization: Bearer <your key>' -H 'Content-Type: application/json' -d @-" }] }
    ]
  }
}
  1. Fully restart Claude Code. Your usage starts arriving in Observability within a minute or two.

Set jents.team to the team using it, so the cost attributes to the right group.

Claude Code is flat-fee, so the tokens it reports are usage (the value you're getting) — the real dollar cost is the seat, tracked under Subscriptions.

Claude Cowork and OpenAI Codex

Same idea, different file. Claude Cowork is one admin setting in Claude Desktop (Admin settings → Cowork) — org-wide, nothing for anyone to paste, and it's the one tool that reports its own exact cost. OpenAI Codex is a block in ~/.codex/config.toml, and it needs the full /v1/metrics endpoint. Both arrive as per-person usage, exactly like Claude Code — step by step in Connect Claude Cowork and Connect OpenAI Codex.

Any other app or OpenTelemetry-capable tool

Install Jents Capture and point it at the same ingest key:

pip install jents
import jents
jents.init(api_key="<your ingest key>", endpoint="https://app.jents.io/api/capture", team="<your team>")   # then use OpenAI/Anthropic as usual — calls are captured automatically

Node — same idea:

npm install @jents/capture
const { init } = require("@jents/capture");
init({ apiKey: "<your ingest key>", endpoint: "https://app.jents.io/api/capture", team: "<your team>" });

Track one specific skill (Claude Code)

Claude Code's telemetry reports tokens and cost, but not which skill ran. So Jents captures that with a tiny hook — already included in the settings above (the hooks block). On every skill run the hook tells Jents which skill ran and in which session, and Jents matches that session's captured tokens to the skill. The result is cost per run for each skill, with no setup beyond the snippet you already pasted.

To track a skill on its own, create a Skill pipe: Add AI source → "AI your team uses" → A skill, then pick the skill (Jents lists the ones the hook has seen) or type its name. Its record shows runs, cost per run, tokens, and who's using it — separate from everyone's overall Claude Code usage. It works best for "kick it off → it runs → it comes back" automation skills, where each run is one clean unit to price.

Tokens: Claude Code re-reads its prompt cache on every call. Jents keeps those cache re-reads out of the headline token count, so the number reflects real work — not hundreds of millions of cache-read tokens.


Track seat cost as a subscription

Flat-fee seats are tracked under Observability → Subscriptions:

  • Auto-detected for anything Jents can already see — anyone it has watched using Claude Code, Claude Cowork or OpenAI Codex becomes a seat holder for that tool, counted once.
  • The paid roster comes from the vendor Admin key you paste on Connections: press Sync OpenAI for ChatGPT Team seats, Sync Anthropic for Claude seats. That's the half that makes an idle seat visible, because a seat nobody opens produces no usage to notice.
  • Paid vs. active seats: enter what you actually pay for, and Jents flags the difference as reclaimable spend.

Cursor and GitHub Copilot show nothing at all

Not a thinner picture — no picture. Neither publishes telemetry, so there is nothing to point at Jents, and their seat imports are switched off, so there is no roster to pull either. Both halves are gone: no card to click on Connections, no record worth creating in the wizard, and nothing that will ever auto-detect. Cursor and Copilot will not appear in Jents however long you wait — count those seats outside Jents for now.


What you'll see

Per-person usage rolls up by team and by person, and any seat cost folds into one all-in number — so "AI your team uses" answers both who's using it and what it actually costs.