The queue: type while your agent works

Queue prompts for Claude Code, Codex and other agents while they work: repeat one, attach files, reorder, or Steer one into the running turn.

Queue and Steer
Contents

In Shuriken you queue prompts for Claude Code, Codex and the other agents by typing while they work and pressing Enter. The message waits in a strip on the composer until the turn ends, and by default until the turn's background work (a build, a test run) is done too. Steer sends it into the running turn instead. A row can repeat and carry files, and ⌘Z brings back one you removed.

Why a queue#

The next step usually occurs to us while the agent is still on this one: "then update the docs", "run the e2e suite after", "the API key is in .env.local". Interrupting throws the current turn away, and a sticky note gets forgotten, so we never lock the composer while an agent runs. Shuriken 1.0 (4 October 2026) made the queue one strip on the composer, and 3.0 (12 October) took the time estimates off its rows.

What a queued message can do#

A running agent turn at the top. Below it, three one-line queued messages. The first is plain and its Steer button sends an arrow up into the running turn. The second is set to repeat three times. The third carries two attachments. Each row has its own Steer button. Running turn QUEUE · 3 Steer ×3Steer 2Steer Steer: into the running turn Repeats 3 times 2 attachments Plain message

A queued message goes when the running turn ends, in order. With the queue setting "Wait for background work" on (it starts on), it also waits until the chat's background work, like a build or a test run, is done, and the row reads "Waiting for background work" with what it's waiting on.

Repeat sends a message again each time a turn ends.

  • Pick Queue and repeat in the composer, or Repeat on a row.
  • Choose 2 to 99 times, or Until stopped. At 5, the editor reads "Its message is sent 5 times, one turn after another."
  • Until stopped ends after 200 sends ("Stops by itself after 200 sends"), because every send is a turn on one of your plans.

The row counts as it goes ("Sent ×3"), and when a repeat ends early it says why:

  • Repeat stopped: the turn failed
  • Repeat stopped: the turn was stopped
  • Repeat stopped: the chat was archived
  • Repeat stopped: you sent another message (unless you ticked "Keep going when I send a message")

Screenshots and files ride along with the message, and the row shows how many.

Since Shuriken 5.1, each queued message is one line: the start of the text, its repeat count and its attachment count at a glance, and a Steer button right on the row.

Steer a queued prompt into the running turn#

Steer adds a message to the turn the agent is already working on. Nothing restarts. If nothing is running, Steer simply sends it.

A message can meet a busy agent three ways, and the composer calls them Queue message, Send and steer, and Force stop and send.

The message What to do
Same task, new information: "That file is generated. Edit the template instead." Steer
The next task: "Then write the migration." Let it wait
The agent is on the wrong task Stop and send: the turn ends, your message goes fresh

Steering needs an agent that takes a message mid-turn. Claude Code, Codex, OpenCode and Pi do. With other agents, the message waits for the turn to end.

If you steer more than you queue, Settings › Default send sets what Enter does while an agent runs: Queue, Steer, or Force stop and send. Command/Ctrl+Enter does the other thing.

Edit, reorder, remove, undo#

Until it goes, a row is a draft you can edit in place. Open a second row mid-edit and Shuriken stops you with "You are in the middle of editing": Save changes or Discard changes. Drag the grip, or press ⌥↑ and ⌥↓ (Alt on Windows and Linux), to change the order. A removed row comes back with ⌘Z (Ctrl+Z on Windows and Linux).

Shared on every device#

Each chat's queue is a list in queue/queue.json, under Shuriken's folder on the computer that runs the chat; the file is readable only by your user, because it holds prompt text. Queue three things from your laptop, add a fourth from your phone in the web app, and all four sit in that file in order.

When the queue waits on its own#

With the background service on, the agent works through the queue after you close the window. A message that can't go yet doesn't fail. Its row says why:

  • No internet. "Waiting for the network: this device has no internet. This goes once it is back", or "this device's Wi-Fi wants a sign-in (captive portal)". The computer checks again every 20 seconds, and the message goes the moment it's back online, however long the outage lasts.
  • Disk nearly full. Below 2 GB free, a new turn waits rather than dying half-way through an install or a build: "Free some space and the queue goes on by itself".
  • Memory or battery. Settings › Advanced › Queue has Hold below free memory (Off, 2, 4, 8, 16 or 32 GB) and Hold below battery (Off, 10, 20, 30 or 50%, only while unplugged). Both start Off. A held row reads like "Waiting: battery at 18%, below 20%".
  • An overloaded API. A 529 is retried once on the same account, then moves to another of your sources if you have one, at most twice, with waits that start at 5 seconds and double up to 5 minutes.

Permission prompts and usage limits through the night are in running Claude Code overnight.

With parallel agents, every chat has its own queue, so five chats can each have their next three steps lined up.

Claude Code queues too#

Fair note: Claude Code in a terminal lets you type while it works as well. It queues your message and passes it to Claude once the current tool calls finish, within the same turn. You can take queued messages back, or send them right away with Ctrl+Enter (Claude Code docs, read 22 October 2026).

That queue lives in one terminal session and one turn. Shuriken's lives on the computer and outlasts the window. It waits for the next turn instead of the next tool call, and takes the same rows from Codex, Gemini CLI or any of the 67 coding agents it runs.

The queue is on every plan, Free included. Download Shuriken and say the next thing now.

Sources

  1. Claude Code docs: Interactive mode, Queue messages while Claude works (accessed 22 October 2026)

Frequently asked questions

What is the difference between Steer and the queue?

A queued message waits for the running turn to end. Steer sends it into the turn that is running now, so the agent takes it into account and carries on. Same task, new information: Steer. Next task: let it wait.

How does repeat work?

Set a queued message to run once, a number of times, or until stopped. It is sent again each time a turn ends. A failed or stopped turn ends the repeat, and so does your next message unless you ask it to keep going.

Can I queue messages from my phone?

Yes. The queue is the same on every device, so a message queued from your phone in the web app joins the same list as the ones from your computer.

Which agents can be steered?

Claude Code, Codex, OpenCode and Pi accept a message in the middle of a turn. With other agents, queued messages wait for the turn to end.

Is the queue on the Free plan?

Yes. The queue, repeat and Steer are part of every plan.

Try Shuriken on your own computer

Add your Claude, Codex and Gemini accounts once. Shuriken switches between them so your agents keep working.

Download on the App StoreGet it on Google PlayComing soon