tt send
Send a message to an agent.
Synopsis
tt send <TO> <MESSAGE> [OPTIONS]
Description
Sends a semantic message to an agent’s inbox. The agent will receive it on their next inbox check.
Message semantics:
- Default (no semantic flag): Task-style/actionable message
--query: Question that expects a response or decision--info: Informational update (context only)--ack: Confirmation/receipt message
With --urgent: Message goes to priority inbox, processed before regular messages!
Use this for:
- Agent-to-agent communication
- Conductor instructions
- Custom coordination
- Urgent: Interrupt agents with priority messages
Arguments
| Argument | Description |
|---|---|
<TO> | Target agent name |
<MESSAGE> | Message content |
Options
| Option | Description |
|---|---|
--query | Mark message as a query (query semantic type) |
--info | Mark message as informational (info semantic type) |
--ack | Mark message as confirmation (ack semantic type) |
--urgent | Send as urgent (processed first at start of next round) |
Examples
Send a Regular Message
tt send backend "The API spec is ready in docs/api.md"
Output:
📤 Sent task message to 'backend'
Send a Query
tt send backend --query "Can you take auth token refresh next?"
Send Informational Context
tt send reviewer --info "CI is green on commit a1b2c3d"
Send a Confirmation
tt send conductor --ack "Received. I'll start after current task."
Send an URGENT Message
tt send backend --urgent "STOP! Security vulnerability found. Do not merge."
Output:
🚨 Sent URGENT task message to 'backend'
The agent will see this at the start of their next round, before processing regular inbox.
Coordination Between Agents
# Developer finishes, notifies reviewer
tt send reviewer "Implementation complete. Please review src/auth.rs"
# Critical bug found - urgent interrupt
tt send developer --urgent "Critical: SQL injection in login. Fix immediately."
How It Works
Regular Messages
- Goes to
tt:<town>:inbox:<id>(Redis list) - Processed in order with other messages
- Agent sees it when they check inbox
- Semantic type is attached as
task,query,info, orack
Urgent Messages
- Goes to
tt:<town>:urgent:<id>(separate priority queue) - Agent checks urgent queue FIRST at start of each round
- Urgent messages injected into agent’s prompt with 🚨 marker
- Processed before regular inbox
- Keeps its semantic type (
task,query,info, orack)
See Also
- tt inbox — Check agent’s inbox
- tt assign — Assign tasks (more structured)
- Coordination