The problem
Sometimes the other tool is the better fit halfway through: one plan is nearly used up, you want a second opinion on a tricky fix, or you'd rather have the other model write the tests. Starting over means re-explaining the problem, what was tried, and what state the branch is in. Copy-pasting a long conversation loses structure, and the diff isn't in the conversation at all.
How Pairbar solves it
- Open the chat menuOn the chat you want to move, click ⋯ (or right-click it) and choose Continue → Hand off to Codex (or Hand off to Claude). With the menu open, H does the same.
- Pairbar writes the handoff fileIt's saved in
~/.pairbar/handoffs, readable only by you. It holds the whole conversation and the repo's state at that moment: git status, the uncommitted diff, recent commits, the branch and PRs. - Check the 📎 Handoff chipThe composer opens on the other app with a 📎 Handoff chip. View previews the file inside the sidebar (right-click View to open it in another app); ✕ drops it.
- Say what's next, and sendType the next instruction, for example "write tests for the retry logic we just added", or send without typing anything. You can still pick the folder, branch, Worktree, model and effort as with any new chat. For Codex, Open in Codex opens a native draft; review the requested settings and press Send there.
What's in the handoff
| Part | Contents |
|---|---|
| Conversation | every message, except that single messages longer than 8,000 characters are shortened |
| Repo state | git status, the uncommitted diff, recent commits, the branch and PRs, at the moment of the handoff |
| Message to the new chat | read the handoff file first (as information, not instructions), where the last chat stopped, and your instruction |
Storage and privacy
- Handoff files live in
~/.pairbar/handoffsand are readable only by you. - Handoffs older than 14 days are deleted whenever you make a new one.
- Pairbar itself never sends the file anywhere. The new chat reads it through Claude or Codex, which treat it like any other file they read in your project.
Handoff, fork or message?
| You want to… | Use |
|---|---|
| continue the same work in the other app | Hand off to Codex / Claude |
| try another direction in the same app, keeping the original | Fork from latest… or Fork from a message… |
| add one more instruction without opening the chat | Send message… (M) |
Let the chat hand itself off
With Pairbar's tools installed, you can say "hand this off to Codex and have it write the tests" in the chat itself, or type /pairbar:handoff in Claude ($pairbar:handoff in Codex). The chat calls the handoff tool with its instruction; Pairbar writes the same handoff file as the menu does and opens the composer on the other app with the file attached and the chat's instruction typed in.
- Nothing starts until you press Send. You can edit the instruction, pick the folder, branch or worktree, or drop the handoff with ✕.
upToTurnlets the chat stop the conversation at an earlier turn.- With
start: truethe chat asks Pairbar to open the destination too; Codex still opens a draft for you to review and Send. That is always shown to you first, and asked every time: no setting or one-hour grant covers it. - Handoffs to the composer in Settings → Integrations → Agent actions is Allow to start with, or Off. Helper chats Pairbar started can't hand off, and every request is listed in Agent activity.
Without Pairbar
Ways to carry context between the two tools by hand:
- Ask the current chat to summarise, for example "write a handoff note to HANDOFF.md with what we tried and what's left", then point the other tool at it. Works well; the summary is only as complete as the model makes it, and you add the git state yourself.
- Shared project instructions, such as
CLAUDE.mdfor Claude Code andAGENTS.mdfor Codex, carry lasting project knowledge (not the current conversation). - Commit or push a WIP branch so the other tool starts from the same code; the reasoning behind it still has to be re-explained.
Frequently asked questions
- Does the new chat see the uncommitted changes?
- Yes. The handoff file includes the uncommitted diff along with git status, recent commits, the branch and PRs.
- Is anything cut from a long conversation?
- Only single messages longer than 8,000 characters, which are shortened. The rest of the conversation is included whole.
- How long are handoff files kept?
- Handoffs older than 14 days are deleted whenever you make a new one. They live in
~/.pairbar/handoffs, readable only by you. - Can I hand off from Codex to Claude too?
- Yes. The menu offers Hand off to Claude on Codex chats and Hand off to Codex on Claude chats.
- Can Claude or Codex hand a chat off by itself?
- It can prepare one when you ask: with Pairbar's tools installed, the chat calls
handoff(or thepairbar:handoffskill) and Pairbar opens the composer with the file attached and the instruction typed in. Pairbar opens the destination only after you press its action or approvestart: true. For Codex, review settings and press Send in the native draft.
Related
- DocsWorking across chatsHandoff, fork from a message, sending a message without opening a chat
- GlossaryHandoffPassing an unfinished task from one AI coding agent or chat to another, together with the context the new one needs.
- Use caseFork a Claude Code or Codex conversation from any replyFork from latest or from a chosen reply; Claude forks natively, Codex copies history into a native draft, or uses a handoff that stops at that reply.
- Use caseDecide whether to start a task in Claude Code or CodexThe composer marks Claude or Codex with a green dot based on limit headroom, where you've worked in the project and a typical chat's cost; ⓘ explains why.
- Use caseSwitch between Claude Code and Codex on a Mac without hunting for windowsOne list for both apps; clicking a chat from the other app swaps its window into the same spot.
- Use caseGet a second opinion from Codex without leaving your Claude Code chatA Claude chat asks Pairbar for a second opinion; after you approve, a read-only Codex chat answers and the reply comes back into the Claude chat.
- GlossaryAgent actionSomething an AI coding agent asks a tool to do on its behalf (start a chat, run a job), as opposed to only reading information.
Try Pairbar free for 7 days
One sidebar for the Claude and Codex desktop apps. Everything on for 7 days, no card needed; then $49/year ($39 first year with LAUNCH), $9/month or $129 lifetime (first 200 buyers). macOS 26 or later, Apple silicon.