v5.4.7 — Dashboard daemon fix for existing users
If you're on v5.4.5 or v5.4.6 and your dashboard stopped loading at http://localhost:24842/token-optimizer, this release fixes it. Open a new Claude Code session and it will self-heal.
What broke
v5.4.6's version-bound staleness marker correctly regenerated the daemon script on plugin update — but wrote it to the current SNAPSHOT_DIR, which resolves to different locations depending on whether CLAUDE_PLUGIN_DATA is set:
- Plugin hook context (SessionStart): writes to
~/.claude/plugins/data/.../data/ - Standalone CLI (original
setup-daemon): writes to~/.claude/_backups/token-optimizer/
If you ran setup-daemon from a terminal before the plugin-data migration, your launchd plist (or systemd unit / scheduled task) points at the legacy _backups path. v5.4.6's auto-regen wrote to the plugin-data path only, leaving the legacy path empty. Your service manager kept trying the old path every ~10s and failing with errno 2.
Fix
v5.4.7 writes the regenerated daemon script to both paths:
- Current
SNAPSHOT_DIR(whichever it resolves to) - Legacy
~/.claude/_backups/token-optimizer/
Whichever one your service manager was originally configured for, it now gets a fresh script on every version bump. Both stay in sync going forward.
Upgrade
Claude Code auto-updates the plugin. Next SessionStart will:
- Detect the v5.4.7 version marker mismatch
- Write the new daemon script to both paths
- Restart the service via
launchctl/systemctl/schtasks
Dashboard should load within a couple of seconds.