Trove unifies the OpenTelemetry from every AI coding harness you run and forwards one stream to the observability backend you choose. Never ours.
Free and MIT licensed.
See it in action
Pick a feature to preview it. The carousel advances on its own; hover to pause. Demo clips are on the way.
Trove scans for all 17 supported AI coding tools the moment it starts and surfaces exactly what is on disk. No manual inventory, no config spelunking, just the list of harnesses you actually have.
Why Trove
Because every harness flows through one local collector and one normalized schema, Trove gives teams a single pane of glass, finance a true cost comparison, and security a localhost-only, reversible footprint. All of it open source.
For engineering leads
Half the team is on Claude Code, half on Cursor plus Copilot CLI, and someone trialed Codex last week. Every span, metric, and log Trove forwards carries a harness.id resource attribute, so all of it lands in one backend you can query side by side.
Auto-detected on launch
Every harness on the machine, surfaced
Trove sweeps the standard install paths the moment it starts and lists exactly which of the 17 supported tools are present, so the inventory is never guesswork.
Live data-flow chart
Watch telemetry flow in real time
The Overview tab animates each source through the collector to your backends. Three or fewer tools render as individual nodes; four or more collapse into an animated Orbital Hub cluster with per-source activity halos.
For finance and ops
You pay for Cursor, Copilot, Claude Code, and Codex seats across the org. Trove routes every tool through the same Tier A metric schema, so cost per turn is comparable across vendors and zero-activity seats surface before renewal.
One cost scale, every tool
Tier A makes vendors comparable
Token counts, model-call counts, and turn durations all flow through trove.harness.tokens, events, cost.usd, and turn.duration. Cost per turn for Claude Code lines up directly against Copilot CLI in your own dashboard.
Dead-seat detection
Find paid seats with zero activity
The same harness.id-keyed metric stream surfaces which licenses fire and which are silent, by user and by week, so procurement can reclaim seats with zero turns in the last 30 days.
For security and IT
Trove never phones home. The collector binds to localhost and forwards only to the backend you set, credentials live in the OS keychain, and every config patch is a managed region you can revert byte-for-byte. It is all MIT-licensed and auditable.
Localhost-only
Binds 127.0.0.1, forwards only to you
The bundled OpenTelemetry Collector listens on 127.0.0.1 and exports exclusively to the endpoint you configured. No analytics, no crash reporting, no third-party SDK phoning a vendor.
Credentials in the OS keychain
Keychain, Credential Manager, Secret Service
Backend tokens and ingest secrets live in macOS Keychain, Windows Credential Manager, or Linux Secret Service. Never in plaintext JSON, never in env files, never logged.
Reversible, auditable patches
Every change reverts byte-for-byte
Each Enable wraps the harness config in a sentinel-bracketed managed region you can diff, audit, and revert in one click. What got written is captured in a single versioned state.json.
How coverage works
Some harnesses speak OTLP natively; Trove just flips the right flags. The ones that do not get lightweight watchers and shell-rc wrappers that derive equivalent OTLP records, so the derived signals answer the same queries as their native peers.
Native OTel passthrough
Flip the flag, route the stream
Claude Code, Antigravity CLI, Codex, Qwen, OpenCode, and Cursor IDE emit OTLP natively. Trove sets the right env and config flags and routes their signals straight through the collector.
Best-effort adapters
Watchers derive OTLP from logs
Cline and other harnesses that do not emit OTel natively get Trove’s filesystem watchers and shell-rc wrappers, which derive OTLP records from their on-disk logs into the same Tier A shape.
Everything in one tray
Trove detects your tools, patches them to emit OpenTelemetry, normalizes the signals through a bundled collector, and forwards one unified stream to the backend you choose.
Auto-detects Claude Code, Cursor, Antigravity CLI, Codex, OpenCode, Cline, and more the moment Trove launches.
SigNoz, Grafana Cloud, Honeycomb, Datadog, New Relic, Splunk, Dynatrace, Elastic, Sentry, plus Generic OTLP and a local passthrough.
A normalized cross-harness shape (events, tokens, cost.usd, turn.duration, errors) makes every tool directly comparable.
Map each native signal onto a Tier A metric with a live diff. Synthesis rules for native OTel, hook rules for watcher events.
A green / amber / red / gray pill per platform, driven by the collector scrape metrics, so a dropping exporter shows immediately.
Enable or disable telemetry per tool from the Harnesses tab. Each toggle patches the config and flips the row the instant OTLP flows.
Tag every signal with user.name and user.email resource attributes so usage and cost roll up cleanly by person across the team.
Every config change is a sentinel-bracketed managed region you can diff, audit, and revert byte-for-byte in one click.
Signed releases update themselves from GitHub Releases. State lives in a single versioned state.json so upgrades stay clean.
Private by design
Trove is the plumbing, not the destination. The collector runs locally, credentials stay in the system keychain, and every change it makes to your tools is auditable and reversible.
The bundled OpenTelemetry Collector binds to 127.0.0.1 and forwards exclusively to the endpoint you configure. Nothing is exposed to the network.
Backend tokens live in macOS Keychain, Windows Credential Manager, or Linux Secret Service. Never in plaintext JSON, never in env files, never logged.
Every config patch is wrapped in a sentinel-bracketed managed region you can diff, audit, and revert byte-for-byte in one click. No orphaned env vars.
Trove sends your telemetry only to the backend you choose, never to Trove or Intevity. No analytics, no crash reporting, no third-party SDK calling out.
MIT licensed and fully open source. Read every line of the collector config, the patch logic, and the state model.
Audit the source on GitHubGet Trove
Grab the latest build from the GitHub Releases page. Trove is a cross-platform desktop tray app for macOS, Windows, and Linux, and it updates itself once installed.
Universal (Apple Silicon + Intel)
.dmg
Downloadx64 installer
.msi / -setup.exe
Downloadx64
.AppImage / .deb / .rpm
DownloadFree and MIT licensed. No account, no sign-up, no telemetry back to Trove.
View all releases