Guide
Move a task to another machine or agent, mid-way
To carry a coding-agent task over to another computer, the new place needs the branch, the uncommitted changes and what happened so far. In wisp, the Runs on button next to the follow-up box moves all three with your next message: the work travels as a git bundle into a worktree on the same branch, and the agent there gets the earlier turns. The same follow-up can switch from Claude Code to Codex.
Free and open source · Claude Code, Codex, Cursor CLI, opencode, Antigravity CLI, Grok Build · macOS, Linux, Windows (beta) · Node 20+
When you’d move a task
- The laptop has to go. The battery is low, or you’re about to close it. Move the task to a desktop or a VM and it keeps working.
- The job got bigger. The full test suite, a Docker build or a GPU needs a bigger box than the one it started on.
- The agent is stuck or out of quota. Claude Code hit its usage limit or keeps going in circles. Hand the next step to Codex, or the other way round.
- A second opinion. Have another model review or finish what the first one started, in the same branch.
Doing it by hand
Git can carry the work. The agent’s conversation can’t: it stays in the first CLI’s session files on the first computer.
# on the laptop: commit what's there, bundle the branch, copy it over
git add -A && git commit -m "wip: stripe v2"
git bundle create /tmp/work.bundle origin/main..HEAD
scp /tmp/work.bundle devbox:/tmp/
# on the dev box: a worktree on the same branch
cd ~/code/app && git fetch /tmp/work.bundle HEAD:stripe-v2
git worktree add ../app-stripe stripe-v2
cd ../app-stripe && codex # starts with no idea what happened so far
Then you explain the task again: what was asked, what the first agent did, what’s left. And the WIP commit is now part of your branch.
With wisp: one follow-up
- Connect the other computer once, under Machines. It needs SSH with a key, Node.js 20+ and the agent CLIs, signed in. See agents on multiple machines.
- Click the Runs on button (the laptop icon next to the follow-up box) and pick the machine. To switch agents too, use the harness button beside it and pick Codex, opencode or another model.
- Type the follow-up and press Enter. A running task has to stop or finish first.
Then wisp:
- packs the task’s branch and its uncommitted and untracked changes into a git bundle (your own checkout and index are left alone);
- carries it to the other computer, which reuses its checkout of the project or clones the repo’s
origin; - unpacks it into a worktree there, on the same branch, with the uncommitted changes still uncommitted;
- starts the agent on your follow-up, with the earlier turns written out ahead of it: each request, the report it got and the files that were edited;
- archives the old card with a Continues on devbox link. The new card shows From MacBook and tags each earlier turn with where it ran.
Rerun has the same picker, for starting the task over somewhere else instead.
Switch agent without moving
The harness button in the follow-up box works on its own too. What the next agent knows depends on what you switch:
| You switch | Conversation | What it’s told |
|---|---|---|
| Model or thinking level | Same conversation, resumed | Nothing extra: it was there |
| Harness (Claude Code → Codex) | Codex starts its own, in the same folder | Every turn it didn’t see, newest first, up to about 24k characters |
| Back to the first harness | Its own session, resumed | Only what happened while it was away |
| Computer | A new session on that computer | Every earlier turn, tagged with where it ran |
Each turn’s badge shows the harness that ran it, so the card reads as one story across agents and computers.
From the CLI and API
# switch agent and model on the next follow-up
wisp reply <id> "finish the other call sites" --agent codex
# move the task too: machine is a machine's id, "" for this computer
curl -X POST localhost:4477/api/sessions/<id>/reply \
-H 'content-type: application/json' \
-d '{"text":"finish the other call sites","machine":"devbox","agent":"codex"}'
The MCP tool wisp_reply takes agent, model and effort as well. See integrations.
Questions
- Can I move a task while the agent is running?
- No. Stop it or let it finish first, so there is a settled state to pack. Then send the follow-up with another computer picked.
- Does the agent on the other computer remember the conversation?
- Its CLI starts a new session there, since the old one stays on the first computer. wisp writes the earlier turns into the follow-up: each request, the report and the files edited, newest first. The code itself is already in the worktree.
- What if the other machine doesn’t have the project?
- wisp reuses a clone of the same repo if it finds one there, or clones the project’s origin first. A repo without a remote can’t be cloned this way; add its folder on that machine instead.
- Can I move it back?
- Yes. Use the same button on the new card and pick this computer. The work and history come back the same way.
Related guides
- Run coding agents on multiple machinesYour desktop, a dev box, a cloud VM: one prompt, several machines, one queue.
- Claude Code vs Codex, on your own repoRun the same task on both and compare tests, time, cost and the diff.
- Run coding agents in the backgroundHeadless runs that can still ask you, notify you, and report back in one screen.