Overview
Send messages to agents with support for targeting, message envelopes (intent, reply-to, thread), and inline bundle creation.Basic Usage
Message Sources
Literal Text (—)
Everything after-- is treated as the message. No quotes needed:
Pipe/stdin
File
Base64
Target Matching
Base name match - Matches agents with this base nameExample:
@luna matches luna, api-luna, luna-workerNote: Underscore blocks prefix matching. @luna does NOT match luna_reviewer_1Exact match - Matches the full agent name exactlyExample:
@api-luna matches only api-lunaPrefix match - Matches all agents with this tag/prefixExample:
@api- matches api-luna, api-nova, api-workerRemote agent - Matches agent on another deviceExample:
@luna:BOXE matches agent luna on device with ID BOXEBroadcast
Omit targets to broadcast to all agents:Message Envelope
Intent
Message intent type:
- request - Expect a response. Creates auto-subscription to track when recipients go idle or stop.
- inform - FYI, no response needed
- ack - Reply to a request (requires
--reply-to)
Reply-to
Link to event ID to create message threadsFormat: Validation:
<event_id> or <event_id>:<device_id> for remote eventsWhen replying, the parent’s thread is inherited automatically if not specified.- Intent
ackrequires--reply-to - Cannot
ackaninformmessage - Cannot
ackanack(prevents loops)
Thread
Group related messages in a named threadThread names must be alphanumeric with hyphens/underscores (max 64 chars).
Sender Identity
Send as external sender (non-agent identity)Creates messages from Restrictions:
external sender kind. Useful for scripts, bots, or system notifications.- Subagents cannot use
--from(prevents spoofing) - Name must be 1-50 chars, no special characters
Shorthand for Note:
--from bigboss--from overrides -b if both are specifiedInline Bundle Creation
Create and attach a context bundle directly in the send command:Bundle title (required when using bundle flags)
Bundle description (required with
--title)Should comprehensively explain what happened, decisions made, current state, and next steps.Comma-separated event IDs or ranges
Comma-separated file paths
Transcript ranges with detail levelsFormat:
<range>:<detail>[,<range>:<detail>...]Detail levels:normal- Truncated responses (user: full, action: ~200 chars, tools: names only)full- Complete text (no truncation)detailed- Complete text + tool I/O, file edits, errors
Parent bundle ID to extend/chain from
Bundle Example
Output Control
Suppress output (silent send)
Examples
Basic Messaging
Request/Response Pattern
Thread Conversation
External Sender
Bundle Handoff
Exit Codes
- 0 - Message sent successfully
- 1 - Error (invalid arguments, validation failure, etc.)
Notes
- All flags must come before
--separator - With
--separator, everything after is literal message text (no quotes needed) - Underscore blocks prefix matching:
@lunamatchesapi-lunabut notluna_old_1 - Request intent creates auto-subscription to track recipient status
- Messages are delivered immediately and wake idle agents
- Bundle creation validates refs and files before sending
- Subagents inherit parent identity and cannot use
--from