Hermes Quota

See provider quotas, reset times and account balances in Hermes Desktop and the CLI—without adding network calls to every UI render.
3.0 adds Agent Monitor: an opt-in view of live Hermes sessions, context usage,
model health, usage estimates and quota history inside Desktop. No separate
monitoring server. Existing quota views remain available without enrollment.
New in 3.0
- Quota history and burn-rate forecasts, when enough readings are available.
- Live session states and attention indicators for the selected profile.
- Model health, fallback-chain visibility and recorded usage estimates.
- Status-bar agent chips, context guard and configurable notifications.
- Localized monitor UI: English, Turkish, German, Spanish, French, Russian,
Japanese, Simplified Chinese, Traditional Chinese and Arabic (RTL).
Agent Monitor ships off by default. Enable collection only for the profile
that you want to monitor:
hermes config set plugins.entries.quota.settings.monitorEnabled true
For a named profile, use hermes -p <profile> config set with the same setting.
Disable it by setting the value to false. Disabling stops collection; it does
not erase previously collected history.
This first release deliberately keeps the hardened read-only scope from the
trial: no sibling-profile collection, external CLI transcripts, shared Kanban
boards, new credential-store reads, account/budget mutations or monitor agent
tools. Tabs for unavailable capabilities do not enable them. Usage costs are
estimated API-price equivalents, not invoices; month-end spending projection
is not provided. Monitor behavior, privacy and limitations →
Thank you, @Asimatasert
A huge thank-you to @Asimatasert for proposing
and implementing the Agent Monitor integration, bringing the work from
agent-monitor into Hermes Quota,
and contributing the backend, Desktop views, localization and tests. This is
the contribution behind the 3.0 milestone. The integration retains the existing
quota architecture and adds maintainer-side safety boundaries and fixes.
Original proposal #83.
What you get
- A docked pane and status-bar indicator with per-provider usage.
- Model-specific quota windows and reset times when the vendor supplies them.
- Separate, configurable Claude account cards; no summed or invented allowances.
- Honest unavailable states and opt-in access to sensitive credential sources.
- Optional Ink TUI quota chip with an interactive account picker and theme colors.
- Codex special-reset announcements, separate from account renewals, with data from Codex Resets.
- A bundled
quota-checkskill (quota:quota-check) teaching agents to check
quota before long work and to ask before splitting tasks or switching models.
Install
git clone https://github.com/rarf/hermes-quota-plugin.git
cd hermes-quota-plugin
./install.sh
The source installer enables quota for all existing profiles. Review that scope before running it. For remote Desktop setups, install/update the widget on the computer running the app as well as the backend on the gateway. Installation and updates.
hermes plugins doctor quota --ci
hermes quota refresh
hermes quota status
Optional terminal panel
After installing the backend, copy the optional widget into one profile:
mkdir -p "${HERMES_HOME:-$HOME/.hermes}/tui-widgets"
cp tui/quota-panel.mjs "${HERMES_HOME:-$HOME/.hermes}/tui-widgets/quota-panel.mjs"
hermes --tui
Run /quota-select to choose a provider/account; /quota-panel hides or reopens
the right-aligned, theme-colored quota chip. Requires Hermes' Ink user-widget SDK;
the classic CLI continues to use /quota. The main installer does not enable this
widget automatically. TUI setup, commands and limitations.
Multiple Claude accounts
Additional accounts are explicitly configured by directory and display label. Labels such as Work, Personal or Account 2 are user-configurable—not hardcoded. Linux is verified; additional platform limitations are documented.
Privacy and security
Extra Claude accounts are opt-in and read-only: no refresh-token exchange, credential write-back or tokens in the display cache. Requests identify this plugin rather than Claude Code. Primary-account resolution remains Hermes-core behavior. Other providers may use opt-in browser/OS credential-store reads and vendor client identities; see provider disclosures. Python plugins are trusted host code, not sandboxed applications. Third-party login reads require disclosure and maintainer judgment for catalog admission. Security details and limitations.
Grok authentication
Grok is opt-in. When enabled, the provider reuses Hermes' existing xai-oauth
access token as a Bearer token for the Grok billing endpoint. If the token is
unavailable or the endpoint rejects it as an authentication failure, the
provider preserves the browser fallback chain: ~/grok_session.json, Firefox,
then Chromium/Chrome/Brave cookies. On Windows, Chromium cookie values use the
current user's DPAPI-protected Local State key and AES-256-GCM v10/v11
decryption. App-Bound v20 cookies remain unsupported and are reported as
chrome-app-bound; cookie values are never printed or written back.
Documentation
- Installation, profiles and updates
- Usage, settings and commands
- Providers and their limitations
- Claude accounts and friendly names
- Codex special-reset announcements and source limitations
- Troubleshooting—including remote names/icons
- Development and tests · Add a provider
- Release process
- Acknowledgements
MIT · License
README from the reviewed commit 89a2ca3; it updates when the author re-pins.

rarf