Windows dashboard daemon
setup-daemon now works on Windows. Every user — macOS or Windows — can bookmark http://localhost:24842/token-optimizer and get an auto-updating dashboard URL that survives reboot.
Install
python -m measure setup-daemon
Registers a per-user Scheduled Task. No UAC / admin rights needed. Starts at logon, also after Fast Startup wake, and the URL is reachable from the moment the task completes its first run.
Remove
python -m measure setup-daemon --uninstall
Cleans the scheduled task + launcher script + log files + any historical XML artifacts.
Under the hood
.cmdlauncher between Task Scheduler and Python resolvespy→pythonw→pythonat runtime so upgrading Python never breaks the task. Captures daemon stdout/stderr to logs so failures leave a diagnostic trail.- Domain-aware LogonTrigger uses
DOMAIN\useron corporate machines so the trigger actually fires on logon (not just the manual first run). - BootTrigger alongside LogonTrigger so Windows Fast Startup (hibernate-kernel wake) still starts the daemon.
- Pre-install port conflict probe. If something else is already on 24842, install aborts with the owning PID, not a silent fail.
- Microsoft Store Python refusal. MS Store Python's App Execution Alias cannot be launched from Task Scheduler's service context. The installer detects this and points you at
winget install Python.Python.3.12or python.org — zero ambiguous "it's installed but the daemon never runs" failures.
macOS
Unchanged. If you ran setup-daemon on a prior version, your existing daemon and bookmark keep working. No action required.
Linux
setup-daemon on Linux still prints a "ships in an upcoming release" message. Systemd --user installer lands in a future release.
Windows smoke-test protocol
This installer was fixture-tested on macOS; no real Windows CI yet. If the install fails on your machine, please open an issue at https://github.com/alexgreensh/token-optimizer/issues with:
python -m measure health-selfcheckoutputschtasks /Query /TN TokenOptimizerDashboard /V /FO LIST- Contents of
~/.claude/_backups/token-optimizer/logs/stderr.logif present