Skip to content

Reading the rail

The rail lists your fleet, one row per agent, with Concierge at the top. Every row is one line. Select a row to put that agent in the center column; the selected row is tinted with your accent color.

The agent rail's list of agents. Concierge sits at the top, idle, with two subagents indented beneath it, both working. Below it, seven agents: alpha, starting, with a c1 profile chip; Sonnet 5, working and selected, its row filled; Haiku 4.5, idle, its context badge red at 96 percent; Fable 5, needing input; agent-rows, needing permission to run Bash, its badge orange at 83 percent; heron, running a background job, with a z.ai profile chip and three working subagents indented under it; and Ask before migrating, needing input, with the OpenAI mark of a Codex session. Two of the subagents, one under Concierge and one under heron, show their model in orange: each is running on a different model from the one it asked for. Four rows, including Concierge's, have an unseen dot on the window's left edge.

From left to right:

  • The name, on a pill in the agent’s own color. It is the session’s own name, the one you gave it or the one its harness made up, or else the title the harness gave it, and failing both, its role or its model.
  • The status, in words and in color. The next section lists them.
  • A profile chip, when the session was launched under one of your profiles. Sessions on your default account carry no chip.
  • The OpenAI mark, when the session is Codex CLI. Claude Code sessions carry no mark.
  • The model and thinking level, on the right.
  • The context badge, always rightmost: how much of the session’s context window is used.

When the rail is narrow, the model and thinking level shorten first, then the status. The name, the profile chip, the OpenAI mark and the context badge always stay whole.

Subagents sit under the agent that started them, indented, in the same one-line shape: their role, their status, and their model and thinking level. If a subagent is running on a different model from the one it asked for, its model and thinking level turn orange and name the one it asked for, as in glm-5.3 • xhigh — asked Opus, and the warnings strip at the foot of the rail says so by name.

Status Color What it means
working bright blue The agent is in the middle of a turn.
job working light blue A background job is doing work.
needs input red The agent has asked you something and is waiting for an answer.
needs permission magenta The agent wants to run a tool and is waiting for your approval.
failed orange The session has failed.
idle, done, archived grey The agent is resting.

A row that needs permission names the tool it is asking about, as in needs permission (Bash). The status always follows what the harness reports: a background job that is blocked on a question reads needs input in red even while its turn is idle. Nightdesk never changes a status on a timer of its own.

The badge’s color says how full the session’s context window is: green under 50%, yellow from 50% to 74%, orange from 75% to 89%, and red at 90% and over.

A small dot on the window’s left edge, beside a row, marks an agent that has done something since you last looked at it. Looking at it means having its row selected while Nightdesk is the app in front. The dots start fresh each time Nightdesk opens.

Live agents come first. Among them, the agent that most recently did something Nightdesk watched happen is on top, so an agent climbs the rail the moment it finishes something.

A session you have just launched gets a row reading starting…, named for its checkout and pinned above the fleet until the session is running. Clicking it takes you to the new session’s pane.

Right-click a finished agent’s row, or the row of a background job blocked on a question while its turn is idle, and choose Dismiss to take it off the rail. View ▸ Clear Finished Agents clears every finished agent at once. A finished agent also leaves the rail on its own 24 hours after its last activity, unless it is a Claude Code session you named yourself, with --name when you launched it or with /rename later. A dismissed session that comes back to life reappears on its own.

  • ⌘[ and ⌘] step up and down the rail, Concierge first.
  • ⌘0 selects Concierge.

The agent a checkout’s work goes through by default is its coordinator, and the foot of the rail carries the accounts strip.