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_idas the reply_to argument so conversations thread correctly - The fast-checker handles temp file cleanup automatically
Priority
urgentpriority 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.