Skip to content

Stoplights & Status

Running many agents only works if you can tell, at a glance, which one needs you. Lattis answers that with color. There are two status languages, and once you know them you can run a wall of agents from the sidebar alone.

Every running agent shows a colored dot — on its tab, and on its branch in the sidebar (one dot per agent on that branch):

ColorMeansWhat to do
🟢 GreenWorkingA request is in flight or a tool is running. Leave it.
🟡 AmberWaiting on youThe agent finished its turn or is asking a question. Your move.
🔴 RedErrorThe last request failed (e.g. an upstream or network error). Worth a look.

Amber is the one to watch — it’s the signal that an agent is blocked on you and making no progress until you respond. A healthy fleet is mostly green with the occasional amber you clear quickly.

To avoid flicker between rapid turns, an agent that briefly yields stays green for a moment before going amber; an agent that’s genuinely parked on a question (an interactive prompt) goes amber right away.

Each branch also shows a pull-request icon, colored by where the PR stands. This is the second status language — it tells you what’s ready to ship:

ColorStateMeans
🟢 GreenReadyChecks passed and it merges cleanly. Ship it.
🟣 VioletAwaiting reviewChecks passed; the only thing left is a human reviewer.
🟡 AmberPendingCI is still running or settling.
🔴 RedBlockedCI failed, there are conflicts, the branch is behind a protected base, or changes were requested.
⚪ MutedDraftA draft PR — not meant to merge yet.

A branch with no open PR simply shows a plain branch icon.

The distinct violet “awaiting review” state is deliberate: it separates “the robots are happy, a human just needs to look” from “still waiting on CI.” When you’re triaging a project, violet means go review this.

The reverse direction has its own place in the sidebar. PENDING REVIEWS, above Projects, lists every open pull request where GitHub asked you for a review, oldest request first. A click opens the branch in the review workspace — see Code Review.

Lattis reads PR and CI state from the GitHub API with your connected GitHub account, so it reflects what GitHub actually reports — including a branch that’s behind a protected base, which it treats as blocked because GitHub won’t let you merge it as-is. It refreshes about once a minute, plus immediately after every in-app PR action. If no GitHub account is connected, branches simply show no PR state; see Pull Requests & CI to set it up.

Put the two together and a single branch row tells you a lot:

●● feat/split-tender #214 +420 −38 $4.82

That’s two agents working (two green dots), an open PR (#214), the line churn on the branch, and the dollars spent so far. Scan the column and you know the state of the entire project without opening anything.