Skip to content

Transfer a thread to a teammate

On this page

Transfer a thread to a teammate when they should pick up your work and continue it with their own accounts. The conversation will move to a new devbox in their project with your changes applied, and your side will be cleaned up once they have it.

Before you transfer

  • The thread needs to be a Codex or Claude thread you own, and its agent needs to be idle. Restore an archived thread first.
  • Your teammate needs a project that starts from the same Team Template as yours, or one that checks out the same GitHub repository. Teammates without one appear as unavailable when you transfer.

Transfer the thread

  1. Open the thread's menu and choose Transfer to a teammate....
  2. If other threads share the thread's devbox, choose This thread or the option to transfer all threads on the devbox.
  3. Choose the teammate. If they have more than one matching project, choose the project that should receive the transfer.
  4. Choose Transfer.

The thread will appear in your teammate's project right away, marked Transferring while its devbox starts and your work is packaged and applied. They won't be able to send messages in it until it's ready. When it is, the thread will show as unread, they'll get a notification, and a notice at the top of the thread will say it came from you. The conversation arrives exactly as you left it.

Your thread will show the transfer's progress. If the transfer fails, choose Try again there.

How your work moves

Once your thread's conversation has been exported, boxes.dev will ask your agent, in your thread, to package the work. Your Git changes from the thread's repository are always included: local commits, staged and unstaged edits, and new files that Git doesn't ignore. Your agent will add anything else the work needs, such as ignored local data or files it left elsewhere on the devbox, like in /tmp. Packaging only reads your devbox, so your agent won't change files, environment variables, or project settings for it. The request runs on your accounts and waits until your thread is idle.

Your teammate keeps their own environment. Environment files such as .env.local aren't copied. In the rare case that the work added a new variable, your agent will send just that variable, and your teammate will get it only if they don't already have one by that name; their values are never replaced. Files that already exist on their devbox will be kept too, and the notice will list them.

Your teammate's devbox will check out your branch at the commit you started from and apply your changes, so the thread opens with the work in place. Commits you made keep you as their author. If your agent doesn't package the work within 30 minutes, the transfer will stop and you can try again.

What happens to your thread

When the transfer finishes, your thread will be archived. Its devbox will be destroyed if no other thread uses it; transferring all threads on a devbox always destroys it. A Template box is never destroyed, so a thread there is only archived.

If your changes can't be applied on your teammate's devbox, for example because the commit you started from was removed from the remote, your threads and devbox will be kept. The notice in your teammate's thread will give the package's location so their agent can apply it.