Bring a long conversation in as a worker

An agent you have been talking to for an hour already knows the code. Make it another agent's worker as it is, give it work, and let it go afterwards.

Goal. A Claude Code or Codex session has been reading the auth module with you and knows the decisions behind it. Instead of a fresh worker that starts from nothing, the coordinator takes that session on as its worker. Nothing is restarted, so the conversation stays.

You need

  • st 0.3.70 or later, with st hooks install done.
  • Both agents in panes of sessions st shares. They can be in different sessions, or on another machine of the account (see Workers on other machines).

1. Find the session's id

In the pane of the session that is to become the worker:

echo $TMUX_PANE      # %15

st ls and the desktop app's agent graph show it too.

2. Adopt it

Ask the agent that is to direct it:

Adopt %15 as your worker and give it the auth tests. It already knows that module.

It runs:

st worker adopt %15

Or do it yourself:

  • From a shell in the parent's pane, st worker adopt %15; from anywhere in a shared session, st worker adopt %15 --parent %12.
  • Desktop app (0.1.21 or later). In the agent graph, drag the worker's card onto the parent's card. It says "Make <worker> a worker of <parent>".
  • Sidebar (desktop app 0.1.31 or later, web terminal st 0.3.85 or later). Drag the worker's window row onto the parent's row.

st tells both agents in one line each: the parent gets the worker's id and the commands to give it work, the worker learns whose worker it is and to report with st worker done. From a terminal, st first asks why the agent is brought in (or take --role "<why>"), and once the adopted agent's turn ends it asks it for a short brief of what it has done, which st worker read then shows (st 0.3.93 or later). If the worker is on a question or permission screen, it is adopted but not told; the result says so, and you can tell it yourself once the screen is gone.

3. Give it work

An adopted worker has no task file. Its work comes by message, and it needs no background it already has:

st worker send %15 "Add tests for the token refresh. Done when go test ./internal/auth passes."
st worker wait %15
st worker read %15

A wait after a send waits for a new turn to start and finish, even if the worker still carries the done mark from earlier work.

4. See it

A thick green line joins the two cards in the agent graph. In the sidebar the coordinator's row gets a coordinator badge, and its workers fold under a head line such as Workers · 1 working.

The web terminal: the coordinator's window with its report, the Agents card at the top right listing lead and its workers, and the sidebar's card with the coordinator and its workers
A coordinator and its workers in the Agents card and the sidebar

5. Let it go

st worker release %15

Or Release on the worker's card in the agent graph, or the row's menu in the sidebar. The session goes back to being your conversation. st worker stop does not close an adopted worker: it was yours first.

  • Both must be agents. Adopting itself, an agent already below it, going more than two levels below the coordinator within a run, or putting more than four agents above the worker across a chain of teams is refused (st 0.3.88 or later). An agent with workers of its own comes in as a team; see A team as a worker.
  • An agent on another machine that already works for someone else must be released first, and --owns is for workers on this machine.

More: Workers.