Usage & Costs
In Web chat, open Show stats from the chat controls to see token and cache usage, provider-reported cost, and generation speed. The panel is titled Usage; its sections are This conversation, All models and Context. The CLI calls the same views Conversation, Models and Context. The views have different scopes:
- Conversation shows the session you are viewing.
- Models summarizes all recorded provider requests for your account.
- Context estimates what fills the active conversation's context window.
- Origin is a separate administrator-only usage view in the optional Stats plugin, labelled Consumption origin.
Open usage details
In a CLI chat, enter /stats and use ← or → to switch between Conversation, Models, and Context. Use /context to open Context directly. Chat-platform adapters return session information as a message instead of opening a modal.
If the optional Stats plugin is installed, enabled, and available to your account, open /p/stats for model usage over a selected date range. It shows tokens, cache volume, tracked spend and models. Its daily trend covers up to 90 days. The core Stats view works without this plugin.
Conversation
Conversation shows the active session's model, context-window use, tokens, cache hit rate, cost, and generation speed. Missing data appears as —. Cost appears as — only when nothing prices the run: the provider reported no charge and Elowen has no price of its own for the model either.
Conversation generation speed measures provider output tokens per second during successful generation. Provider connection waits, failed attempts, retry delays, tools and human waits are excluded. Untimed history and aborted generations are excluded.
Conversation list totals
At wide widths, each row of the conversation list ends with a two-line usage column: the conversation's own token total and its tracked cost on the first line, while the model mark stays a separate icon. The row of a conversation that is working adds its measured generation speed and cache hit share on the second line, including when that conversation runs in the CLI or in another browser tab. These totals belong to that conversation alone, not to work it delegated; a conversation with nothing recorded shows zeros, and the cost is what the tracked ledger holds, so a request with no known price also reads as zero.
Models
Models groups all recorded requests by the provider and model that produced them, including chat, voice, embeddings and requests outside a conversation. Rows are ordered by token use and include token totals, cache volume and tracked spend. Switching or deleting a conversation does not change this history. The Web Stats plugin filters its model view by complete UTC days.
This view covers every recorded account-owned provider request and remains available after conversations are deleted. Older history that was already removed cannot be reconstructed. A charge the provider reports itself always wins — including a reported $0. Otherwise Elowen estimates from PI's bundled model catalog: a priced row for the endpoint itself wins, then a vendor price identified through PI's OpenRouter namespace, and finally that OpenRouter row. An unlisted model or an ambiguous bare name without an explicit vendor has no estimated price; you can set a manual price per model under Settings → Models, which overrides a catalog estimate.
Model aggregates show recorded spend without a generation speed or a price-source label. A missing price stays unknown, a known free request stays zero, and totals sum the known prices.
Context
Context shows the active conversation's configured window, the provider's reported token count when available, and an estimated breakdown of system prompt, tool schemas, your messages, replies, tool output, and other content. It also shows remaining space, the compaction threshold when available, and which tools use the most tokens.
The context figure in the statusline, in Conversation and in Context is the provider's own count once the model has answered. Before the first answer, right after a compaction and after switching models, it is an estimate of the system prompt and the conversation only. The breakdown leaves out tool schemas the provider has not loaded, such as the tools a provider's own tool search keeps deferred.
The breakdown groups content into system prompt, tool schemas, your messages, replies, tool results, and anything else, and ranks the heaviest tools separately with their schema, call, and result costs. The provider's own count is shown as reported; the estimate is Elowen's own measurement and may differ. With no active prompt, there is nothing to measure. See Brain & Chat for compaction.
Cache usage
Cache hit rate is the share of prompt input served from the provider's cache:
cacheRead / (cacheRead + cacheWrite + input)
Cache volume is the total of cache reads and writes. These figures describe provider accounting and do not mean a request was free.
A healthy conversation reads more from the cache on each request. With the default long retention the cache stays warm for about an hour of quiet (about five minutes with short retention); a request after a longer gap re-reads the full history. A drop inside the warm window means less cached input was reused. The monitor can identify system-prompt, tool-set or history changes; provider eviction or routing and an Anthropic lookback miss are possible explanations rather than verified causes. Anthropic's window includes 20 positions with the breakpoint itself, and contiguous tool-call or tool-result runs count as one position within a message. Twenty new positions put an earlier write outside the final breakpoint's window, but other breakpoints may still reach it. See Brain & Chat for the bell alert Elowen raises when a break costs at least $0.25 extra.
OAuth usage windows
OAuth-backed providers can report subscription or rate-limit windows instead of per-token costs. Elowen reads these meters for Anthropic, OpenAI Codex, Kimi, xAI, Meta, MiniMax and OpenRouter. For OpenRouter, the meters show the account balance, the key limit and the daily allowance of free models; a MiniMax coding plan shows its five-hour and weekly allowance. GitHub Copilot accounts show no meters. Elowen shows the meters in the CLI telemetry rail and beside the linked account under Settings → <assistant name> AI → Linked accounts. The provider determines the window and reset time; Elowen cannot change or reset these limits. An Opencode Go account, connected with an API key in the same list, reports its 5-hour, weekly and monthly windows as percentages with reset times; without a Go subscription it shows no windows. Meters change to warning at 70% and danger at 90%; hover to see the reset time.
Readings refresh about once a minute while a conversation turn or a delegated task is running, and every five minutes while nothing runs; a read that leaves an account with nothing to show is retried after 10 and 30 seconds. Meta readings refresh at most every five minutes, because each Meta poll mints a key. If a refresh fails, Elowen keeps the last reading for up to 30 minutes after it was taken and then withdraws it. A rejected credential removes the reading at once.
CLI statusline
Use /statusline in the CLI to configure the status bar. The command comes from the optional statusline plugin, which is installed and enabled under Settings → Plugins. Its options show the model, context, tokens, speed, cache hit rate, and cost. All are off by default. The configuration applies to the CLI and Web chat dock, and changing it requires administrator access. The six options are showModel, showContext, showTokens, showSpeed, showCacheHit, and showCost. The cache percentage is omitted when Elowen has no measurement.
Origin usage and retention
Origin accounting is administrator-only because it can include client IP addresses and cover multiple accounts. Values can identify an IP address, a local connection, internal work such as scheduled or delegated tasks, a platform such as Discord or Telegram, or a redacted address after privacy retention. An IP address identifies a connection, not a person. Origin totals are separate from Models totals and are not expected to match them exactly.
The default retention for readable IP addresses and origin rows is 30 days. Administrators can change IP address retention and Activity log retention under Settings → <assistant name> AI → Runtime. Each accepts 1–365 days. After IP retention, the address is redacted while usage totals remain; the origin row is later removed when its retention period expires. Older usage from before origin tracking has no origin attribution.
Reset a monthly limit
Administrators open an account in Users, then choose Reset monthly limit under Limit and spend and confirm. For the rest of the current month, that account's limit counts spend from zero again. Nothing is deleted: statistics, the spend of provider accounts and conversations stay as they are, and the next month starts from its own spend as usual.
Reduce usage
- Use
/modelto choose a less expensive model for routine work when appropriate. - Use
/compactin a long conversation to summarize older context and make room. - Check Models after adding automation to see the recorded requests charged to your account.
- Treat unavailable cost as unknown; the provider's invoice is authoritative.