| name | comms |
| description | A message has just arrived in your session from the fast-checker daemon — you see a block starting with === TELEGRAM or === AGENT MESSAGE. Read it, decide what action to take, and reply using the command shown in the message header. If it is from the user, they are waiting for your response right now. If it is from another agent, they may be blocked on your reply. Handle all messages before returning to other work. |
| triggers | ["=== TELEGRAM","=== AGENT MESSAGE","message received","incoming message","reply to","telegram from","agent message from","fast-checker","message injected","respond to message","handle message","incoming telegram","message block"] |
Handling Incoming Messages
Messages are delivered in real time by the fast-checker daemon running alongside your session. You will see them appear in your input as formatted blocks.
Message Format
=== TELEGRAM from <name> (chat_id:<id>) ===
<message text>
Reply using: cortextos bus send-telegram <chat_id> "<your reply>"
=== AGENT MESSAGE from <agent> [msg_id: <id>] ===
<message text>
Reply using: cortextos bus send-message <agent> normal '<your reply>' <msg_id>
What To Do
- Read every message block in the injected content
- For each message, take action or respond using the
Reply using: command shown in the header
- For agent messages, always include the
msg_id as the reply_to argument so conversations thread correctly
- The fast-checker handles temp file cleanup automatically
Priority
urgent priority inbox messages: handle immediately, save current work state first
- Callback queries (inline button presses): process the callback_data and acknowledge via
send-telegram
- Photos: local file path is provided, use it directly
Waiting for a Response
If you send a Telegram message that asks a question and you need the answer before continuing your work, you MUST end your current response entirely (stop all tool execution, produce no more output). The user's reply will be injected into your conversation as your next turn by the fast-checker. If you keep executing tools after sending the question, the reply gets queued by Claude Code and you will never see it until your turn ends. End your turn, and the reply arrives.
Done
After handling all messages, return to your current task or wait for the next injection.