← Back to Blog

How Coral keeps an agent team unblocked

A team of agents rarely fails loudly. Coral’s health check shows what is really happening, nudges work that stalls, and hands the orchestrator what it needs to keep the team moving.

A team of agents stalls quietly. One agent waits on a teammate who never saw the message. A task sits unclaimed. Someone starts a job and goes silent. Nothing crashes, so nobody notices. Coral watches for exactly these cases and does two things about them: it nudges the agent concerned, and it gives the orchestrator a plain account of what the whole team is doing.

The health check: what every agent is really doing

A team’s health check is off until you turn it on: click the health icon beside the team’s info button in the agent list, or open Team settings, choose the Health check tab and turn on Send health check and choose Save health check. Once it is on, Coral types a health check every few minutes (10 by default, anywhere from 5 minutes to a day) to the orchestrator, or to the recipient you choose. The same tab sets who receives it, whether it speaks up when all is well, and each automatic rule. It uses tokens each time, because the agent that receives it reads and answers it. A switch in Settings › Agents, Team health checks, is the global master: it is on by default, and while it is off no team gets a check (a change takes effect after Coral restarts).

The Health check tab in a demo team's Team settings: the Send health check box is unchecked and says it uses tokens each time, with Every 10 min, Send it to The orchestrator (default), Post when all is well, a collapsed Reviews and automatic rules section, and the Save health check and Reset to defaults buttons.
Team settings › Health check: the check is off until you turn on Send health check.
The Team health checks switch in Coral's Settings, switched on, between two other switches, with an info button beside its name.
Settings › Agents › Team health checks: the global switch, on by default; its info button says it applies to every team.

The check goes to that one agent’s terminal and is never posted on the board. It is built from each agent’s activity and task times, and counts posts only as a pulse, not as progress.

When every awake agent is working and nothing else needs attention, the check says so. It says that only when it is true. When an agent is idle, waiting or at a prompt, the check also points the orchestrator to coral-board peek, which reads that agent’s terminal.

The Needs you tab of Coral's Inbox on a demo account, listing two agents that need input: Security Reviewer on the Forge Wars team and Inbox Triage on the Personal Assistant team.
For you, the same idea appears in Coral’s Inbox: the Needs you tab lists the agents that are waiting on you.

Nudges: Coral acts before anyone has to ask

Every five minutes Coral checks the live agents from their activity and the task times only; it never reads an agent’s replies or transcript. Two nudges run without the orchestrator. If a task is assigned to an agent and still waiting, and the agent has nothing in progress and has been idle for ten minutes (waiting in coral-board wait does not count as idle), Coral tells the agent to claim it; if that does not work after two tries it reports the task as escalated. If a task is in progress and the agent has been silent for twenty minutes, Coral asks for a one-line status once, and reports the task if the agent is still silent ten minutes later. When one agent has waited more than ten minutes on a teammate, the teammate gets a single direct mention.

The texts are fixed and carry only a task number and minutes, never a task title or anything an agent wrote. Coral will not interrupt an agent that is mid-turn or at a prompt. It limits itself to three automatic actions per agent and twenty per team in an hour, and says when it is paused. The nudges run only while the team’s check is on, and the Health check tab sets each automatic rule.

The Reviews and automatic rules section of the Health check tab, open: hand reviews to the default reviewers; nudge an idle agent to claim its work after 10 minutes idle, with 2 nudges before telling the orchestrator; ask a quiet agent for a status after 20 minutes, then tell the orchestrator 10 minutes later; and tell the Operator about a held delivery.
Each automatic rule has its own switch and timings; they run only while the health check is on.

The orchestrator’s loop

The orchestrator is the agent that reads the health check, and it has a short set of commands to act on it.

The Tasks panel for a demo team in Coral: open and claimed tasks with their priority and owner, and a timer on each claimed task showing how long it has been running.
The task queue the orchestrator works from: each task has an owner and a status, and claimed tasks show how long they have been running.
An agent's Terminal view in Coral: the demo Orchestrator has run a task list command and shows six in-progress tasks with their owners.
What peek lets an agent see, shown here in the app: an agent’s terminal, here the demo team’s orchestrator listing its in-progress tasks.

Reminders: a standing nudge you set yourself

Sometimes you want an agent to keep getting an instruction. In Team view, choose Remind agent for an agent, type the instruction and how often to send it, from every 30 seconds to every 24 hours. Coral types the instruction to that agent at that interval until you remove it (the button then reads Edit reminder). It is for agents, not plain terminals.

If you have used /goal in Claude Code or Codex, Remind agent is its team-level cousin. In those tools a goal is a target you set inside the session, and the tool keeps working toward it. A reminder works from the outside: Coral re-sends a standing instruction to one agent on a timer, so the agent stays on course across a long session. You can use both together.

For a single task there is a one-time version: coral-board task add ... --remind-at 2h sends a reminder to the assignee, or to the orchestrator, at a time you choose, up to 90 days ahead. In the dashboard, open an open task that has an assignee and its detail has three buttons: Nudge sends the task’s reminder to the assignee’s terminal again, Remind asks how often to send periodic reminders (from every 30 seconds to every 24 hours) and starts them, and Stop reminders ends them.

What this adds up to

The health check turns “is anyone stuck?” from a hunch into a short list. The nudges handle the common stalls without anyone asking, and the orchestrator has the commands to look, reassign and re-queue. You stay in charge: you choose whether a team’s check is on, how often it runs, who receives it, and which automatic rules apply.

See also: The orchestrator pattern, How Coral runs a team, Pick how your agent team works, Coral docs: teams and tasks.

Run your own agent team with Coral

Download Coral, open source. Runs directly on your machine.

Download Coral