Why Usage Shows No Limits
Lead: The runtime's usage reader looks in the wrong place for Codex and Claude. The Usage screen also makes a card for every connected provider. Each cause is a small code fix.
Codex: the reader stops at the wrong file
Step | What the runtime does | What it finds on this Mac1 | Picks the most recently changed Codex log | A 1-line log from 2 Nov (opened, no turn run)2 | Takes the last `rate_limits` in that log | None, so it shows no bars3 | If a log has one, takes the last record | Often the `premium` record: both windows nullReal data | Earlier `codex` records in the 3 Nov log | 5-hour 70–99% used, weekly 44–48%Fix
Walk logs newest first. Use the last record with limit_id: codex that has windows.
Claude: no number is written unless you hit a limit
Source | What it hasClaude Code transcripts | `quotaLimits` only when near or at a limit (seen: weekly and 5-hour "rejected")Normal use | Nothing, so no barNewest transcript only | Older warnings in other sessions are not readFix
Read the plan usage endpoint that Claude Code's /usage uses, with the sign-in Claude Code already stores. Not checked yet: the exact response shape on your account.
Extra cards: every connected provider gets one
const LOCAL = new Set(["ollama", "omlx", "allternit-sidecar", "local-brain"]);Cause | ResultOnly 4 local engines excluded | Bonsai, LM Studio and others still showNo "has anything to show" check | OpenRouter and keys with no plan, limit or spend get an empty cardFix
Show a card only when it has a plan, a limit window or spend in the last 30 days. Allternit Cloud stays first.
Shipping the fix
Part | Where | Ships byA and B | gizzi quota reader (platform repo) | Mac + Linux runtime publish, cloud computersC | Usage cards (allternit-ai) | Merge to main: web, PWA, Desktop runtimeiPhone | Reads the same runtime quota | Next TestFlight build for the card filter