Desktop app
Interface overview
Learn the AgentKit Desktop window layout, the sidebar groups, and how to read the Dashboard before you manage anything.
After this page you will recognize the main regions of the Desktop window, know which sidebar group holds each surface, and understand what the Dashboard numbers do and do not mean.
Screenshots show a recent Desktop build; minor visual differences may appear between versions. The layout, sidebar groups, and workflows described here are the same across supported releases.
Read the window layout
The window has three fixed regions: a left sidebar for navigation, a top bar for the current location and filters, and the main panel for the selected surface. A status row at the bottom of the sidebar shows the App and CLI versions and the local sync indicator.

The sidebar groups surfaces by purpose:
| Group | Surfaces | What it covers |
|---|---|---|
| Entities | Kits, Subagents, Commands, Hooks, Skills, MCP Servers, Sessions | The installed AgentKit building blocks and recorded session evidence |
| Projects | All Projects, Plans, Journals, and your registered projects | Per-project state, plan tracking, and journals |
| System | Activity, License, Devices, Security, Feedback, Settings, Status Line, Migrate | Local diagnostics, app configuration, and maintenance workflows |
The top bar shows the breadcrumb for the current surface, a runtime filter, and search. Selecting a registered project in the sidebar opens its project dashboard rather than a global view.
Understand the Dashboard figures
The Dashboard summarizes local usage: tokens over the selected window, sessions
per day, the per-day activity heatmap, session-length buckets, and breakdowns by
day, model, and project. Use the 7d / 30d / 90d control and the date range
to change the window.
The Session length card is served from the same analytics index as the other Dashboard cards. AgentKit buckets one indexed duration per session when it reads the selected window, so the card no longer runs a separate, project-capped transcript scan. A session without a positive measured duration is not placed in a duration bucket.
These figures come from the local analytics index, not a billing source. They reconcile supported Claude Code and Codex session evidence while the window is open, so treat them as a local usage view rather than an invoice.
Filter by runtime

The runtime filter scopes Subagents, Skills, MCP, Hooks, Sessions, and Activity
to one coding agent. Kits, commands, and the Dashboard figures are not attributed
to a runtime, so they ignore this filter. A served from index note with a
generation-mismatch badge means the index is behind the current state; use
Rebuild index to refresh it.
Recognize the empty state

Before any Kit is installed or indexed, the Dashboard shows an empty state with
Install a kit to get started and zeroed metrics. A Some figures could not be read banner means a panel could not draw from the index; reload to try again.
Neither state is an error — it reflects local setup that has not produced data
yet.
Next, learn how to work with the installed building blocks in Managing entities.