Using Firekeeper
Understand usage
Use local history to understand your work. Use provider limits, where available, to understand your allowance. They are not the same measurement.
Get a quick overview
From Processes, press Tab to open Overview. Provider panels summarize tokens today, over the last seven days, and lifetime in the available local history, alongside limits and reset countdowns when those can be fetched.
Press r to refresh every provider. Missing data does not mean zero usage, and a missing quota panel does not mean unlimited access.
Explore models and past sessions
Open Usage with Tab. Use Left / Right or h / l to choose Codex, Copilot, Kimi, or Claude. Press r to refresh the selected provider.
Daily bars and model totals help you see where tokens went. Where sessions are available, use Up / Down to select one and Enter to open its chat. Press Esc to return to Usage.
This history is read from the provider's local files or database. It does not require reporting, a server, or a running agent process. OpenCode, Gemini CLI, and Cursor CLI can appear in Processes and chat without having a Usage page.
Know what each source tells you
| Provider | Local history | Limits |
|---|---|---|
| Codex | Session database and rollout token events. | A short-lived authenticated Codex app-server request asks for limits. |
| Copilot CLI | Read-only session-store.db totals and model history. | Best-effort plan AI-credit allowance, remaining credits, and reset timing from GitHub. |
| Claude Code | Usage recorded in local transcripts. | Five-hour and weekly limits from Anthropic when a Claude Code sign-in is available. Enabled by default; can be disabled. |
| Kimi Code | Local usage.record events. | No quota lookup. Use Kimi Code's own /usage. |
Local tokens are not an account-wide bill. Other machines, missing provider records, and provider-side accounting can produce different totals. Copilot's local history is not its account quota; the plan lookup is separate.
Why totals can look low
Some live counters are read from file tails, so very long sessions can be undercounted. Claude Code does not record every background request in its transcripts. If a Claude session has subagent files, Firekeeper warns that its total is likely low; it does not invent an estimate for the missing tokens.
Cache read and cache write counts depend on the provider and its data format. Cursor transcripts contain no token counts or timestamps. A blank field is not evidence that the session used no tokens.
What contacts the network?
The terminal dashboard does not upload conversations. It is not completely offline, however:
- Codex limits: Firekeeper starts a short-lived local
codex app-serverrequest using your existing Codex sign-in. No persistent server is required. - Copilot plan details: when a GitHub token is available, Firekeeper asks GitHub for plan data. The endpoint is internal and may change or disappear.
- Claude limits: Firekeeper uses Claude Code's existing OAuth sign-in for Anthropic's undocumented usage endpoint. The token is not stored, logged, refreshed, or uploaded to a Firekeeper server. A failed lookup does not block local history.
- Release checks: release builds check GitHub for a newer Firekeeper version when launched interactively. Set
FIREKEEPER_NO_UPDATE_CHECK=1to disable that check.
To turn off Claude's limits lookup:
firekeeper claude-limits disable
Use firekeeper claude-limits enable to turn it back on, or firekeeper claude-limits status to inspect its status. On macOS, the first lookup may ask for Keychain access.
For exact data sources and configuration, see the usage reference and privacy documentation. Transcript reporting remains a separate opt-in workflow, with best-effort redaction.