Skip to content

Start and continue a thread

On this page

A thread is a Codex or Claude Code conversation running on a cloud machine, where the agent can edit files, run your app, and test changes. The same thread is available on desktop, mobile, and the CLI, so you can read replies and continue the conversation from any of them.

Start a thread

By default, a new thread gets its own devbox: a separate cloud machine prepared from your project's saved environment. The agent edits and tests its own copy of your codebase there, using that machine's own files, services, and ports.

  1. Open your project in the desktop app and choose New devbox + thread in the thread list.
  2. Choose Codex or Claude. If the draft asks you to set up that agent, connect it first.
  3. In a project with several repositories, choose the starting working directory. An existing thread will keep the directory it started in.
  4. Describe the task, add any attachments, and send your first message. Say what outcome you want, where the agent should look, and how to check the result; see Give useful instructions.

In a project with a Template box, new devboxes use its latest saved snapshot. If your Template box has newer changes the task needs, take a new snapshot before creating the devbox. If no snapshot exists yet, boxes.dev may offer to take the first one. Team Template member projects have no personal Template box; their new devboxes use the team's current saved version.

You can also start a thread on a machine that already exists. To ask another agent about files already on a devbox, choose New thread on that devbox's row; both threads will share its files and running services.

A devbox with more than one thread appears in the thread list as a group titled after its first thread. To give the devbox its own name, choose Rename devbox from the group's menu on desktop or mobile, or press r on the group in dvb agents. The name will stay on the group even if you archive all but one of its threads, and teammates who can see those threads will see it too. Clear the name to go back to the first thread's title.

For environment changes that future devboxes should inherit, use New thread on the Template box, then save a snapshot after the changes.

When the agent finishes, review the changes and checks it reports, then reply in the same thread to ask a question, request a correction, or continue the task with the conversation so far.

Add files and images

On desktop, use the attachment menu, drag files into the reply box, or paste an image. Where file search is available, you can also reference project files. Desktop files can be up to 1 GiB each, with up to 2 GiB of active uploads per user. Image limits depend on the selected agent.

On mobile, use the attachment menu for photos or files, including ZIP archives. Files can be up to 50 MiB each, with up to 100 MiB of files on one message.

Send a follow-up while the agent works

Choose Queue for another task that can wait until the current response finishes, or Steer for a correction relevant to the work underway. For example, if the agent is fixing a validation bug, you might queue “Add a test for that case afterward” or steer with “Use the existing validation helper in the account module.”

Waiting messages can be edited or removed through their queue controls. Messages sent during startup or reconnection will also appear in this queue.

Codex

A Steer message joins the response Codex is working on now. Queue messages wait until that response finishes, then run in order. While Codex is working, you can attach files or images to a steer but not to a Queue follow-up.

To bring queued work forward, choose Steer now. It will interrupt the current response and start the oldest waiting message next. The remaining messages will stay queued in order.

Claude

Claude will read a Steer message at its next opportunity without interrupting a running tool. A steer sent during the final response may get a separate response afterward. Once Claude accepts a steer, you can't edit or delete it through the queue controls. Both Queue and Steer support attachments. On desktop, Edit all queued prompts will return your waiting Queue messages to the reply box as one editable draft.

In desktop settings, Claude Replies chooses whether Enter uses Queue or Steer while Claude works; Cmd/Ctrl+Enter will use the other action. On mobile, use the Queue/Steer control beside the reply box.

Answer the agent's questions

Codex can ask you questions while it keeps working; they appear in a panel above the reply box, and your existing message draft stays where it is. Choose an option to advance through the questions, or type a custom answer and select Continue or Send. Choosing an option on the last question will submit your answers. Use Skip to leave a question unanswered or Dismiss to minimize the panel, then Answer questions to reopen it. An untouched panel will minimize on its own after 30 seconds. If the response ends before you send edited answers, they will move to the reply box.

Claude questions can allow one or several choices. Use Type something else... for a custom answer, or Chat about this to ask Claude to clarify the question. That action will send any partial answers as context without recording a completed answer. Some single choices will submit immediately; multiple choices and custom answers use Submit.

Stop the current response

Choose Stop to interrupt the agent. In Codex, you can also press Escape. Stopping won't delete the thread or undo files the agent changed. Afterward, inspect the changes or reply in the same thread to continue.

Queued follow-ups stay scheduled when you stop the current response, including messages still waiting for delivery. They run in order when the agent is ready. This applies to Codex and Claude on desktop and mobile.

To cancel messages still waiting for delivery, choose Edit message or Edit messages. Their text and attachments will return to the reply box in order, before any text already there. Messages you send after choosing this action stay scheduled. If returning to draft is interrupted or fails, choose Edit message or Edit messages again to complete it.

Use the agent's queue controls to remove messages it has already accepted. A steer already accepted by Claude cannot be taken back through those controls.

If Stop is unavailable, wait for the current operation to finish. If the whole machine is stuck, see Sleep, wake, and recover.

Leave a draft or wait for startup

You don't have to send a new thread's first message right away. On desktop and mobile, you can leave a draft and come back to its text or attachments. A pinned draft or one with a devbox already assigned will also stay in the list; an untouched empty draft will be discarded when you leave it. For terminal drafts and their image attachments, see Use the CLI.

For a new devbox, boxes.dev can begin preparing the machine while you type. The terminal, files, ports, and other machine controls may stay hidden until the thread has a specific devbox. You can send more messages during preparation or reconnection; they will wait in order for the agent to become ready.

On desktop, sending to an existing thread on a sleeping machine will wake it and put the message in the same queue. Keep the app open until attachments finish uploading and the message reaches boxes.dev. After that, delivery will continue even if you close the app. Messages still saved only on your computer will resume when you reopen their thread.

Use Edit message or Edit messages to return waiting messages to the reply box, including during uploads. If you quit before an upload finishes, you may need to attach those files again; boxes.dev will name any attachments it couldn't restore. On mobile, you can return to the thread list after tapping Send and reopen the thread to check its progress.

Recover from a failed start or message

If startup fails before the agent accepts your first prompt, boxes.dev will restore the recoverable prompt and show an error. Send it again when you're ready to retry; switching threads or reloading won't start a retry for you.

If delivery temporarily fails before the agent receives a message, boxes.dev retries it while later messages wait. After three failed attempts, it shows Send failed on the message and Message send failed above the reply box. Choose Retry to try that same message again, or Edit message (or Edit messages, when several are waiting) to edit the waiting messages together. Waiting for startup or reconnection does not use those attempts.

For a failed Claude message, Resend appears only when boxes.dev can confirm that Claude never received it. If delivery is uncertain, read the conversation before sending the same request again. Delete will remove a failed message bubble without deleting saved conversation history.

If a send warning remains after you've reviewed the conversation, choose the × at the top-right of that message in the desktop app (Dismiss send warning). It will hide the unconfirmed message and warning without resending it, cancelling agent work, or deleting saved conversation history. The dismissal will persist after reopening the thread; a later successful send won't dismiss it for you.

If Codex stops with an error after receiving your message, continue with a reply. Retry, when available, will resubmit the original input; it is limited to failures without command, file, or tool side effects. Otherwise, ask Codex to inspect the current files before continuing.

If an MCP sign-in notice appears above the reply box, choose Open MCPs and follow the MCP connection instructions. That sign-in is separate from the agent account.