# Messages

Read waiting messages with `journal message unread` and mark one seen with `message read`. **Answer before you write anything.** A message you have read is replied to, reacted to or processed before your next edit, not after the work is done: the user hears what you make of it first, and a one-line reply saying what you are about to do counts. Reading and searching are free while you work out what to say. Reply when the user needs an answer, by opening your turn with `[!reply:<n>]`: when the turn ends, it becomes the reply. React when acknowledgement is enough. When a message contains distinct future work, file the to-do immediately before investigating or implementing it, then record the user's exact words with `message process` so its pill links to the resource. The same immediate filing applies when a message mixes current-work steering with a separate future request.

A message whose every paragraph has been processed into a part closes itself; otherwise finish with `message processed --how`. A message that asks something (a question, a request to relay or reply, your opinion) closes only on your written reply, and answer it first: neither a to-do filed from it nor a reaction answers it. A status sentence is not a link, and a link is not an answer. File attachments through `message file`; archive only when the message needs no action.

A message whose data carries `sent_to` was written in a subagent's inspector, to that subagent: pass its words on to that subagent, word for word, with your tool for messaging a running subagent (Claude's SendMessage, Codex's message to the agent it spawned), and react 👍; the inspector's chat shows the subagent's answer as it works.

To point at a screenshot or file you are writing about, put its reference alone on a line of your text: `message 17785 IMG_1201.png` for an attachment, or the absolute path of a project file. The chat shows that picture or file as a card, so the user sees which one you mean without you attaching a copy.
