Skip
Toda la escritura

2026-08-11 · 13 min de lectura · tikr

tikr: me mentía a mí mismo sobre cuántos tokens quemo

Tracking local, cifrado, append-only para Claude Code, Codex y Copilot CLI — y el bug del doble conteo 2.2x.

Corro Claude Code mucho. En algún punto “no tengo idea de cuánto me cuesta en dólares API equivalentes” dejó de ser gracioso.

Los dashboards en la nube van lentos, incompletos o no son para las herramientas que uso. Así que construí tikr: un ledger local de uso de tokens. Nada se envía a ningún lado. MIT. Solo.

El problema que la mayoría de trackers se equivoca

Claude Code borra transcripts viejos (cleanupPeriodDays, default 30). Cualquier herramienta que responde “¿cuánto usé?” leyendo lo que hay en disco ahora reporta un número que baja con el tiempo.

Los tokens no se des-sucedieron. Se podó la evidencia.

tikr es un ledger append-only propio. Lee cada transcript una vez desde un offset de bytes. Un transcript borrado nunca resta.

El bug del 2.2x (tátuatelo)

Un mensaje de API se vuelve varias entradas JSONL (una por content block). Cada una lleva una copia completa de message.usage.

Suma ingenua → tokens de salida inflados ~2.2x.

Fix: dedupe por message.id. Dentro de un mensaje, max por campo (streaming partial → final), nunca sumar.

Open source

github.com/mubashirjamali101/tikr

curl -fsSL https://raw.githubusercontent.com/mubashirjamali101/tikr/main/install.sh | bash
tikr start
tikr stats

Lo construí porque mi intuición era un contable malo. Claude Code ayudó a enviar la tubería rápido. Las reglas de conteo vinieron de sentarme con JSONL real como un adulto.