The drawers
Three top-level lists, and one rule: a row is one click to the console, pointed at that thing. Nothing expands into a folder tree, because the Explorer is thirty centimetres above and does that better.
Agents
Every agent project on the machine — from ~/.axon and from any axon.config.ts in your
workspace.

The row carries the registry identity and the version, or how many instances are running when any are. Hover and a ▶ starts a dev server without leaving the sidebar.
Several versions of one agent list separately, because they are separate projects on
disk — a published v1.0.9 and the v1.0.8 you still have checked out are two things you
can run.
Right-click for the rest: inspect it in the console, open its console, show what is installed.
Instances
Every agent process alive right now, whoever started it.

Selecting one puts its identity above the console: the session it is writing, its PID,
when it started, and links straight into the axon.config.ts, boot.vue and src/tools
it booted from.
The row leads with uptime rather than a pid — a pid is what you want once you are already debugging, but "how long has this been up" is what a list is scanned for, and it is what tells two runs of the same agent apart.
Subagents nest, and nothing else does. A subagent exists because its parent spawned it and its trace is part of that run — that is real containment. A repo is merely where a process happened to start, which is why the drawer is otherwise flat.
An instance whose parent has already exited stays at the top level rather than disappearing with it. A running process with nothing pointing at it is the one thing this list must never produce.
Right-click gives the panes directly — Events, Trace, Engine — plus Open in TUI and Stop.
Sessions
Every conversation on disk, searchable.

A row is the name you gave it, or its short id when you have not named one. Name a
conversation from the terminal with :session rename and it is findable here forever —
that is the same title, written into the session's own header, so the two surfaces can
never disagree about what a run is called.
Search matches the title, the agent and the id, and every term has to match — so
zeno auth narrows rather than widens.
There is no recency window. An earlier version capped this at 48 hours, which sounds tidy and fails exactly when it matters: the run you are hunting is usually the one that fell outside it. The whole archive lists, and the search box is what makes that usable.
Sessions still being written by a live instance show green. Clicking one opens the same console an instance opens — see live and finished.
Next: The console — what opens when you click any of them.