VCode home

The status bar

Agents: claude, codex, opencode · On: phone, desktop

The facts about this tab right now: which branch, how much context, whether you are connected, and what is waiting. On a phone they are one line above the composer. On a wide window they are two: the branch, the context, the ping and the session's changes on a row at the top of the composer, and what is waiting in the composer's key row. Every segment is a button. The machine is not on it: the tab names it.

Why you would use it

It is the fastest read of whether the thread is healthy, and the fastest route to the things it names: the sessions sheet, the changed files, the reason it is paused.

How to use it

  1. On a phone, look at the bar above the composer (#statusbar). Every segment is on it.
  2. On a wide window, look at the top row of the composer (#composer-facts): the branch, the context and the ping on the left, the session's changes on the right. What is waiting is in the key row (#composer-status), in the gap between the effort dial and the mic. Both report the pane they are in rather than the tab in front.
  3. Tap any segment but the branch. Each one either says more, or opens the thing it is about. The branch is text: a tap on it does nothing. In a pane you are not typing into the segments are text, not buttons: the tap focuses the pane, and the box arrives with the bar you can tap.

The status bar above the composer: the context figure, the latency, a queued count, an amber paused segment and the changed files.

What you see

Segments appear only when they have something to say, left to right. On a wide window the first three and Changes are the composer's top row, and the rest its key row:

Segment Looks like Tap does
Git ⑂ master*↑2 Nothing
Context ctx 162k Toasts the exact token count and the auto compact mark
Connection ↑ 40ms (green) or ↯ offline (amber) Refreshes usage and workspace
Queued ◷ 3 (amber) Toasts 3 queued
Needs you ● needs you (red) Nothing
Paused ⏸ resumes 14:20 (amber) Toasts the full usage-limit line
Retrying ⟳ retry 45s (amber) Toasts the attempt and when it runs (retry-temporary-model-errors)
Stopped ⚠ stopped (red) Toasts why the agent stopped
Pull request ⟳ PR #12 ✗ (red), … (amber) or ✓ (green), one per watched pull request Opens a popup with Open on GitHub and Stop watching
Changes a file icon, a count, +12 −3 Opens the diff sheet on the files this tab edited or named in a proof; the explorer's Changes tab lists the same files

A toast over the transcript reading "context 48200 tokens · auto compact default".

The branch is the one the agent last edited a file in. When it works in a git worktree, you see the worktree's branch, not the one checked out in the tab's folder. Before the tab's first edit, it is the tab's folder's branch. The * on the branch means the working tree is dirty; ↑2 means two commits ahead of upstream. The connection figure is the time a request takes to reach the box and come back, measured when the status refreshes: every 5 minutes and when you tap it. On the desktop app on the box's own computer it reads 1 to 2 ms. ● needs you shows while an approval is pending.

Limits and known gaps