htop for your agentic-AI quota plans.
quotabot shows how much included quota remains across AI coding subscriptions and recommends where to send the next request. It also shows supported local models, loaded state, context, and available hardware evidence, so you can use on-device capacity directly or fall back when subscription caps are low.
Current stable: 0.11.6. quotabot remains under active 0.x development. Next: support Claude discovery for macOS Keychain sign-ins and prove account-wide quota refresh on idle machines, then strengthen execution-scope evidence for local-only advice. Native signing proceeds alongside product development and remains a 1.0 release gate. See roadmap Next and the documentation index.
Release notes state each artifact's Windows and macOS signing status. Current artifacts are unsigned; signing readiness proceeds alongside product development.
quotabot is a local advisor, not a proxy. Quota and routing reads make no model calls, spend no usage tokens, and never read prompts or source code. The CLI is the complete workflow; the desktop app is optional.
![]()
Mini view - a quiet status strip alongside your work.
Synthetic demo data, rendered with the real app widgets and terminal renderer. Click any image for the full size. Reproduce the gallery.
Install the latest checksum-verified CLI release.
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/blisspixel/quotabot/main/install.sh | bashWindows PowerShell
irm https://raw.githubusercontent.com/blisspixel/quotabot/main/install.ps1 | iexRestart the terminal, then run:
quotabot doctor
quotabot suggestdoctor explains stale or unavailable evidence and gives a repair command.
suggest ranks usable subscriptions and supplies a local fallback when one is
available. Run quotabot update to keep the CLI current. If an older install
does not support that command or cannot discover the latest release, run the
installer once more. For inspect-before-run installation, login, updates,
rollback, and uninstall, use the setup guide.
| Goal | Command |
|---|---|
| Show the full quota snapshot | quotabot or quotabot --json |
| Check one provider | quotabot check claude |
| Recommend an account with usable quota | quotabot suggest |
| Prefer a local runtime | quotabot suggest --local-first |
| Preserve an included-quota reserve | quotabot suggest --quota-stretch |
| Pick a model for a task | quotabot suggest --task=hard |
| Inspect model availability and budget | quotabot models |
| Watch quota and routing changes | quotabot top or quotabot watch |
| Hide a cancelled subscription | quotabot hide kiro |
| Require selected reads to be live | quotabot verify --require-live |
| Install the latest release for this channel | quotabot update |
| Connect an agent to quota advice | quotabot mcp |
Provider routing is balanced by default. --local-first prefers eligible local
runtime candidates immediately. --quota-stretch keeps fresh measured included
quota above a reserve before preferring local capacity. Model suggestions use
included quota and local runtimes by default; paid or credit-backed catalog
entries require an explicit --budget=any opt-in.
Reported cloud and upstream routes are excluded from local budgets. Positive
execution-scope validation remains planned work: localhost
alone cannot prove that a runtime executes on this machine.
See the usage guide for profiles, accounts, model capability filters, alerts, analytics, drift recovery, routing receipts, and every command.
Supported cloud and application sources include Claude, Codex, Antigravity / Gemini, Grok, Cursor, Windsurf / Devin, Kiro, and optional NVIDIA NIM discovery. Cursor 3.x support passively detects an owner-bound local plan, but Cursor does not persist its current quota pools in the supported local state, so quotabot cannot yet route on Cursor headroom. Local sources are Ollama, LM Studio, and Lemonade. Their summaries lead with what is loaded now, the active context limit, and runtime-reported GPU residency when available; installed count and disk size remain secondary inventory detail. Bounded host evidence can add RAM, VRAM, and supported GPU activity without attributing shared machine load to a model. Manual entries remain explicitly self-reported. Exact endpoints, evidence classes, credential behavior, and limitations are in Data sources; provider-owned cross-checks are in Provider CLIs.
Portable desktop bundles are published for Windows, macOS, and Linux alongside the CLI. The app is optional. Each local runtime's Models control opens its inventory with loaded state, reported capabilities, context, and advisory memory fit. See the local-model view. Windows signing and macOS signing, notarization, and stapling remain pre-1.0 trust gates; each release states its artifacts' signing status. The grouped Settings dialog includes the installed build, Check for updates, and Install latest update. GitHub is contacted only after those actions. Check shows the latest candidate and latest stable separately. Install runs the checksum-verified CLI updater. The open tray window is not replaced by that command. Stable builds recommend stable updates without hiding newer previews; release candidates follow the preview channel. The app never checks automatically or prompts on launch. Verification, launch, update, rollback, and uninstall belong in Desktop release bundles. Source setup and packaging are in Building from source.
Run quotabot mcp with a release CLI from 0.11.0 onward. The MCP server supports
stdio and authenticated loopback HTTP. Its complete
tool and schema contract is in AGENTS.md. See the
LiteLLM integration and
minimal MCP clients for working examples. The
harness setup pack prints versioned advisory
configuration for OpenClaw, Hermes, and OpenCode 1, with CLI recipes for pi and
NemoClaw. It checks configuration and the quotabot entrypoint; installed-harness
loading remains a separate compatibility check. The
September harness review records the
versioned OpenClaw, NemoClaw, pi, Hermes, and OpenCode integration plan and its
current limits. Exposing MCP advice does not automatically switch a harness's
model or grant API access through a coding subscription.
For clients that support Agent Plugins, the portable package supplies the same quota advice and MCP connection. quotabot reports which configured accounts have usable included quota; a harness chooses through its supported access under provider terms. Local-model suggestions are optional, and no integration overrides a provider limit or silently enables paid fallback.
- No quotabot account, hosted service, advertising, or telemetry.
- No model calls or reads of prompts, code, model output, or other user content.
- Local metadata stays local. Live adapters contact only provider quota or model-list metadata endpoints; Antigravity may perform required onboarding.
- CLI and desktop update checks read public GitHub release metadata only after
the user invokes them. They send no quota, account, history, prompt, or code
data.
quotabot updateinstalls one exact tag with its required checksum. - Plain loopback HTTP reads pseudonymize email-shaped account labels unless the caller supplies the server's owner-only bearer token. The bundled LiteLLM router proves the identity of the exact loopback server connection before it sends that token, so exact account routing remains available without trusting whichever process happened to bind the configured port first.
- Routing fails soft, so callers can continue if quotabot is unavailable.
Run quotabot explain to inspect files and network destinations used by each
adapter. The complete promises and verification methods are in
Principles, Security, and
Architecture.
Stable 0.11.6 corrects NVIDIA catalog evidence across collection, setup, and
the read manifest, and expands native legacy MCP launch checks. The September
review updates provider and protocol priorities without claiming modern MCP
support. Version 0.11.5 reads the live Claude weekly pool when the current session row
omits a reset, so a spent weekly cap is no longer hidden behind last-known 5h
leftover. Glance and doctor hide hashed account labels, keep Fable on the
default view, and hide Codex Spark until detail. MCP shutdown stops late
snapshots from recreating a closed HTTP client, and Claude, Codex, Grok, and
Antigravity token POSTs keep ownership through original settlement. The
preceding 0.11.4 rejects a quota reset boundary that advances with the clock
while nothing has been consumed. Fresh quota remains independent of advisory
analytics. The desktop retains inspectable local models and hardware evidence;
agent harnesses and Agent Plugins use the same quota advice through
quotabot mcp.
The preceding 0.11.1
release run
published an immutable 14-asset set, and its unpinned GitHub Latest
install smoke
passed clean install, prior-stable upgrade, source setup, stable-channel
resolution, and desktop-run checks on Windows, macOS, and Ubuntu. A live Windows
installation used quotabot update to move from 0.11.0 to 0.11.1 and installed
the matching desktop, with both payloads verified against fresh downloads.
The release uses GitHub's dedicated Latest endpoint for stable discovery and
keeps preview discovery within smaller bounded pages. Every release
repeats three-platform quality, native build, archive, checksum, provenance,
fresh-download, install, upgrade, source-setup, and desktop-run checks. Current
Windows and macOS artifacts remain unsigned transition artifacts, so the
0.x line must repeat that evidence with platform-signed artifacts
before 1.0. See the release
evidence,
roadmap, documentation index,
contributing guide, and security policy.
quotabot is independent and unofficial. Quota metadata is best-effort; verify billing and compliance against each provider. Provided "AS IS", without warranty, under the Apache License 2.0.