Agent HQ

Agent HQ at night: an isometric office with five people at desks, one on the couch, and a board on the wall counting today's turns
Personal
UX Designer
Solo
Oct 2026 – now
In daily use
Overview

A small office where each Claude Code session I have open is a person at a desk. I built it so I can tell at a glance which agent is waiting on me, and answer it from my phone.

More than one agent was too many to keep track of

Each Claude Code session runs in its own Terminal tab. When one finishes or stops to ask me something, nothing tells me. So I mostly ran one session at a time and watched it.

01

Waiting goes unnoticed

A question from an agent looks the same as a quiet tab. Work stops and I don't know it.

02

Every tab looks the same

Tabs are named after the folder, so I opened each one to remember what it was doing.

03

Working or stuck

A long turn of real progress looks the same as one failed command on its tenth try.

04

Only reachable at the desk

A one-word answer could unblock an hour of work, but only if I was at the laptop.

Each agent's state shown as something a person does

I stop reading status labels after a while, so every state became a pose or a place in the room. I can read it from across my desk.

Where they are says what they're doing

Working sessions sit at a desk. Idle ones wander to the couch or the coffee counter. After half an hour the chair is empty, and a closed session walks out the door.

An idle session shown as a person in headphones on the couch, next to a floor lamp and a record player
An idle session takes a break on the couch.

Only one state is loud

Everything else stays calm so that waiting stands out. When a session needs me, the room dims, a spotlight lands on that desk and the dog goes and sits by whoever has waited longest.

One agent stops to ask a question. The room dims around it and the dog walks over.

What's inside, without opening it

The monitor shows the kind of step the agent is on. Three failed steps in a row make the desk smoke, which is how I tell stuck from slow. Nameplates show a time estimate based on how long my past turns took.

Four desks up close. The working session's nameplate has a progress bar reading about 4 minutes left
The working session shows a time estimate. The others are between turns.

The conversation opens beside the room

Clicking a desk opens that session's terminal beside the room, so I can read and reply without leaving it. Option-click brings up the real Terminal tab instead. The panel copies what I rely on in Claude Code: the same type and colors, the spinner verbs and timer, and Space to talk.

Agent HQ with a terminal panel open on the right. The Shiba Run session is mid-turn, with its reply in green mono text and a spinner reading Percolating, 2 minutes
A working session. The spinner line shows the same kind of verb and timer Claude Code does.

A light in every session

When the room isn't on screen, a band in Claude Code shows one dot per session: amber when it needs me, green when working, hollow when idle.

A black terminal strip of meters: 5H, WK and CTX usage cells, AGENTS with two dots, and SESSIONS with one filled dot and six hollow ones
The band in one of my sessions. One session working, six idle.

Answering an agent from my phone

On a phone the same terminal slides up from the bottom. When an agent asks me to pick from a list, each choice is a row, so most answers are one tap.

The phone terminal sheet in green mono text on black. Below the conversation, the agent's question shows as three numbered rows: Lighter shadow, Hairline border, and Type something
An agent asks which way to go. Tapping a row answers it.

A message has to arrive exactly once

Signal drops, and an instruction sent twice can mean the work gets done twice. Replies wait in an outbox and retry, and each carries an id so the laptop never types one twice.

A tap on the wrist

Away from both screens, my Apple Watch taps me. "Needs you" comes after a 20 second wait, "Finished" only for turns of two minutes or more, and neither if I've used the Mac in the last minute.

Changed by living with it

I built the first version in a day and used it while I kept building it.

01

Side view to isometric

The first room was a flat side view. Isometric gave it depth and space to walk around.

02

Sleeping to an empty chair

Idle people first fell asleep at their desks. Eleven minutes in, that became an empty chair.

03

A pane to a band

A pane in Claude Code listing running agents had to be opened to show anything. It went the same day, and the count moved into the band.

04

Cut the mic button

Phone replies had a mic button until it was clear the keyboard's own dictation already did the job.

The first version: a flat side view of eight desks in two rows, with idle people asleep and white cards above each desk
5:29 pm. Flat rows, people asleep.
Eleven minutes later: the first isometric room, an empty chair for the idle session, and a raised hand for the one that needs input
5:40 pm. Isometric, an empty chair, a raised hand.
The first phone terminal sheet in navy with a sans serif font, a mic button and a send button
The first phone sheet.
Seven minutes later: the sheet restyled to black with green mono text to match my Terminal
Seven minutes later, matched to my Terminal.

It stays one office on purpose, so I passed on a trophy shelf and office upgrades. A queue that started agents for me while I was away was pulled the same day I built it, after Claude Code's safety checks blocked it from launching them.

2%
33%
Time with 2+ agents working
3
6
Most sessions open at once
197
Replies sent from my phone

I run more agents at once now

I compared my Claude Code logs from the 30 days before with my first three and a half days of Agent HQ. Since I started logging replies on October 16, 197 have come from my phone.

It hasn't made me answer faster. The typical wait per session went from 46 seconds to 74, since there are more of them. It's also too early to call a trend, and most of those days were long build days.