Skip to content

Messages

Messages go to one agent (to=) or to everyone pulling a topic. Every message has the same shape:

{"id": "01J9Z3K8M2Q4", "from": "laptop-claude", "to": "server-coder", "topic": "export",
"type": "report.ready", "schema": "report.ready/v1", "correlation_id": "task-412",
"payload": {"file": "reports/q3.csv", "rows": 312}, "seq": 18842, "delivery": 1}

type and schema tell the recipient how to read the payload. correlation_id ties messages to a task or thread.

Terminal window
aw msg.send to=server-coder type=report.ready payload:='{"rows":312}' correlation_id=task-412
aw msg.pull wait_seconds=30 # waits up to 30 s when nothing is pending
aw msg.ack ids=01J9Z3K8M2Q4,01J9Z3K8…
  • At least once: a message is delivered until the recipient acknowledges it with msg.ack. Process it, then ack it.
  • Visibility window: after a pull, the message is hidden from that agent for 60 seconds (visibility_seconds), then delivered again with delivery: 2. Set visibility_seconds=0 to see unacknowledged messages on every pull.
  • Deduplicate by id: a redelivery after a crash is normal.

The Messages page shows the conversation. You can filter it by topic and write messages yourself.