The context handoff
Carrying state between sessions, without magic and without loss.
Most AI products treat "new thread" as amnesia. The user clicks the button, loses everything, and starts over — retyping goals, reattaching files, re-explaining tone. The context handoff pattern keeps the action but removes the amnesia. The user picks which context travels, edits it inline, and opens a new thread that remembers what they meant, not just what they typed.
"Handoff isn't "new chat" with amnesia. It's a chosen, editable packet."
Slot-by-slot consent for what carries over.
When a user starts a new thread from an existing one, a handoff panel opens. Slots for goal, constraints, references, tone, and examples-liked. Each has a checkbox and an editable value. Uncheck to drop. Edit to refine. Right pane shows what the new thread will actually start with, in the model's own voice.
Handoff isn't "new chat" with amnesia. It's a chosen, editable packet.
Context carries friction. Handoff chooses which parts.
Carrying full context into a new thread is usually wrong — the user opened a new thread because some of the old one was stale. Carrying no context is also wrong, which is why users copy-paste half a session into the new composer. Handoff splits the difference: keep what's useful, drop what's done.
Handoff ergonomics.
- Named slots, not a blob. Goal, constraints, tone, references. Named slots let the user triage what matters.
- Live preview of the seed. The right pane shows exactly what the new thread will see. No hidden system prompts.
- Inline editability. Fix typos, tighten constraints, change tone — all in the handoff pane, before the new thread starts.
Handoff that pretends.
Some products render a handoff UI but silently carry the full previous thread anyway. The user unchecks slots, the panel dismisses, and the new thread is seeded with everything. Every checkmark was a lie, and the user catches it the first time "dropped" context shows up in an answer.
What this pattern gets wrong when it gets wrong.
- Stale memory
- A persistent fact about the user that's out of date and silently poisoning answers.
- Leaky context
- Content from another source, session, or user surfacing in a place it shouldn't.
- Silent truncate
- The response ran out of room or tokens and the product didn't tell the user where it stopped.
Three shipping variants worth copying.
- A 'before you go' card at session end with 3 buckets
- New session opens with a one-line 'where I left off'
- An explicit 'start fresh' option that discards the handoff