> ## Documentation Index
> Fetch the complete documentation index at: https://docs.traycer.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Message queue

> Queue, reorder, edit, and steer follow-up messages while an agent runs.

export const FeatureVideo = ({src, label}) => {
  const videoRef = React.useRef(null);
  React.useEffect(() => {
    const video = videoRef.current;
    if (!video || typeof IntersectionObserver === "undefined") {
      return undefined;
    }
    const reduceMotion = typeof window !== "undefined" && typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
    if (reduceMotion) {
      return undefined;
    }
    let pausingOffScreen = false;
    let pausedByReader = false;
    const onPause = () => {
      if (pausingOffScreen) {
        pausingOffScreen = false;
        return;
      }
      pausedByReader = true;
    };
    const onPlay = () => {
      pausedByReader = false;
    };
    video.addEventListener("pause", onPause);
    video.addEventListener("play", onPlay);
    const observer = new IntersectionObserver(entries => {
      for (const entry of entries) {
        if (entry.isIntersecting) {
          if (!pausedByReader) {
            video.play().catch(() => {});
          }
        } else if (!video.paused) {
          pausingOffScreen = true;
          video.pause();
        }
      }
    }, {
      threshold: 0.25
    });
    observer.observe(video);
    return () => {
      observer.disconnect();
      video.removeEventListener("pause", onPause);
      video.removeEventListener("play", onPlay);
    };
  }, []);
  return <video ref={videoRef} className="w-full aspect-video rounded-xl" controls loop muted playsInline preload="metadata" aria-label={label}>
      <source src={src} type="video/mp4" />
      Unable to load video.
    </video>;
};

<FeatureVideo src="https://assets.traycer.ai/docs/videos/message-queue.mp4" label="Queue, reorder, edit, steer, delete, and pause follow-ups" />

While an agent is running on the Chat interface, press **Enter** to queue a follow-up. Queued messages appear in the **Message Queue** above the composer. When the current turn ends, the next message is sent automatically unless the queue is paused.

## Manage Queued Messages

* **Reorder:** drag a row by its grip.
* **Edit:** click the pencil on a row. The message loads into the composer with an **Editing** pill; press **Enter** to save it back to the same place in the queue, or click **Cancel** to leave it unchanged. On a row marked **Can steer**, the pencil is **Move queued message to composer** instead: it removes the row from the queue and puts its text in the composer.
* **Delete:** click the trash icon to remove a message from the queue.
* **Pause and resume:** **Pause** holds the queue, and **Resume** continues sending. After you click **Resume**, **Keep paused** lets you change your mind until the queue starts again.

Messages that other agents send to this agent can also appear in the queue. These messages start as one-line previews. Click the message text, or focus it and press **Enter** or **Space**, to expand or collapse it. You can reorder them, but not edit or steer them; they show **Will steer** when they are going into the running turn.

## Steer The Current Turn

Steering sends a message into the turn that is already running, instead of waiting for it to end.

* Type in the composer and press **⌘Enter / Ctrl+Enter**. The message jumps the queue and goes into the running turn. Plain **Enter** still queues it.
* Or click the steer button on a queued row to send that message now.

Turn the shortcut on or off with **Steer with ⌘+Enter** (**Steer with Ctrl+Enter** on Windows and Linux) in [General settings](/settings/general), under **Chat & composer**. It is on by default.

| Row label | Meaning |
| - | - |
| **Sending to host** | The message has been sent, but the host has not confirmed it yet. |
| **Delivery not confirmed** | The host has not acknowledged the message after a wait. This does not mean it failed. |
| **Queued for next turn** | The host has confirmed the message is queued for the next turn. |
| **Can steer** | The message is set to go into the running turn. |
| **Waiting for provider** | The message waits for the turn's next safe point. **Cancel steer** returns it to the queue. |
| **Restart pending** | The turn will end and restart with this message. |
| **Steering** | The message is going into the turn now. |
| **After turn** | This coding agent can't take a message mid-turn, so it is sent when the turn ends. The reason shows under the row. |
| **Paused** | The message is held until you resume the queue. |
| **Paused after an error** | The last turn failed, so the queue is holding this message. Resume the queue to send it; retrying or switching the failed turn doesn't send it. See [Usage limits and model routing](/agents-and-models/usage-limits-and-routing#when-a-turn-fails). |

If **Delivery not confirmed** appears beside the composer, click **Check delivery** to check with the host. This does not send the message again. While the chat is reconnecting to the host, sending is paused.

### Coding Agents That Can't Steer

Cursor, Droid, Kimi, Kilo Code, Amp, Devin, Antigravity, and Command Code can't take a message in the middle of a turn. With these agents, the steer shortcut queues the message as **After turn**. The row's steer button still works, but it ends the current turn and restarts it with your message, so the row shows **Restart pending**.

### Steering After Changing Settings

If you change the model, thinking effort, fast mode, or provider profile while a turn is running and then steer, Traycer asks **End the current turn to send with new settings?**, because the running turn can't switch to them. **End turn & send** ends the turn and sends your message with the new settings. **Cancel** keeps the message queued and the turn running.

Messages you queue with plain **Enter** use the settings you picked when their turn starts.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.