Skip to content
Open source. Localhost-only. Your data goes to your backend, never ours.

One pane of glass for every AI tool you run.

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.

A guided tour of the dashboard

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.

One unified telemetry layer, four ways it pays off

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.

One pane of glass for mixed-harness teams

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.

Overview health and data flow
Orbital Hub data-flow chart

Cross-vendor cost normalization and dead-seat detection

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.

Tier A cost normalization
Dead-seat detection

Private by architecture, reversible by design

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.

Localhost-only forwarding
Byte-for-byte revert

Native OpenTelemetry where it exists, best-effort everywhere else

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.

Native OTel passthrough
Best-effort watcher adapter

The whole pipeline, on your machine

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.

17 AI coding harnesses

Auto-detects Claude Code, Cursor, Antigravity CLI, Codex, OpenCode, Cline, and more the moment Trove launches.

15 backend integrations

SigNoz, Grafana Cloud, Honeycomb, Datadog, New Relic, Splunk, Dynatrace, Elastic, Sentry, plus Generic OTLP and a local passthrough.

Tier A metric schema

A normalized cross-harness shape (events, tokens, cost.usd, turn.duration, errors) makes every tool directly comparable.

Visual mappings editor

Map each native signal onto a Tier A metric with a live diff. Synthesis rules for native OTel, hook rules for watcher events.

Backend health pills

A green / amber / red / gray pill per platform, driven by the collector scrape metrics, so a dropping exporter shows immediately.

Per-harness toggles

Enable or disable telemetry per tool from the Harnesses tab. Each toggle patches the config and flips the row the instant OTLP flows.

Identity tagging

Tag every signal with user.name and user.email resource attributes so usage and cost roll up cleanly by person across the team.

Reversible patches

Every config change is a sentinel-bracketed managed region you can diff, audit, and revert byte-for-byte in one click.

Built-in auto-update

Signed releases update themselves from GitHub Releases. State lives in a single versioned state.json so upgrades stay clean.

Your data never leaves your machine

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.

Localhost only

The bundled OpenTelemetry Collector binds to 127.0.0.1 and forwards exclusively to the endpoint you configure. Nothing is exposed to the network.

Credentials in the OS keychain

Backend tokens live in macOS Keychain, Windows Credential Manager, or Linux Secret Service. Never in plaintext JSON, never in env files, never logged.

Reversible managed regions

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.

Never phones home

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 GitHub

Download for your platform

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.

macOS

Universal (Apple Silicon + Intel)

.dmg

Download

Windows

x64 installer

.msi / -setup.exe

Download

Linux

x64

.AppImage / .deb / .rpm

Download

Free and MIT licensed. No account, no sign-up, no telemetry back to Trove.

View all releases