Forks & follow-ups
One thread ships one pull request — forks and detached agents are how work continues after that.
One thread ships one pull request. That's the rule the whole model hangs off, and it's why threads stay reviewable.
The life of a thread
A thread iterates against its preview, publishes by opening a PR, shepherds that PR to merge, and is done. The PR is a publish action, not a save point — your work is already safe on the thread's own branch, committed turn by turn (git & commits).
Once the PR merges, the thread is finished. New scope raised afterwards isn't that thread's job — it belongs to a fork or a new thread.
Forks: shared history, new lane
A fork is a fresh thread that inherits the whole conversation — the full transcript — on its own branch, with its own PR lane. Start one with Fork into a new thread in the thread header's ⋮ menu; the new thread shows Forked from with a link back. Everything the original thread learned comes with it, so you don't re-explain the problem.
What a fork does not inherit is plan ownership. A fork starts with no anchored plan. It can propose its own plan before it carries code; it cannot attach the original thread's plan.
Reach for a fork when:
- The thread already shipped and you want a code change on top of it.
- You want a different plan than the one the thread owns.
Detached agents: no shared history
A detached agent is a full independent agent with its own chat thread and its own sandbox. By default it branches from the project's default branch; an explicit base branch can make it build on already-pushed work. It does not inherit the spawning thread's conversation or uncommitted edits. Its work is saved on its own branch; a person publishes it with Ship it or by asking it to ship.
Choosing between them
| Inherits | Branches from | Ships | |
|---|---|---|---|
| Fork | The full transcript, not the plan | The thread's branch | Its own PR |
| Detached agent | A self-contained brief, not the transcript | The default branch, or an explicit pushed base branch | Its own PR when a person publishes it |
| Sub-agent | A short brief | Nothing — it shares the lead's sandbox | Nothing; it reports back |
Fork means shared history in a new lane. Detached means no shared history and a fully parallel effort. A sub-agent isn't either — it's help inside one thread.
Follow-ups as handoffs
When you ask for follow-up work or approve a deferral, an agent can file a follow-up brief, not a prewritten plan. With unmerged code, it waits for this thread's PR to merge; otherwise the new thread starts immediately. That thread reads the current code, writes its own plan, and stops at the plan card for you to review and Build. The brief carries the context without assuming the code will stay unchanged.
That's the pattern to keep in mind — a thread that has shipped doesn't grow. It hands off. Scope moves to a fork, a detached agent, or a filed follow-up, each with its own branch and its own review.