Sessions & Telemetry
Compare local session sources, inspect usage and tools, and read typed prompts for individual runs.
Sessions combines local telemetry into five views: Overview, Sessions, Tools, Models, and Trends. Use it to understand usage across runs and then inspect an individual session.

Open the top-level Sessions tab, or use /space/#/sessions.
Select sources
Use the Sources checkboxes to include any combination of Claude Code, Codex, and Cursor. Available metrics depend on the native source. An unavailable source carries an offline label; hover it for the reported reason.
Source selection applies across all five views. Selecting no sources produces No session sources selected. If every selected source is unavailable, choose another source or restore access to its local telemetry store and press Refresh.
Session telemetry coverage is distinct from watcher coverage. OpenClaw, Hermes, or Antigravity can have watched native sessions and project activity without contributing to this tab's current Claude Code/Codex/Cursor aggregate. Selecting an active chat backend in Setup does not select a Sessions source.
Know which filters apply
| View | Scope and controls |
|---|---|
| Overview | Today, 7 days, 30 days, or All filter totals, the time chart, top models, and top sessions. The default window is 7 days. Its daily heatmap always shows the last 16 weeks, independently of the selected window. |
| Sessions | All loaded sessions for the selected sources. Sortable columns and 10 rows per page; no date-window control. |
| Tools | Uses the same four date-window choices for calls, errors, tool rankings, and MCP server activity. |
| Models | All-time token and cost breakdown for selected sources; no date-window control. |
| Trends | All-time data grouped by week, with token totals, cost, and each week's top model; no date-window control. |
Refresh fetches the aggregate again. The server serves a derived telemetry snapshot, so Refresh does not imply an immediate full rescan of every native log.
Start with Overview
The headline shows tokens, estimated cost when known, sessions, and tokens per session for the selected window. Hover charts for their date and value. The Top sessions in window table ranks sessions by their usage within the window; clicking a row opens that session's full detail.
The 16-week heatmap is in Overview. The separate Trends view is a weekly chart and breakdown table.
Find an individual session
Choose the Sessions subview. Click a column heading to sort by Started, Project, Source, Model, Tokens, Cost, Turns, or Duration; click it again to reverse the order. Prev and Next move through pages of 10 rows.

The caption distinguishes the loaded rows from a larger total when only the newest sessions are available. Sorting and pagination operate on that loaded set. A sub-agent count appears on each row; click the row to inspect its details.
Read session details
A session opens within the Sessions subview. All sessions returns to the table.

The detail contains:
- Session tokens: the total, its own-token portion, and the number of listed sub-agents. The Breakdown scope field says whether the figures include the session tree.
- Token categories: fresh input, output, cache writes, cache reads, and unclassified tokens when the source cannot fully categorize the total.
- Cost: a pricing estimate or an unavailable value, depending on the source.
- Turns and duration: the source's model-iteration count, start/end information, and elapsed duration.
- Session metadata: source, runtime version, project path, primary model, and session ID.
- Tools and sub-agents: tool calls/errors and each listed sub-agent's tokens, cost, and turns.
- Prompts by turn: typed user prompts fetched for this session on demand.
The authoritative session total can be larger than the categorized buckets. Unclassified preserves that difference; it does not imply zero usage. Read the scope before adding parent and sub-agent totals together.
Prompts by turn
The aggregate at GET /xo/sessions.json contains no prompt text. Opening a session requests its typed prompts separately through /space/data/session_prompts.json, and the browser caches that result for the page's lifetime.
Each turn shows the typed prompt, its time, and reply/tool-call counts when supplied by the source. It is not a full assistant transcript or a replay control. Capped results say that only the newest prompts are shown; shortened text is marked as truncated.

After supported prompt data arrives, the headline Turns can show human exchanges, with the model-iteration count beneath it. Missing or cleaned-up logs, unsupported prompt capture, and request failures have distinct messages.
Compare tools, models, and weekly trends
Choose Tools to compare call counts, errors, tool rankings, and MCP server activity for the selected window. A tool's call count describes recorded execution, not whether its output was accepted.

Choose Models for the all-time token and available cost breakdown of the selected sources.

Choose Trends for weekly totals and each week's top model. Use Overview when you need a specific Today, 7-day, or 30-day window.

Read cost honestly
~$ indicates an estimate. Unavailable or a dash means the source did not report cost. A starred partial estimate includes only the selected sources with known cost; it is not the total bill for the combined selection.
Source availability, missing costs, and partial token categories are reported explicitly. An empty or unavailable metric is not evidence that no work happened. Check the selected sources and their native stores in Setup before interpreting it as a zero.
For the distinction between telemetry, Timeline playback, and the separate Space Walk tool, see Session replay.