Repository navigation
FAQ
No. Every count is characters divided by four. They rank sinks against each other; they do not match a bill.
A token that enters the context early is sent again on every later turn, as a cache read. score multiplies each sink by the turns left after it. Cache reads are billed at about a tenth of the input price, so a large carried number is still worth cutting.
It no longer does. In 0.1.0 and 0.2.0 a second whole read of a large file was listed both as whole-read and as repeat read, and both went into the total. 0.2.1 counts it once, as a repeat read. Update the plugin, or read older totals as an upper bound.
No. It reads the JSONL file on disk and prints to the terminal. Nothing is sent anywhere.
With TOKENWRIGHT_HOOKS unset, each hook starts Python and exits at once. Not measured.
The skills are plain folders that Copilot, Codex, Cursor and Gemini CLI can read. tw.py score and repeats read Claude Code transcripts only. Other agents are not tested.
This wiki describes tokenwright 0.2.12 and was last updated on 2026-11-01. tokenwright is MIT licensed. Report problems in the issues.
Using it
The releases
Contributing
Elsewhere