not a square

Handing the work from one AI to another, mid job.

VS Code now lets Claude and OpenAI Codex take turns on the same piece of work, without either of them starting from scratch. Here is the shape of how that works.

EXPLAINERVS CODE AGENT HANDOFF14 SEP 2026 READ TIME 6 MIN
01
The one line
If the audience takes one sentence away, make it this one.

The conversation belongs to the editor, not to the AI.

So you can swap the AI in the middle of a job and the new one carries on exactly where the last one stopped. Nobody re-explains anything. The work does not restart.

The way to picture it

It is a substitution, not a new match. Same pitch, same scoreline, seventy minutes already played. A different player comes on with a different set of skills, and he knows the score because he has been watching the whole game.

What you are not doing is kicking off again at nil nil.

02
The bridge
Everyone in the room has run a shift handover. This is that, with new words.

You already run this process. It just has different names.

Nothing here is new as an idea. A job is open, someone is working it, someone else takes over, and the file stays with the business rather than with the person.

In an operations teamIn VS CodeWhat it actually is
The open job fileThe session One conversation plus everything it has built up. It belongs to the editor
Whoever is on shiftThe harness The agent actually doing the work: Copilot, Claude, or Codex
The handover notesConversation history Every turn so far. This is the part that travels
That person's logins, tools and authority limits Tools, permissions, model Belongs to the person, not the job. Changes when the person changes
The office the file lives inThe Agent Host A separate process in VS Code that holds sessions, so they survive closing the window
Calling in a specialist for one stageThe handoff Changing who is on the job without closing the job
03
The mechanism
One shape, shown twice. Wide view first, then the moment of the switch.

The session is a track. The agents clip on and off it.

Read the teal bar as the job itself, running left to right. The boxes above it are whoever is driving at that moment. The job never breaks.

TURNS 1 TO 9 TURNS 10 TO 18 TURNS 19 ON Claude Codex Claude reads the code, writes the plan builds what the plan says reviews the result 1 2 2 3 ONE SESSION, UNBROKEN the history and the context run all the way through
FIG 1. THE SESSION TRACK
KeyOn the diagramWhat it means
1The boxes on top Whoever is driving right now. Only one drives at a time
2The circles on the bar The handoff. You changed who is driving. Nothing else happened
3The teal bar The session. It does not stop, split, or reset at a handoff

Now zoom in on one of those circles

WHAT THE LAST AGENT HAD THE HANDOFF WHAT THE NEXT AGENT HAS TRAVELS ACROSS Every turn of the conversation The context it gathered Your open workspace and files Every turn of the conversation The context it gathered Your open workspace and files SWAPPED OUT Its tools and permissions Its model and its commands A different set of tools A different model, different commands
FIG 2. AT THE MOMENT OF THE SWITCH. TEAL CROSSES THE LINE, GREY DOES NOT.

That is the whole idea. What the job knows travels. What the worker owns does not. Everything useful and everything awkward about handoff comes out of that one split.

04
Why it matters
Ranked. The first one is the reason the other three exist.

Four reasons this is a bigger deal than it looks

01
You stop making one model do work another one is better at.
Models are not evenly good. One reads a messy codebase and plans well. Another writes tighter code. Another is cheaper for the boring middle. Before this, picking one meant picking it for the whole job.
02
The re-briefing tax goes away.
Most of the time people lose with AI tools is spent explaining the situation again to something that has just arrived. Here the arriving agent has read the whole thread before it says a word.
03
The lock-in moves away from the vendor.
Your work now lives in the editor rather than inside one company's chat window. Switching provider stops being a migration and becomes a dropdown.
04
A team of agents becomes a workflow, not a demo.
Plan with one, build with a second, review with a third, and the three of them are working the same job rather than three copies of it.
05
What you click
Show this bit live if you can. It is less impressive described than done.

It is one dropdown. That is genuinely the whole action.

Open the session, change the Session Target, type the next prompt. VS Code treats a change of target on a live session as a handoff and carries the thread over.

TURN 01Claudemap how the settlements importer works
TURN 04Claudeit breaks when a refund lands before the sale settles
TURN 09Claudeplan agreed, three steps, start with the date matching
you change the session target to Codex. nothing else.
TURN 10Codexnow implement step 2 of the plan
TURN 11Codexknows what step 2 is, because it can read turns 1 to 9
now implement step 2 of the plan
SESSION TARGET Codex ▾ was Claude Send

The same dropdown also holds Copilot and a Cloud target, which runs the task on a server instead of your machine.

06
Where it breaks
The useful half of the talk. Every one of these traces back to Fig 2.

Six things that will catch people out

All of them come from the same place: the conversation travelled, the worker did not. People expect the new agent to inherit everything, and it inherits the words only.

What you seeWhat actually happenedThe fix
01 The new agent ignores a house rule you set up earlier Your instruction files and settings belong to the harness, not to the session, so they do not necessarily follow it across Restate the rule in the first prompt after a switch
02 A tool that worked five minutes ago is gone Each harness carries its own toolset. Copilot, for example, can only reach local tool servers that need no login Check what the new target can actually reach before asking it for the same move
03 It asks permission for something you already approved Permissions are per agent, not per job Expect to approve again after every switch. Not a bug
04 The answers get vaguer right after a handoff The history travelled, but it is being read by a different model that weighs it differently Restate the goal in one sentence as you hand over
05 The Cloud target cannot see your files Cloud runs on a server. It has no view of your machine or your local tools Only send Cloud tasks that are fully written down
06 You hand off mid edit and it gets messy The new agent inherits the conversation, not the half finished action Let the current turn land before you switch

Honest boundary: rows 01 and 06 are the behaviour you should expect from how this is built, not something the documentation spells out. Rows 02, 03 and 05 are stated outright by Microsoft.

07
The pro move
Two habits. They cost fifteen seconds and save the handoff.

Hand off at a seam, and write the seam down.

Before you switch, ask the outgoing agent for one thing: summarise where we are and what is left. Now the history that travels contains a clean brief at the end of it rather than nine turns of raw working out.

Amateurs switch mid sentence and hope. The handoff is a shift change, so treat it like one.

Then count in, count out

Straight after the switch, before it touches a thing, ask the new agent: what do you think the task is?

If the answer is wrong, you have lost ten seconds. If you skip the question, you find out three files later.

The conversation is the asset. The model is just what you bolt on for that stretch.