Agent State on Your Desk: Idle, Thinking, Needs Input, Done
The Status Light ($45) is a matte black desk unit with three domed lenses, red at the top, amber in the middle, green at the bottom. It exists to answer one question without you switching windows: what is my agent doing right now. Before anything else, the plain fact. It does not know. The light has no connection to Claude Code, Codex CLI, Cursor or anything else, and it never will on its own. It lights up because a hook or a script that you point at it tells it to.
So what does the hardware actually do?
It is three lamps you can switch on and off from your machine over USB, plus the small utility supplied with it. That is the entire product. There is no agent integration, no plugin, and nothing watching your terminal. Everything clever about a status light happens in the few lines of glue you write once. If you are not willing to write them, buy something else. We would rather say so here than have you work it out on your desk.
Which states are worth showing?
Four cover almost every setup. Idle, meaning nothing is running and the desk is yours. Thinking, meaning a run is under way and interrupting it is a choice rather than a necessity. Needs input, meaning the agent has stopped and is waiting on a decision from you, which is the expensive one to miss. Done, meaning the run finished and the output is worth reading.
Some people add a fifth for error. If you do, give it its own unmistakable signal rather than folding it into done, because a failed run and a finished run ask very different things of you. Three lenses do not map neatly onto five states, which is fine: colour plus behaviour gets you there, steady amber for needs input and flashing amber for error, say. Decide the vocabulary once and then leave it alone, because the whole value of an ambient signal is that you read it without thinking.
Which of those can I actually get from my tools today?
Thinking and done are the easy pair. Most agent tooling gives you somewhere to run a command when a session or a task starts and when it ends, and those two events are enough for a light that means running or finished. Error usually falls out of the same place, from the exit code of whatever you wrapped.
Needs input is the honest gap. Whether you can catch the moment an agent pauses to ask for approval depends entirely on whether the tool you use emits anything at that moment. Some do, some do not, and no piece of hardware can invent an event that was never sent. Check that before you assign a colour to it. Idle is the easiest of the lot, because it is simply what you set the light back to when nothing else is true.
Does it have to be a light?
No. The Agent Pet ($45) shows the same states as expressions on the square face of a blocky orange pixel robot about the height of an espresso cup, and it is the one people keep on the desk because they like looking at it. The Desk Terminal ($79) is a miniature computer styled after a 1984 all-in-one with a small colour screen, so it can show words rather than a colour, which matters when you run more than one agent at once and a single lamp would have to average them.
All three share the same requirement. You supply the signal. The only difference is how it looks once you have.
If you are still deciding whether you want an ambient indicator at all, start with how do I know when my AI agent is done.