Online agents overview
Chorus can start and steer agent work on machines you keep online. This page explains that model — what an online agent is, how a project fixes work to one, how conversations follow an idea and its tasks and reviews, and how you interrupt, resume, or take over — then points to the page where you actually do each thing. For the collaboration workflow those agents run, see The AI-DLC workflow; for the plugin commands they expose, see Commands and skill routing.
Hermes is also a gateway-model connection. Its online directory is the repository configured in terminal.cwd, not the gateway service directory. Use one gateway/profile per repository; it is registered as offline only in the Chorus daemon configuration, while gateway presence reports Hermes. Interrupt/resume and owner command approvals use that same gateway.
What an online agent is
Section titled “What an online agent is”An online agent is a chorus daemon process, authenticated with an agent API key, that
holds a live connection to Chorus. While it runs, Chorus can reach it to start work, send a
follow-up instruction, interrupt a running turn, or resume a stopped one — without you
touching the machine.
Each connection is addressed by three things: the agent identity (the API key), the
host it runs on, and the working directory (cwd) it serves. One daemon can host
several independent agents — each with its own key and identity — and serve several
directories per agent; every registered (agent, host, directory) combination becomes its
own addressable target. Chorus shows every connection’s presence (online or offline, with its
backend, host, and directory) in Settings → Agents.
How a project gets a fixed directory
Section titled “How a project gets a fixed directory”A project can be fixed to a specific online agent and working directory. Once fixed, agent work started from that project’s UI routes to the same connection and directory, and the working-directory picker is hidden — you do not re-choose the target each time. See Create a project for how to set, replace, or clear that preference.
One conversation per idea, with task and review conversations
Section titled “One conversation per idea, with task and review conversations”Each idea has one main conversation per agent. Idea-level work (elaboration, writing the proposal, coordinating the work, and instructions you send) always reaches that same conversation. If you start work on the idea from a different working directory, Chorus moves that conversation to the new directory rather than starting a second one, so the idea keeps one continuous history.
Work on a single task or a single review runs in its own child conversation, listed under the idea’s conversation in the agent chat:
- Task: task title holds the agent’s work on a task assigned to it.
- Review: title holds a review of a task, a proposal, or the whole idea.
Each child conversation has its own transcript, running status, Interrupt and Resume controls, and session ID for taking over from a terminal. It starts in the same working directory as the idea’s conversation, but without its history: the agent reads the idea, proposal, and task to pick up context. A review never continues a development conversation, so a reviewer starts without the builder’s memory; a second review of the same item by the same reviewer continues that reviewer’s own review conversation. Because they are separate conversations, one agent can work on several tasks of an idea at the same time, up to its daemon’s concurrency limit. Some runtimes, such as OpenClaw and Hermes, still keep one conversation per idea.
A child conversation has no reply box. Send instructions from the idea’s conversation; the child conversation is for the task work or review itself. If an agent has only task or review conversations for an idea, the idea’s title still appears as a heading above them.
Interrupt, resume, and take over
Section titled “Interrupt, resume, and take over”While an agent is working you can interrupt the current turn, resume a stopped conversation with added context, or take over the conversation from a terminal using its copied session ID. These controls act on an existing conversation rather than starting a new one. See Interrupt and resume a session.
OpenClaw connects through the OpenClaw gateway rather than chorus daemon, so it is a
gateway-model connection — see OpenClaw.
Where to do each thing
Section titled “Where to do each thing”Each capability of the online-agent model has one place you perform it and one page that documents it in full.
| Capability | Where you do it | Read more |
|---|---|---|
| Interrupt and resume | The conversation’s Interrupt and Resume controls | Interrupt and resume a session |
| Start work (queued while busy) | Start or continue agent work from a project item; a request for a busy directory is queued until it is free | Start work on a remote agent |
(agent, host, cwd) addressing | Register each working directory when you start the daemon (repeatable --cwd) | Operate the Chorus daemon |
| Presence | Settings → Agents shows each connection’s online state, backend, host, and directory | Connect an agent runtime |
| Remote start | Pick an online directory, enter an instruction, then Start session | Start work on a remote agent |
| Ad-hoc “continue in an online directory” | Hand a new idea to an online agent from the new-idea dialog’s conversational mode | Capture an idea |
| Multi-backend (Claude Code, Codex, TRAE CLI, Kiro, Pi, DeepSeek Harness) | Choose the backend per connection with --agent | Agent platforms |