Claude banked resets no longer disappear while Anthropic's usage endpoint is rate limiting. That endpoint can refuse reads for hours, and the reset line used to drop off a Claude card 30 minutes after the last good read even though the reset was still there. The last good count now stays for up to 12 hours of failed reads, and goes away as soon as its expiry passes.
OpenCode Go quota works again with OpenCode 2.x. OpenCode 2.x saves API keys in its own database and leaves the old auth.json behind, so the Go limits stopped updating once that key expired. Agent Pulse now uses the active key from OpenCode's credential store and falls back to auth.json for 1.x. A rejected key says to reconnect Go in OpenCode.
Ollama Cloud and ClinePass are removed. Their history, usage records, quota caches and stored keys are cleaned up on the first refresh, and a T3 Code runtime for either route counts as plain OpenCode.
Banked resets now show on every Claude account card, not only the main one, using the sign-in of the folder linked to that account in Settings.
The bar panel is sized against the screen, so on a 1080p screen it no longer fills nearly the whole height. Larger screens keep the previous size.
hourly-summary.json now carries the day's estimated API value.
Colors work again on Qt 6.12. QtQuick 6.12 added its own Color type, which hid the shell's color palette and left the plugin's colors undefined. It now reads the palette as Commons.Color, the same fix Omarchy made for its own shell. History, preferences and the bar layout are preserved.
Claude Sonnet 5.5 cache reads are now valued at $0.10 per million, and Claude Haiku 5.5 is priced, including its higher rates for prompts over 100,000 tokens. History, preferences and the bar layout are preserved.
Agent Pulse now supports Antigravity. Token history is read from the Antigravity CLI's conversations and from T3 Code's Antigravity sessions, and the bar shows the Gemini and Claude/GPT 5-hour and weekly limits from agy -p /usage, which uses no allowance. Antigravity models stay unpriced for now. History, preferences and the bar layout are preserved.
Agent Pulse now counts OpenCode 2.x usage. OpenCode v2 stores messages in new tables, so usage after that upgrade was missing from OpenCode and OpenCode Go totals. Messages carried over from v1 still count once. History, preferences and the bar layout are preserved.
While T3 Code reports that it is polling a Claude login, Agent Pulse no longer asks Anthropic for that login itself, even when T3's latest reading is a few minutes old. Extra requests only kept a rate-limited login refused. Agent Pulse still asks on its own when T3 is closed. History, preferences and the bar layout are preserved.
Claude limits stay current when T3 Code is also open. Agent Pulse reuses a recent Claude usage reading shared in ~/.cache/claude-usage/ instead of asking Anthropic's rate-limited endpoint again, and only asks itself when there is no recent reading.
A new opt-in widget setting, limitsRefreshIntervalSec, refreshes Claude limits on its own timer without rescanning history. See the README for details. History, preferences and the bar layout are preserved.
Agent Pulse no longer checks OpenCode Go quota in the background when OpenCode Go is turned off in Settings, and it stops rewriting the OpenCode Go bar record. History, preferences and the bar layout are preserved.
Codex Fast requests now use Fast API rates, including cached input and long-context pricing. Speed uncertainty appears beside the value estimate. Historical requests without recorded speed use a labelled Standard estimate.
This release also fixes stale tier labels after rescans and keeps synced ledgers up to date after pricing corrections. Token totals, history, preferences, and the bar layout are preserved.
The demo screenshot and pricing guidance have been refreshed.
Agent Pulse now tells you when a newer release is available. The dashboard and bar panel show a command you can copy and run in a terminal. It installs the published version, updates the widget when installed, and preserves history and preferences.
Checks GitHub once a day during the normal refresh, with no usage data sent.
Turn checking off in Settings > Updates and save preferences.
Offline checks keep the last result and retry the next day.
Omit --with-plugin for the dashboard alone. Run omarchy restart shell afterward to load the updated widget. Future updates appear as notices; installation remains manual.
The dashboard overview is now foldable. Click a section header to collapse it to one line that keeps the section's headline figure, and click it again to open it. The triangle at the end of the header shows which way it will go, and the folded sections come back the same way the next time you open the window.
Fold any section: Totals, Pinned limits, Tokens by hour, Accounts, the selected account's limits and models, Cache and output, Breakdown, and the yearly activity map. A screenshot that needs two sections no longer has to include everything between them.
Labelled second logins (Claude Second, Claude Third, ChatGPT Second) show their own hourly history in the bar panel, and a source with no indexed history now says why instead of reading as empty.
The Accounts rows no longer carry an unlabelled limit percentage, and the Breakdown column headers line up with the figures under them.
Rates for the models released since 1.8.2 are in: Claude Sonnet 5.5 and Opus 5.5, GPT-6 Sol, Luna and 6.1 Sol, the new Gemini and image models, DeepSeek V4.1 Flash Fast on CommandCode, and ClinePass rows that record the model vendor's id. DeepSeek V4.1 Flash's OpenCode Go allowance is corrected to the documented $60.
Per-account totals, reset periods and drill-downs are consistent across the account picker and the account section.
Replace the API-key fingerprints in Ollama Cloud, CommandCode, and ClinePass quota caches with salted PBKDF2-HMAC-SHA256. This addresses CodeQL alerts #1, #2, and #3.
Existing caches refresh once after upgrading. Changed or removed keys still take effect immediately, and raw keys stay out of the quota caches.
Codex GPT-6.1 Sol now uses OpenAI's published pricing, including cached input, cache writes, and long-context rates. Previously recorded usage is priced automatically. API value is an estimate, not a subscription charge.
This release also includes the fixes already on main:
Keep the model breakdown compact and sort sources by usage.
Show tokens recorded since each limit window began.
Improve session-reset notifications and limit suggestions.
The dashboard has a new name and a reworked bar panel. Everything from 1.7 is still here. It's just arranged so the numbers you check most often are at the top.
⚡ Live Today count
The panel and dashboard now lead with how many tokens you've processed today, and the number moves while you work.
While the panel or dashboard is open, it checks your local agent histories every 15 seconds and rolls up to the new total. Counts move when an agent records usage, usually right after a response.
It only reads local history. Limits, synced ledgers and Cursor still refresh on the normal schedule.
The dashboard updates in place as new usage comes in. It no longer dims or locks the page on each refresh, so you can keep reading and scrolling while it updates. It only waits on a scan when you change the period, a filter or the source, and a fast one shows no dimming.
🕐 Hourly history
The panel shows the latest six hours. The dashboard opens on Today with hourly bars split by source, and clicking an hour shows its source totals.
Hour labels, reset times and timestamps follow the 12 or 24 hour format of your Omarchy bar clock.
Hermes reports session totals without request timestamps. Those tokens stay in the day total and are labelled separately instead of being guessed into an hour.
📌 Pinned limits
Pin up to three limits from any source and they sit together at the top of the panel and the dashboard, each with its usage and reset time. Below them, "Limits to watch" shows the fullest limit from up to three other sources.
Anthropic started handing out banked usage resets today, the same idea ChatGPT has had for Codex. This release puts them on the Claude card, shows when any banked reset expires, and brings back the provider logos that went missing a few releases ago.
⏳ Claude banked resets
The Claude card now shows how many resets you have banked and when the next one expires, like "1 reset banked · expires Oct 22".
The count comes from the same Anthropic usage endpoint the Claude limits already use. Anthropic only returns it to a current Claude Code CLI, so the refresh sends your installed claude version. It finds the CLI on PATH or where Claude Code's installers put it.
Your token comes from Claude Code's own saved sign-in and only goes to Anthropic's usage endpoint.
Answers are cached for five minutes and rate limits are respected, so opening the panel over and over doesn't hammer the API. If a read fails, the last answer stays up for up to 30 minutes before the count goes to unknown.
The line no longer flickers when the panel opens. Omarchy's own collector briefly rewrites the Claude record without resets during a refresh, and the panel now holds the last count through that.
The reset notifier already watches Claude, so you get a desktop alert when a new reset shows up.
📅 Codex reset expiry
Codex banked resets now show their expiry date too. It comes from the credit endpoint the count already uses, so there's no extra request.
🎨 Provider logos are back
Codex Second, CommandCode, ClinePass, Ollama Cloud, OpenCode Go, Grok and Cur
This release puts CommandCode's extra-credit balance on the card, makes model totals and route attribution add up across Muse and T3 Code, and stops the window from rescanning history every time you change a filter.
💳 CommandCode extra credits
The plan's windows were never the whole story: once its credits run out, work continues against the extra credits you bought. That wallet now shows as money on the CommandCode card and in the bar panel:
What is left comes from the billing response the plan windows are already read from, so no new request and no new key.
What it was funded with is what is left plus what this period has drawn from it, and the card says "estimated" because that part is derived.
A wallet with nothing in it stays off the card, and one left over from a plan that no longer reports windows still shows on its own.
The balance travels on the agent record, so Omarchy's built-in agents panel picks it up too, and it carries CommandCode's own name for the wallet rather than a generic label.
🧮 Totals, routing, and a quieter window
Vendor-prefixed muse-spark-* records now count with the bare Muse model in totals and filters, including the bar panel's all-route model list, while keeping their route attribution.
T3 Code's isolated provider instances are discovered and attributed: CommandCode's Codex and Claude runtimes land on the CommandCode card, FlashX is counted at its published rates, and T3 OpenCode instances for Ollama Cloud and ClinePass reach their own cards.
This release adds Cursor — cloud usage events and a billing-cycle quota meter — and fixes the installer's built-in-widget check, which could only pass on the machine it was written on.
🟣 Cursor
Cursor is the first source here that cannot be rebuilt from local files, so it is read from Cursor's own usage events, per model:
Token history — every event's input, output, and cache-read tokens, priced at list price
A billing-cycle quota meter with its reset date, read through the session the Cursor desktop app already stores locally
Free events still count — an event that carries no tokens is kept as a turn rather than dropped as empty
The session token is read from Cursor's local store and is never copied, logged, or sent anywhere but Cursor. The endpoint is undocumented and can move without notice; when a call fails, the previous snapshot stays in place with its error and nothing else in the dashboard is affected.
Event costs are list prices and plan discounts are not applied per event, so the quota card's billed total is the figure to trust where the two disagree.
Cursor support arrived as a community pull request from @hilather — the collector, the paginated walk with resume, the quota mapping, the pricing, and the tests are his work. Thank you.
🛠 Also in this release
The installer's built-in-widget check read /usr/share/omarchy directly — a path that exists on a development machine and nowhere else — so it passed locally and went red the moment it ran anywhere else. It now follows the OMARCHY_PATH conve
This release makes the packaged widget the only widget — and the complete one — adds reset notifications, and counts work done through the Command Code CLI.
🔀 The widget merge
The widget that ships with the dashboard now includes everything a private, customized clone held — rebuilt as settings anyone can set from the widget's bar.layout entry in shell.json:
providerOrder — walk the bar and panel in your order. Unlisted providers follow alphabetically, so a new provider never drops off the end.
launchCommands — right-click a provider to launch its own CLI in a terminal; unmapped providers fall back to Omarchy's agent picker.
extraProviders — write an upstream-format record into the usage directory and the widget shows it. Bring your own collector; the record is the whole contract.
alwaysShow — keep a provider on the bar before it has numbers.
Fireworks is back (off by default; enable it in Settings).
The installer now names any other installed model-usage widget it finds — including Omarchy's built-in Agents widget — so a second AI icon never appears by surprise.
🔔 Reset notifications
A desktop notification when a weekly or monthly limit resets, or when banked reset credits arrive (the way Codex delivers dropped resets) — with the provider's own mark on the popup.
Short (session) windows never notify
Codex and Claude are watched by default; more via --provider, never by silent opt-in
Overlapping refreshes serialize on a lock file, so a reset notifies exactly once
CommandCode usage: plan windows read from an API key you supply, with the resets it publishes. Its allowance is measured in credit value rather than tokens (the $10 GOAT plan allows $14 in any 5 hours, $35 in any 7 days, and $70 a month), and each window reports its own spend, cap, and reset time, so these meters carry a countdown where the other providers cannot. Add the key under Settings, or export COMMANDCODE_API_KEY, or drop it in ~/.config/omarchy/ai-usage/commandcode.key. The key is never written back, never leaves the request it authenticates, and never appears in anything the dashboard renders.
Count CommandCode token history through the same agent ledger as OpenCode Go and Ollama Cloud. Its two profiles for one account, one OpenAI-shaped and one Anthropic-shaped, collapse onto one card, with the raw route kept in the Routes breakdown so nothing is double counted.
CommandCode model rates, transcribed from the rates it publishes rather than the labs' list prices, since it bills against its own resale table. Includes its peak window that doubles the DeepSeek rates on weekday early mornings. Models that are free while capacity lasts price at zero instead of reading as unpriced.
Keep the provider tabs on one row: the chips now share the width evenly and keep their own text width, so four or five providers sit on one line instead of wrapping, with more room on both sides.
Ollama Cloud usage: local token history alongside the plan's usage limits, read from an API key you supply. Add it under Settings, or export OLLAMA_API_KEY, or drop a key in ~/.config/omarchy/ai-usage/ollama.key. The key is never written back, never leaves the request it authenticates, and never appears in anything the dashboard renders.
Ollama Cloud model rates, including the published peak window that doubles the DeepSeek rates on weekday afternoons.
Count your agent's own OpenCode Go and Ollama Cloud spending. Running those routes through Hermes used to hide that usage; both are now included, and they reconcile to the agent's own ledger exactly.
Split agent-sourced usage by what it was for: typed prompts, title generation, context compression, vision, approvals, and background review.
Treat a Hermes home as an account source folder, so it can be labelled per account or imported from another machine.
Show up to four model rows on each overview card, from local token totals. Providers whose usage endpoint reports one aggregate number cannot supply per-model shares, so the local figures are the honest view there.
Fix the bar widget's scrollbar so it no longer draws over the text, and give the provider chips room to fit their labels.
Synced machine ledgers: point every machine at one shared folder and each imports the others' snapshots, so totals, charts, and model breakdowns cover all of them.
Show synced machines in the data coverage card, and warn once per broken snapshot instead of every scan.
Fix release pinning in the one-line installer: tags download correctly, not only branches.
First public release of the AI Usage Dashboard for Omarchy.
Named history accounts with multiple folders, account comparisons, and filters.
Deduplicate mirrored history and flag conflicting account assignments.
API-value shares and tokens/value per recorded session.
Grok Build history, recorded API value, model calls, and weekly quota.
Gemini CLI, general OpenCode, Pi, and Oh My Pi history, with source-route breakdowns.
Detect active sources on first use and adapt layouts to the enabled providers.
Refresh Grok quota after login and request fresh limits on manual Refresh.
Reopen unmapped dashboard windows and focus the correct instance across workspaces.
Keep provider colors readable on light and dark backgrounds.
Wrap bar-widget provider chips when many sources are enabled.
One overview card per account, with optional monthly prices per provider or labelled account.
Daily and hourly charts split into one series per account when a provider has more than one, each in its own shade of the provider color, largest solid and the others dashed.
Labelled accounts read their own agent usage record by matching id or name, so a second Codex account shows its quota beside the current login.
OpenCode Go prices the full documented model table, doubles DeepSeek rates during peak hours, and falls back to OpenCode's recorded cost for unlisted models.
The Go card shows value used against each model's monthly allowance, including the DeepSeek V4.1 Flash 4x promo through Sep 20.
Price Codex gpt-5.3-codex-spark and mark codex-auto-review internal, clearing t