Anthropic
- 5-hour
- weekly all-model
- per-model weekly
- monthly
- extra usage
OAuth auto-refresh with rate-limit bypass through token rotation. Reads Claude Code's own statusline when available to avoid the usage API entirely.
Your provider shows one number: what you have used right now. onWatch keeps the history behind it - burn rate, reset cycles, per-session attribution - across 16 providers in a single local dashboard. One Go binary, under 50 MB, nothing leaves your machine.
curl -fsSL https://raw.githubusercontent.com/onllm-dev/onwatch/main/install.sh | bash
Stars and downloads are counted live from GitHub. Country and organization spread come from a periodic snapshot of public profile metadata. None of it comes from onWatch, which collects nothing about you.
Snapshot context unavailable.
onWatch tracks the account behind the tool, not the tool itself. Configure a key or let it auto-detect an existing CLI session, and a tab appears with that provider's real quota buckets - the same windows the provider bills against.
OAuth auto-refresh with rate-limit bypass through token rotation. Reads Claude Code's own statusline when available to avoid the usage API entirely.
Multi-account tracking for several ChatGPT logins, plus an optional auto quota-starter that opens an unstarted 5-hour or weekly window for you.
Source switchable between the desktop IDE probe, the agy CLI
with richer weekly and 5-hour buckets, or both. All variants share one Google-account quota.
GLM Coding Plan, including the Lite tier's 5-hour and weekly credit windows with per-tool usage breakdowns and tokens-per-call efficiency.
The original provider onWatch was built for. Full cycle history, session attribution and rate projections across all three quota types.
Monthly reset tracking so you can see how fast premium interactions are going before the month turns over.
Coding Plan pool shared across M2, M2.1 and M2.5, with multi-account support for tracking several subscriptions from one dashboard.
Individual, Team and Enterprise accounts. Credentials auto-detected from Cursor Desktop's SQLite store or the system keychain, with burn-rate forecasts and on-demand spend.
Moonshot Kimi Code CLI over OAuth, auto-detected from the local credential store, with membership level mapped to a readable plan name.
xAI Build and SuperGrok credit utilization read from the local CLI auth file. No browser cookie import required.
Credit balance and burn rate for the aggregation layer, alongside every direct provider account in the same view.
Subscription quotas from the authenticated OpenCode Go dashboard, with full cycle history and insights.
Included monthly usage in USD from the ollama.com API, with plan-derived caps, per-model request counts and pay-as-you-go spend.
Balance-based tracking for the Moonshot open platform, with drop-rate trends that turn a falling balance into a runway estimate.
Balance-based tracking for the DeepSeek platform API, separating granted credit from money you actually paid.
Kept working for existing setups, but no longer the recommended path - Google's CLI has
been superseded by Antigravity. New installs should use the agy
source on the Antigravity provider instead.
Not a provider - a local JSONL drop-box. Wrap your own API calls, append normalised events, and your bespoke scripts get the same charts as everything else.
Every provider tells you where you are. None of them tell you how fast you got there, whether this cycle is worse than the last one, or which session burned it.
None of this is the providers being unhelpful. A quota endpoint answers "how much is left", and that is all it was ever asked.
A background agent polls, a local database remembers, and a Material Design 3 dashboard renders it. No account, no cloud, no build step.
Per-quota cards with progress, live countdown, status badge and consumption rate. Dark and light themes, auto-detected from your system on first visit.
Every quota as a percentage of its limit across 1h, 6h, 24h, 7d and 30d windows, with gap-aware rendering so downtime does not draw a fake line.
Burn-rate forecasting, billing-period averages, usage variance, trend detection and cross-quota ratio analysis such as "1% weekly is about 24% of a 5-hour sprint".
A correlation table showing where every quota stood at the peak moment of each billing period, so you can see which limits move together.
Each agent run is recorded as a session with its own peak consumption, which turns "that refactor was expensive" into a number you can point at.
SMTP notifications on warning, critical and reset events, with per-quota threshold overrides. Credentials encrypted at rest with AES-GCM.
Browser push over the Web Push protocol with VAPID and no external service. onWatch is an installable PWA, so it can behave like a native app.
A /metrics endpoint with quota utilization,
reset timestamps and scrape health per provider, for Grafana and Alertmanager.
Optional bearer-token protection.
A companion in the macOS menubar and in the Linux and Windows tray - quota meters, sparkline trends, provider ordering you control, and a quick view a click away.
The tightest quota in your status bar, a hover breakdown per provider and the quick view in an onWatch sidebar. On the Marketplace.
A GNOME Shell extension surfaces the same tray panel on Linux, sharing the dashboard's menubar view rather than reimplementing it.
Run behind Authelia, Authentik or any SSO that sets a trusted user header, scoped to CIDR ranges you nominate. Or keep the built-in login.
launchd on macOS, systemd on Linux, Docker and Kubernetes with an Alpine variant. Self-update built in, and it starts at login if you want it to.
Deliberately boring. A poll loop, a file, a server, and whatever you choose to point at it.
A background agent per provider polls on your interval, backing off on rate limits and refreshing OAuth tokens before they expire.
Every reading lands in ~/.onwatch/data/onwatch.db - a single SQLite file,
pure-Go driver, one connection, bounded queries.
Trackers detect resets, close cycles with peak and delta, compute rates, and attribute consumption to the session that caused it.
A local server renders the dashboard and exposes a REST API and Prometheus metrics. Templates and assets are embedded in the binary.
Pick your platform. The installer drops the binary in ~/.onwatch/,
writes a config, and optionally registers a service.
curl -fsSL https://raw.githubusercontent.com/onllm-dev/onwatch/main/install.sh | bash
Sets up a systemd user service on Linux, or offers a launchd agent on macOS. The macOS build includes menubar support.
brew install onllm-dev/tap/onwatch
onwatch setup # interactive wizard for keys and config
Works on both macOS and Linuxbrew.
irm https://raw.githubusercontent.com/onllm-dev/onwatch/main/install.ps1 | iex
Or download install.bat from
Releases
and double-click it.
docker run -d --name onwatch \ -p 9191:9191 \ -v onwatch-data:/data \ --env-file .env \ ghcr.io/onllm-dev/onwatch:latest
An Alpine variant with a shell is available for debugging. Containers run in the foreground and are detected automatically.
nix run github:onllm-dev/onwatch#onwatch
A pure-Go static build. nix develop gives you the dev shell.
# then onwatch setup # add provider keys (most auto-detect existing CLI sessions) onwatch start # background agent + dashboard on :9191
Your tightest quota in the status bar - 82%, with the time to reset once it
turns critical - a hover table with every provider, and the quick view in its own
onWatch sidebar. It is a thin client: the daemon does the polling, the extension finds
it on its own and follows the same provider order, visibility and thresholds you set in
the dashboard. Zero telemetry, same as the rest.
code --install-extension onllm-dev.onwatch
Every release also ships it as
onwatch-vscode-<version>.vsix for editors without Marketplace access.
Screens follow the theme you picked in the header. Click any of them to open it full size.
The things worth asking before you leave a background agent running against your provider accounts.
~/.onwatch/data/onwatch.db, and the source is GPL-3.0, so you can
verify that claim rather than take it. It works air-gapped apart from the provider calls themselves..env./metrics endpoint is in beta and exposes quota utilization,
reset timestamps and scrape health labelled by provider and account, optionally behind a bearer
token set with ONWATCH_METRICS_TOKEN. There is also a REST API, and the SQLite file
can be used directly as a Grafana data source.Install takes about thirty seconds and most providers configure themselves from sessions you already have.
curl -fsSL https://raw.githubusercontent.com/onllm-dev/onwatch/main/install.sh | bash