Verifying captures are working
Open a new PowerShell window so it inherits the HTTPS_PROXY env var
from HKCU\Environment (running shells don’t pick up env changes — the
broadcast only refreshes WinINet for Electron / WinINet apps). Then make
a real LLM call:
halton-meter run claude --print "Reply with exactly: pong" Then:
halton-meter report A row appears for every intercepted LLM request. Columns include: timestamp, project, model, tokens in/out, cost.
If report is empty but halton-meter status shows the daemon and edge
both green, walk this checklist in order:
echo $env:HTTPS_PROXY— should printhttp://127.0.0.1:8081. If empty, your PowerShell instance was started beforeinit. Close it and open a new one.- The app you’re running is using WinHTTP, not WinINet. Windows
Update, some .NET clients, and a handful of PowerShell modules use
WinHTTP, which is separate from the HKCU proxy. Run
netsh winhttp import proxy source=iein an elevated PowerShell to mirror WinINet → WinHTTP. - The IDE was already open when you ran
init. Quit it from the system tray (right-click → Quit, ortaskkill /F /IM cursor.exe) and relaunch. - The provider hostname is off-list. Off-list hostnames pass through without capture (intentional — observation never breaks the workflow). See providers.
- The full failure-mode list with copy-paste fixes is in Troubleshooting.
Daily usage
Once init finishes, every new PowerShell session and every Electron /
WinINet app launched fresh inherits the proxy automatically. No wrapper
command needed.
PS> claude --print "ping" # captured automatically
PS> python my_script.py # captured if it uses requests/httpx/urllib
PS> curl -sS https://api.anthropic.com/v1/models # captured halton-meter run <cmd> is still available and always works regardless
of how <cmd> was launched — it injects every env var directly into the
child process:
halton-meter run claude Checking daemon health
PS> halton-meter status # quick health summary
PS> halton-meter doctor # full diagnostic with copy-paste fixes Starting and stopping
PS> halton-meter start # (re)start the daemon via Task Scheduler
PS> halton-meter stop # stop
PS> halton-meter stop; halton-meter start # restart after config change halton-meter start runs the halton-meter Task Scheduler task; stop
ends the running process. The task itself stays registered across stops
— the ONLOGON trigger re-launches the daemon at the next interactive
logon. Use halton-meter uninstall to remove the Task Scheduler entries
entirely.
Switching modes
Only apps mode is supported on Windows in v0.2.11. --full
(machine-wide proxy via HKLM) is deferred post-v1.0. Re-running init
is idempotent — safe to repeat.
halton-meter init To remove Halton Meter from this machine entirely, restoring the prior registry proxy state from snapshot and removing the user-store cert and Task Scheduler tasks:
halton-meter uninstall Once captures are landing on this machine, the next question is usually running meters on more than one machine — workstations, CI runners, a teammate’s laptop — and rolling them up into one report.