Three fixes in one release, all pointing at the same user frustration: upgrading the plugin did not clean up stale dashboard state, and there was no way to confirm which version was actually running.
What changed
- Hook recommendation false-positive gone. Plugin users get the SessionEnd hook via
hooks/hooks.json. The auto-recommendation engine now short-circuits when the plugin is installed, so you no longer see a "Install SessionEnd hook" suggestion next to a working plugin-provided hook. - Stale dashboard auto-regenerates on SessionStart. After
/plugin update, the firstSessionStartdetects that the on-disk HTML is older than the shipped version and rewrites it. You don't need to remember to run/token-dashboardafter every upgrade. - New
measure.py versionCLI. Verify which Token Optimizer you're actually running:
Also acceptspython3 $MEASURE_PY version # -> 5.3.8--versionand-v.
Upgrade path
/plugin update token-optimizer, then close and reopen Claude Code (to fire SessionStart). First reopen auto-refreshes your dashboard HTML. Hard-reload the dashboard tab (Cmd-Shift-R / Ctrl-Shift-R) to bust the browser cache.
If it still looks stale
python3 $MEASURE_PY version
If that prints anything older than 5.3.8, the plugin didn't actually update. Try /plugin uninstall then /plugin install, or wait a session for Claude Code's cache to refresh.