Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

The Queue

The queue lines up a message to run when the current run finishes, instead of interrupting it.
commit everything with a descriptive message. queue
Kimaki uses the native OpenCode queue (the session inbox). Kimaki keeps no queue of its own. The queue lives in OpenCode, so it survives a Kimaki restart.

Why queue instead of just sending

A normal message during a run interrupts it at once. The queue is the opposite: it waits for the run to complete, then sends.
Use it for follow-ups that only make sense after the work is done:
  • "Review what you just did": queue a review request for a second pass.
  • "Commit at the end": queue a commit instruction so it runs when the feature is finished.
  • Hand off: queue a message that asks another agent to check the work.

Queueing a message

There are two ways to queue, with the same result:
/queue message:<text> ──▶ explicit command message... . queue ──▶ suffix shortcut
  • /queue message:<text>: queues the text.
  • queue suffix: end any message with punctuation plus queue. Supported forms are . queue, ! queue, ? queue, , queue, a trailing queue., or queue on its own last line.
The suffix is removed before the prompt reaches the agent, so fix the test. queue is sent as fix the test. Attachments on the message are queued with it.
If the session is busy, the message waits and Kimaki replies with its position:
-# Queued at position 1. Delete the original message to remove it, or use /clear-queue position:1
If the session is idle and nothing else waits, the message runs at once, like a normal message.
The queue only exists in a session thread. In a project channel, a queued message starts a new session.

When a queued message is sent

When the run finishes, OpenCode starts the next queued message. Kimaki changes the position reply to Queued message sent and shows the message in the thread:
» Tommy: commit everything with a descriptive message

Editing a queued message

Edit the Discord message while it still waits, and Kimaki replaces the queued prompt with the new text. The edited message goes to the end of the queue and gets a new position reply.

Removing a queued message

  • Delete the original Discord message. Kimaki changes the position reply to Removed from queue.
  • Run /clear-queue position:N to remove one item. Position 1 is the next one to run.
  • Run /clear-queue with no position to remove all queued messages.
/abort stops the current run and also clears the queue.

Queueing a command

You can queue an OpenCode command, not only text:
/queue-command command:review arguments:the auth module
The command option autocompletes the project's commands. When it is sent, the thread shows » Tommy: /review the auth module. Typing /review the auth module. queue as a message does the same.
Shell commands (!cmd) cannot be queued. See Shell Commands.

From the CLI

kimaki send --thread <thread-id> --prompt 'run the full test suite. queue' kimaki session queue list --session <session-id> kimaki session queue clear --session <session-id>
kimaki session queue add and kimaki session queue remove also exist. Inside a session shell --session is optional.