Skip to content

Supervisor control

A supervisor is one of your agents given the ability to run the others. It can see who is in the fleet, hand out work and collect the results, add or retire agents, read what an agent is saying as it says it, and stop a run that has gone wrong.

This is different from Hermes, which is the built-in orchestrator you talk to in plain language. A supervisor is one of your own coding agents, working through precise tools rather than phrasing.

Settings → Agents → Supervisor control lists the agent windows that can be granted. Click Grant control next to one.

Nothing is listening until you do — the connection only starts once an agent has been granted, so an install with no supervisor opens no port at all.

A grant rides the agent’s launch flags, so it applies from that window’s next message. The window restarts its session to pick it up; you don’t have to do anything.

It can Using
See every agent, with brand, model, project and whether it’s busy agent_list, agent_status
See how much headless capacity is in use fleet_capacity
Drop a message into a window and let you read the reply agent_send
Give an agent a task and collect its output agent_run, then run_wait / run_result
Add an agent — headless, or a real window agent_spawn
Remove one agent_retire, then confirm_result
Read the last lines an agent has said agent_tail
Stop a run, or stop everything running agent_interrupt, fleet_stop_all

Work is handed out the same way you would hand it out yourself, so a supervisor can task an open window or a headless worker, and the agent it picks doesn’t have to be the same brand it is.

Giving an agent a task doesn’t block: a real agent turn can run for many minutes, so the supervisor gets a run id straight away and collects the result when it’s ready. That’s why you may see it check back a few times.

  • Removing an agent asks you first. Retiring an agent, or stopping the whole fleet, raises a confirmation card naming what’s about to happen. Nothing happens until you answer it, and a card left unanswered eventually counts as no. You have ten minutes — long enough to finish what you were doing and come back.
  • The supervisor doesn’t sit and wait for you. It’s told the card has been raised and gets on with something else, then checks back for your answer. So a card you take a while over won’t stall it, and — this is the part that matters — it can never be told the retire failed and then have it happen anyway once you click. What it reports and what actually happened always agree.
  • Stopping one agent is never gated. Rescuing a run that has gone wrong is the main reason to have a supervisor, and needing permission first would defeat it.
  • Everything is logged. Every call the supervisor makes appears in the Audit Log as it happens.
  • Only your machine can reach it. The connection is bound to this computer, and every call must carry a secret that only granted agents are given. Rotate token in Settings invalidates every existing grant.
  • It can’t quietly build an army. There’s a limit on how many agents one supervisor can have created and still have running; retiring one frees room.

If you’re watching and want fewer interruptions, Let the supervisor retire agents without asking turns the confirmation off for the rest of the session. It resets to off when you restart the app.

  • A headless worker can’t be interrupted. It has no window, and its run only ends when it finishes or hits its time limit. The supervisor is told this rather than being allowed to think it stopped something.
  • A minimized window has no live transcript. agent_tail reads what a window is currently saying, and a minimized window isn’t drawing anything — restore it to watch it work.

If Streaming Mode is on, anything that looks like a secret is masked in what the supervisor reads, exactly as it is on your screen.

Revoke in the same Settings section. It takes effect on that agent’s next message, the same way granting does.

Frequently asked questions

Which agents can be a supervisor?

Claude Code windows only. It is the one CLI here that accepts an MCP configuration per launch — Codex and OpenCode read configuration files instead, so a grant cannot reach them.

Can a supervisor grant control to agents it creates?

No. The tools reach an agent through its launch flags, and only agents you granted in Settings get them. An agent the supervisor spawns is an ordinary agent and cannot supervise anything.