An Agent Done-Signal You Can See From Across the Room

Status Light costs $45 and presents red, amber and green domed lenses in a matte-black desk unit. It could be a glanceable output for Claude Code only if its control interface is verified. The catalogue does not currently establish a connection, API or programmable behavior.

Why do notifications fail during meetings?

A desktop banner may be suppressed, hidden behind shared content or appear on the screen being presented. Sound can interrupt the call. Claude Code's built-in terminal notifications also depend on terminal support and settings, so a hook may be needed on some setups.

The official hook system provides documented events, but each event has a specific meaning. A visible lamp must not flatten permission, idle, response completion and failure into one ambiguous “done.”

What does a glanceable light change?

It moves a small signal into peripheral vision without requiring a window switch. That is useful only when the colour meaning is agreed and stale states are obvious. Green cannot prove tests passed, work is correct or a task is ready to publish.

Keep the terminal transcript and agent UI as the source of truth. The lamp should invite review, not replace it.

How do you wire agent state to the light?

Claude Code currently documents a Notification event for states such as permission prompts and idle prompts, a Stop event when a response finishes, and StopFailure for API errors. A local handler can receive an event and call a supported hardware adapter, but the adapter for this product is not confirmed.

Do not scrape prose from the terminal. Test event input, process failure, timeouts and a manual off path. Store no credentials in the light script.

What happens when you are not at your desk at all?

A lamp cannot reach another room, preserve history or explain what needs attention. Use a documented system notification or approved message channel for remote awareness, and avoid exposing project content in the alert. When you return, inspect the session before continuing.

The Status Light remains a physical signal concept until control behavior is verified. Build the software notification first, then consider the lamp as a secondary, non-authoritative display. Define expiry behavior before assigning colours. If an event is not refreshed, the device should return to off or an unmistakable unknown state rather than displaying yesterday's success. Log only event type and time unless more detail is truly needed. Verify that rapid consecutive sessions cannot overwrite each other's meaning, and label which local session owns the signal. Test interruption separately because a user-cancelled turn does not behave like ordinary completion.

Back to blog