Skip to content

Changes & Spend

Every branch has Changes and Spend views — tabs you can place in any pane of the tiled workspace — so you can see what an agent is producing and what it’s costing without leaving the branch.

The Changes view shows the branch’s work in two groups:

  • Uncommitted — the files currently modified in the worktree. Each row shows a status letter (Added, Modified, Deleted, Renamed), the filename and its folder, and the line counts (+ added / removed).
  • Committed — the commits this branch has that the base branch doesn’t, each with its subject line and line counts.

The group headers total it up — e.g. Uncommitted (3 files) +45 −12 — and when a branch is even with its base, you’ll see No commits ahead of main.

Click any file to open its diff as a tab — it lands in the largest pane, so you can read what changed alongside the agent that changed it. Open as many diffs as you like; close them with the × on each tab. To read the branch as one diff instead of file by file, and to comment on it, use the Review view — both share the same diff viewer.

The Spend view breaks down what the branch has cost, per model, with a total for the branch. Cloud models are marked accordingly, and figures are flagged as approximate (they’re estimated from token counts — see Usage & Cost). Local models are free, so they add nothing to the total. Before any requests run, you’ll see No spend recorded for this branch yet.

Because spend is attributed per branch, you can answer “is this task worth a frontier model?” with a real number rather than a guess — and the same figure appears inline on the branch row in the sidebar.

Alongside Changes and Spend, each session shows how full the model’s context window is — measured from the real input tokens (prompt, plus cache reads and writes) on each response, not an estimate. You get the current and peak usage, how much is left, and the cached-vs-uncached split, so you can see a long conversation filling up before it runs out of room. The latest turn is also broken down into System / Tools / MCP / Messages, so you can tell what’s consuming the window.

Below that, a per-turn cache utilization graph tracks how much of each turn the provider served from its prompt cache, on a fixed 0–100 % scale. A healthy session sits high and flat; a dip means input was re-processed that could have been reused. Turns whose cached prefix had aged out of the provider’s cache entirely are drawn in red and tallied as expirations — that count, plus the average and worst utilization across recent turns, sits under the graph.

This view is live and in-memory — it tracks the active session and isn’t part of the persisted spend totals.