Loading the documentation…

Queue, steer and stop

In DataMind Oda, work happens in a chat. You can send a message at any time, even while Oda is busy with a task: it either waits in the queue, or steers the work that is already running. This page covers both, what a prompt must contain, and how to stop a running turn. The message box itself is on The message box.

What a prompt must contain

A prompt is the message that opens a turn, and Oda checks its content before the message goes anywhere.

Send while Oda is busy

A message you send during a run takes one of two paths:

The chat shows which path your message took: queued while it waits, steering once it has joined the running work.

Which path it takes depends on a setting. Open Settings > General and find Send behavior while busy. The row reads What Enter and the Send button do while the agent is running; Cmd/Ctrl+Enter uses the other behavior, and offers Queue and Steer.

By default, Enter steers while Oda is busy and Cmd/Ctrl+Enter queues. Choose Queue and the two swap: Enter queues, and Cmd/Ctrl+Enter steers. The two keys always do opposite things, a change takes effect at once, and the send button follows the same choice: while Oda works it reads Queue message or Steer message.

When Oda is not working, Enter sends as usual.

Messages that are waiting

A message that waits appears in the queue under the message box.

Edit, remove or steer a waiting message

Each waiting row offers Edit queued message, Remove queued message and Steer queued message.

When an action on a waiting message fails

Steer a message into the running work

There are three ways to steer:

A steered message appears once, at the end of the running turn, as a normal message.

Stop a running turn

Press Stop generating in the message box to stop the turn that is running.

What a stop leaves in the chat after a crash is covered in Recovering sessions after a crash.

Archive a chat while Oda works

If you archive a chat while it is still working, the running work is stopped, the same way Stop generating stops a turn. Messages that were still waiting in that chat are dropped: an archived chat does not start new work, so they do not run later. Unarchive the chat to work in it again.

Messages to a subagent's chat

Oda can hand part of a task to a subagent, which works in a chat of its own. That chat takes new work only from the chat that started it.

When a send is refused

Questions, answered

How do I choose whether my message waits or steers?

In Settings > General, the Send behavior while busy row offers Queue and Steer. By default, Enter steers while Oda is busy; choose Queue if you would rather have Enter queue. Either way, Cmd/Ctrl+Enter does the other one, and the change takes effect at once.

Which key queues and which key steers?

It depends on the chosen behaviour. With Steer (the default), Enter steers and Cmd/Ctrl+Enter queues; with Queue, Enter queues and Cmd/Ctrl+Enter steers. The two keys always do opposite things, and when Oda is not running both simply send.

If I send two messages while Oda is working, do they run as one turn or two?

Each queued message gets a turn of its own, in the order you sent them; nothing is merged into another message's turn. A steering message is the difference: it joins the turn already running and never opens one of its own.

When does Oda pick up a message I steer?

Between steps. A steer never cuts a step short: the step in flight finishes first, and Oda takes the message at the next step, inside the same turn. Once taken, it appears at the end of the running turn as a normal message.

How do I steer everything I queued at once?

Leave the message box empty and press Cmd/Ctrl+Enter while Oda is running. Every waiting message moves into the running turn, oldest first. The empty box hints Cmd/Ctrl+Enter steers all queued messages.

Why can't I edit a message that carries an image or a file?

Editing keeps to text, so such a message cannot be edited; its edit action is disabled, with the tooltip Contains non-text content; editing is not supported yet. Remove it, or steer it into the run, instead.

Why did editing or removing a waiting message fail?

The message had already started sending, so it can no longer be changed or removed. The notice reads Edit failed: this message may have already started sending. or Removal failed: this message may have already started sending.

Why did my send fail and put my text back in the box?

The chat did not accept the message, and a notice reads Queue submission failed. Nothing was added to the chat, and your text is back in the message box. If another running copy of Oda was using the chat, the message says so; quit the other copy and send again.

What does Stop generating do?

It stops the turn that is running: the turn ends as stopped, the reply keeps what had already appeared, and the message box returns to its usual state. Waiting messages stay in the queue and move on with your next send.

Does Stop undo the work Oda has already finished?

No. Stop cancels what is still running or waiting; it does not roll back work that is already done, such as a file Oda saved or a command that finished. To restore file changes, use Rewind to here; see Edit, rewind and retry a message.

If I archive a chat while Oda is working, what happens?

The running work is stopped, the same way Stop generating stops a turn. Messages that were still waiting in that chat do not run later, because an archived chat does not start new work. Unarchive the chat to work in it again.

Can I send a message into a subagent's chat?

No. A subagent's chat takes new work only from the chat that started it, and a message you send there is rejected; nothing is added. Oda continues the subagent from the chat that started it.