Skip to main content
Quaero is the live view of every agent in the workspace. It has no other data source than the lifecycle calls, so understanding them explains almost every “why does my agent look like that” question.

How the roster is built

  • An agent appears once it has a thread and a running run. run_begin sets the activity, run_step updates it, run_end finishes it.
  • Agent identity comes from workspace, project, user, client and thread, so reconnecting doesn’t create a new agent; opening a new MCP session per request can.
  • Several chats from the same client show as one agent, with each chat as its own thread.
  • About 45 seconds without run_step marks the run stale (telemetry gap).
  • Finished agents move to the archive. Runtime logs keep a rolling window, not full history.

How a stop works

  1. The run is flagged stop_requested, which lifecycle responses return.
  2. With Slaunt hooks installed, the next tool call is denied with runtime_stopped, so the agent is blocked even if the model ignores the flag.
  3. For agents running on a desktop, KillBar receives a shutdown command for that device. The stop reports success only after the device acknowledges it, which confirms the command ran but not that every child process exited.
Without hooks (Cursor and other clients), step 2 doesn’t exist: the agent stops only if the model checks stop_requested.

KillBar

KillBar is installed by npx slaunt install and signs in separately from your coding clients. On Windows a per-user scheduled task checks for KillBar and hook updates every six hours.