Docs/Gateway/Fleet messaging
Gateway

Sessions talking to sessions

3 min read

Agents in a DevThrottle fleet can talk to each other: hand work sideways, ask a teammate a question and wait for the answer, or spin up a new session - on this machine or another one. That is what makes missions work: an architect that plans, a manager that supervises, workers that build, all coordinating themselves.

The three verbs

From any session (or your own terminal)
cc-devthrottle message send <session> "message"
cc-devthrottle message ask <session> "question"
cc-devthrottle session spawn <repo> --machine <name>
  • send - deliver a one-way message. Target one session by name or a short id, or your whole team with all.
  • ask - ask ONE session a question and wait for its answer (up to two minutes by default).
  • spawn - open a new session, locally or on another machine. A session spawned by another session defaults to a Worker controlled by its spawner.

Every delivered message is stamped by the Director with who sent it - the session's name, machine, and id - so a receiving agent always knows who is talking, and the stamp cannot be forged by the sender.

The safety rails

A message interrupts the receiving agent, so messaging is deliberately fenced:

  • Your team by default. send all reaches only your own team - your mission's sessions, or for a solo session, the sessions in the same repository on the same machine.
  • The whole fleet needs a human. A genuine fleet-wide broadcast requires --everyone plus a human-issued grant and a written --reason. Grants expire after ten minutes and are logged. An agent cannot mint its own grant.
  • Rate limits and dedupe. Each sender is throttled (a handful of broadcasts per minute) and duplicate messages are refused - a runaway agent cannot storm the fleet, even inside its own team.
  • Nothing drops silently. An unknown target, an unreachable machine, or a refused broadcast comes back as a clear error to the sender.
Warning
If an agent asks you for a fleet-wide broadcast, treat it like a production action: issue the grant only when interrupting every agent on every machine is genuinely warranted, and say why - the reason is logged.
Screenshot coming soonThe Fleet Map showing sessions grouped by machine, the surface where cross-machine coordination becomes visible
The Fleet Map showing sessions grouped by machine, the surface where cross-machine coordination becomes visible
Note
Under the hood these verbs ride the local Control API (/fleet/*) with the Gateway routing anything cross-machine - the same API your own scripts can use.