Why Token Horizon exists
Your AI tooling is probably the most expensive thing you install this year, and the least visible. Subscription plans, per-token APIs, prompt-cache discounts, five-hour windows, weekly quotas — each provider reports a different slice, in a different unit, on a different dashboard. Nothing tells you what you actually spent, what you're entitled to, or whether the model you're calling is even priced the way you think it is.
Token Horizon started as a notch widget: tokens, cost, and plan limits, glanceable without breaking flow. It only works because it refuses to guess. Every number comes from a parser of provider-reported data on your machine — session logs, plan APIs, wire traffic. No estimates, no extrapolated "savings", no vibes. That constraint turned out to be the product.
What we believe
Local-first is a feature, not a limitation. The panel reads your AI tools' own files and APIs on your Mac. There is no proxy in the middle of your work and no account required to see your own usage. The leaderboard is opt-in, and what gets published is explicit.
Provider-reported or absent. When a provider doesn't publish a number, we would rather show — than invent one. The same rule applies to token counts, cache rates, tokens-per-second, and pricing. A missing number is information; a fabricated one is a bug that erodes everything else.
One catalog, with evidence. The model list is built from models.dev, OpenRouter, provider APIs, and curated benchmarks, merged into one deduped family per model. We recently added a second dimension: pricing evidence. A model is "free" only when something explicitly says so. "Covered by a plan" is its own state. "Nobody publishes a price" is a third. Conflating them is how a $3/1M model gets listed as free.
Plans are first-class. Most agent work now happens inside flat-rate subscriptions — Copilot, Kimi Code, GLM Coding, MiniMax, OpenCode Zen. Per-token pricing is the wrong lens for those. So plans get their own view: usage tiers, quota windows, included models, and a badge on every model they cover.
Comparison should be fun, not coercive. The leaderboard exists to make progress legible: leagues, streaks, per-model breakdowns, and resettable seasons. It should never make you optimize for the scoreboard instead of the work.
What we're building next
- More plan intelligence. Verified tiers for every coding plan we can source, and a clear signal when a model is only available through one.
- A catalog that ages well. The web list is a static export of the app's own merge pipeline, regenerated on a schedule — so the published catalog and the local one can't drift.
- Better local runtimes. Ollama and MLX telemetry already flow through measured relay paths; next is sharper per-model efficiency views and cost attribution for local hardware.
- MCP everywhere. Agents should be able to ask "what does this model cost, and is it in my plan?" as easily as they ask for a file. That's live now.
The rule we keep relearning
Observability products die by a thousand small lies: a fake zero, a rounded rate, an average that hides the outlier. Token Horizon's job is the opposite — to show the honest shape of your usage, including the places where nobody wants to publish a number. If the dashboard disagrees with your bill, that's our bug. Tell us.
— The Token Horizon team