by vivekchand
See your agent think. Real-time observability for 14 AI agent runtimes - OpenClaw, NVIDIA NemoClaw, Claude Code, Codex & 8 more.
# Add to your Claude Code skills
git clone https://github.com/vivekchand/clawmetryLast scanned: 5/27/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-27T08:05:35.787Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": false
}clawmetry is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by vivekchand. See your agent think. Real-time observability for 14 AI agent runtimes - OpenClaw, NVIDIA NemoClaw, Claude Code, Codex & 8 more. It has 388 GitHub stars.
Yes. clawmetry passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/vivekchand/clawmetry" and add it to your Claude Code skills directory (see the Installation section above).
clawmetry is primarily written in Python. It is open-source under vivekchand on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh clawmetry against similar tools.
No comments yet. Be the first to share your thoughts!
See your agent think. Real-time observability for 14 AI agent runtimes: OpenClaw, NVIDIA NemoClaw, Claude Code, OpenAI Codex & 10 more. One dashboard for your whole agent fleet.
🌐 Read this in: English · 简体中文 · 日本語 · 한국어 · Español · Português (BR) · Français · Deutsch · हिन्दी · العربية · Русский · more →
One command. Zero config. Auto-detects everything.
pip install clawmetry && clawmetry
Opens at http://localhost:8900 and you're done.

ClawMetry started as observability for OpenClaw, and now meters your whole agent fleet in one dashboard, auto-detecting each runtime on your machine:
🦞 OpenClaw · 🟩 NVIDIA NemoClaw · ◆ Claude Code · ⬡ OpenAI Codex · Cursor · 🪿 Goose · ⚡ Hermes · opencode · ◈ Qwen Code · Aider · NanoClaw · PicoClaw · Pi · Deep Agents
OpenClaw and NemoClaw are free in the open-source app; the other runtimes light up with ClawMetry Cloud or a self-hosted Pro license. Switch runtimes from the header and every tab — cost, tokens, tools, traces — re-scopes to that runtime.








One-liner (recommended):
curl -sSL https://raw.githubusercontent.com/vivekchand/clawmetry/main/install.sh | bash
pip:
pip install clawmetry
clawmetry
From source:
git clone https://github.com/vivekchand/clawmetry.git
cd clawmetry && pip install flask && python3 dashboard.py
The v2 React app lives in frontend/ and is served at /v2 when the Flask
server is started with v2 enabled.
Use two terminals while developing:
# Terminal 1: Flask API/server on :8900
CLAWMETRY_V2=1 python3 dashboard.py
# Terminal 2: Vite dev server on :5173
cd frontend
nvm use
npm ci
npm run dev
Open http://localhost:5173/v2/. Vite proxies /api requests to
http://localhost:8900, so the React app can talk to the local Flask server
without extra CORS setup.
To build the bundle that ships with the Python package:
cd frontend
npm run build
The production bundle is written to clawmetry/static/v2/dist/.
ClawMetry observes many AI-agent runtimes, not just OpenClaw. Each non-OpenClaw runtime ships a dedicated reader adapter that translates its native session format into ClawMetry's unified shapes; the daemon ingests them into the same DuckDB store + cloud snapshot, tagged with the runtime, and the Session replay tab shows a runtime switcher when more than one is present. See docs/compatibility.md for the full matrix + a guide to adding runtimes, and docs/RUNTIME_FAMILY.md for the OpenClaw-family primer.
| Runtime / Agent | Status | Notes |
|---|---|---|
| OpenClaw | Native | Reference runtime, auto-detected |
| PicoClaw | Beta adapter | Flat providers.Message JSONL (~/.picoclaw/workspace/sessions). Transcripts, model, tool calls. |
| NanoClaw | Beta adapter | Per-session SQLite (data/v2-sessions). Transcripts + message counts. |
| Hermes | Beta adapter | SQLite ~/.hermes/state.db. Transcripts, model, tokens/cost. |
| Claude Code | Beta adapter | JSONL ~/.claude/projects/.../<id>.jsonl. Transcripts, model, tool calls + thinking, token usage. |
| Codex | Beta adapter | Rollout JSONL ~/.codex/sessions/.... Transcripts, model, tool calls, token usage. |
| Cursor | Beta adapter | SQLite state.vscdb. Chat/composer transcripts, model. |
| Aider | Beta adapter | .aider.chat.history.md per project. Transcripts, model, token counts. |
| Goose | Beta adapter | SQLite ~/.local/share/goose. Transcripts, model, tool calls, token totals. |
| opencode | Beta adapter | SQLite ~/.local/share/opencode. Transcripts, model, tool calls, tokens + cost. |
| Qwen Code | Beta adapter | JSONL ~/.qwen/projects/.../chats. Transcripts, model, tool calls, token usage. |
| Pi | Beta adapter | JSONL ~/.pi/agent/sessions. Transcripts, model, tool calls, tokens + cost. |
| Deep Agents | Beta adapter | SQLite ~/.deepagents/.state/sessions.db. Transcripts, model, tool calls, tokens + cost. |
"Beta adapter" means ClawMetry ships a reader for that runtime's real on-disk format, each built + verified against a real install on a real machine (see tests/fixtures/runtimes/<rt>/). Adapters are read-only; each is honest about what its runtime actually stores (e.g. PicoClaw/NanoClaw/Cursor don't write token cost to disk). When several runtimes run on one node, the runtime switcher scopes the sessions view to one for a clean deep-dive.
The runtimes above all write sessions to disk. Your own production agent — the one you built on the OpenAI Agents SDK, LangChain, the Vercel AI SDK, LlamaIndex, E2B, or a plain httpx loop — doesn't. ClawMetry's zero-config interceptor still captures its LLM calls (cost, tokens, latency, errors) by monkey-patching httpx/requests:
import clawmetry.track # activate the interceptor
clawmetry.track.set_source("support-agent") # name this product
# ...your agent runs as normal; every LLM call is now tracked + attributed.
set_source() (or the CLAWMETRY_SOURCE=support-agent env var) tags each call with a named source, so every product you run shows up as its own first-class, cost-attributable line in the dashboard's 🔌 Out-loop sources card on Overview — calls, providers, latency, error rate per agent. No source set? The calls are still tracked; the card just stays hidden.
CLAWMETRY_SOURCE=billing-agent python my_agent.py
This is the same data layer the runtime adapters feed (DuckDB → cloud snapshot), so out-loop sources sync to the cloud dashboard the same as everything else, E2E-encrypted.
ClawMetry speaks OpenTelemetry in both directions, using the GenAI semantic conventions, so your agent traces are never locked into one tool.
Export every session — LLM calls, tools, sub-agents, tokens, cost — as OTLP/HTTP GenAI spans to any collector (Datadog, Grafana, Honeycomb, or your own OTel Collector):
clawmetry --otel-export http://localhost:4318/v1/traces
# equivalently:
CLAWMETRY_OTEL_EXPORT_ENDPOINT=http://localhost:4318/v1/traces