Skip to main content
Send Mo a follow-up instruction, answer a question it asked, or redirect a session that is testing the wrong thing. If Mo is working, it reads your message between tool calls while continuing its active turn. If Mo is idle, your message starts its next turn.

Arguments

string
required
The session to message. --session-id <session-id> also works.
string
required
The message to deliver.

Options

string
Answer this open question card. Without it, the message answers the oldest open card. Get card ids from pendingQuestions in qa read --json.
string
Wait for Mo’s response for up to this long, then print the new output the same way qa read does. Accepts 0 or a value such as 30s, 2m, or 500ms, up to 290s. Without --wait, the command returns as soon as the message is delivered.

Output

Without --wait, the command prints the same JSON object as qa read --json: sessionId, status, completed, timedOut, messages, and pendingInput and pendingQuestions when question cards remain open. With --wait, it prints Mo’s new messages as plain text on stdout and the same stderr status lines as qa read, such as Mo is still working. or the list of open questions.

Examples

Answer a question Mo asked, then wait for it to continue:
Answer a specific question card when Mo has several open:

Notes

  • A message to an archived session fails. Run qa unarchive first.
  • The CLI retries delivery once when the response is lost, so a message can still arrive even when the command reports a network error. Check with qa read before sending it again.