A Claude Code skill that auto-routes subtasks to the cheapest model that can handle them (Haiku for grunt work, Sonnet for scoped reasoning, Opus only for synthesis), then logs every routed task to a local NDJSON with real token + cost numbers. Includes an A/B test subcommand that runs the same task across multiple tiers and scores quality, so the routing decisions are verified against the user's real workload — not estimated.
Anthropic's own bug tracker (Issue #27665) reports 93.8% of Max-subscriber Claude Code tokens flow to Opus. Existing routers (claude-router, wshobson, VoltAgent) either pin models statically or route by vibes-based heuristics with no measurement. TokenWise fills the measurement gap.
/tokenwise:install — guided installer with diff preview, automatic backups, and --dry-run mode/tokenwise:report — per-session token + cost summary vs all-Opus baseline/tokenwise:summary [--week|--month|--all] — historical aggregate with trend/tokenwise:ab "<task>" — A/B test the same task at multiple tiers, generates a markdown comparison/tokenwise:undo — restore CLAUDE.md / settings.json from backup| Tier | Model | Task class |
|---|---|---|
| Mechanical | Haiku 4.5 | file reads, grep, format, rename, simple edits, doc lookups |
| Scoped reasoning | Sonnet 4.6 | single-file refactor, scoped research, test writing |
| Synthesis | Opus 4.7 | architecture decisions, multi-file refactor, security review |
Safety caps:
Zero telemetry. All logs in .tokenwise/log.ndjson local to the project. Task descriptions truncated to 80 chars and stripped of file contents before logging. No analytics endpoint exists in the source.
In any Claude Code session:
/plugin marketplace add CodeShuX/tokenwise
/plugin install tokenwise@tokenwise
Then run /tokenwise:install and follow the guided prompts.
model: param has known silent-fail bugs on some Claude Code builds — skill probes for this at install and refuses to configure if routing is broken