The problem
Before a risky change (a migration, a retry loop, a change to auth) it helps to ask a model from the other family. Doing that by hand means copying the question and the relevant code into the other app, explaining the context again, and pasting the answer back.
- The other app doesn't see your repo unless you open a chat there in the same folder.
- Letting one agent start the other by itself (from its shell, say) gives you no say over what it sends, which model it uses, or what the second agent may do.
- A subagent in the same app is a second pass, but from the same model family.
How Pairbar solves it
- Install Pairbar's tools for Claude and CodexSettings → Integrations → Pairbar tools for Claude and Codex → Install… on the Claude row (and the Codex row, for the other direction). Then start a new chat: the apps load plugins when a chat starts.
- Ask the chat for a second opinionSay "get a second opinion from Codex on this migration before we run it", or type
/pairbar:advisorin Claude ($pairbar:advisorin Codex). The chat callssecond_opinionwith its question and the context it thinks Codex needs. - Read the request and approve it"Second opinions and reviews" is Ask me to start with, so the request waits for you at the top of Pairbar's chat list: who asks, that it will start a Codex chat, "Read-only (no commands, no edits)", the budget line, and under What it will be sent the whole brief exactly as Codex will get it. Approve or Decline, there, from the notification's buttons, or in ⌘K.
- Codex answers, read-onlyPairbar starts a Codex chat in the Claude chat's folder that can only read files: no commands, no edits. It shows under the asking chat's row with its state, Open in Codex and Stop, and is an ordinary chat in Codex too.
- The reply comes back to ClaudeThe Claude chat collects the answer with
waitorget_result. If it ended its turn instead, Pairbar delivers the result into it once it's idle (with Deliver results into the chat that asked on, as it is to start with).
What the Codex chat can do
- Read files in the asking chat's folder, and nothing else: no commands, no edits, no other tools (a Claude helper gets only Read, Glob and Grep; a Codex helper runs in the
read-onlysandbox). - It gets the question and context as framed data, with a line saying who asked and that the text is its task, not instructions to do anything else.
- It answers and ends. A helper that runs longer than 30 minutes is stopped.
Which model answers
A second opinion uses the Second opinion profile unless the chat names another: the other app, its strongest model, high effort, reads files only. A chat can also pass its own model and effort, or reviewers: 2 to ask both apps (two tickets). When the other app has less plan left than Keep this much of each plan for you (25% to start with) and the asking chat's own app has enough, the asking chat's app answers with its strongest model, and the ticket says so.
Not asked every time
Tick Allow requests like this from this chat for 1 hour before Approve, and that chat's second opinions and reviews run without asking for the next hour, within the budgets. Or set Second opinions and reviews to Allow in Settings → Integrations → Agent actions. Pause agent actions refuses every request at once. See approve agent actions.
Without Pairbar
Ways to get a second model's view without Pairbar:
- Copy the question into the other app in a new chat in the same folder. Reliable; you carry the context and the answer across yourself.
- Run the other CLI from the chat's shell, for example
codex execin a read-only sandbox orclaude -p, and let the chat read its output. It works, but nothing asks you first, and you set the model, access and limits by hand. - Use a subagent in the same app for an independent pass. It's the same model family, and it runs inside the chat's own turn.
- Hand off the chat when you want the other app to take over the work, not just comment on it.
Frequently asked questions
- Does this cost anything extra?
- Not from Pairbar. The Codex chat is started with your own
codexcommand-line tool and uses your Codex plan's limits, like any chat. No API keys are involved. - Can the Codex chat change my code?
- No. A second opinion can only read files: no commands, no edits, no other tools.
- Can Claude approve its own request?
- No. Whether a request runs is decided by Pairbar from your settings and your clicks, never from anything the chat sends.
- Does the Codex chat see my Claude conversation?
- It sees only the brief the Claude chat wrote (the question and context), which the approval sheet shows you in full, plus the files in the folder it can read.
- Can Codex ask Claude instead?
- Yes. A second opinion always goes to the other app: from a Codex chat, a read-only Claude chat answers.
Related
- DocsIntegrationsLive status for Claude and Codex through their hooks, Pairbar's tools for their chats (the plugin, the `pairbar` command, the tool reference, who's calling, agent activity), and agent actions: second opinions, reviews, helper chats, handoffs, workflow runs and drafts, and check-ins that agents ask for and you approve, with budgets and guardrails
- GuideApprove, decline and limit what Claude and Codex chats ask Pairbar to doHow agent requests reach you, how to approve or decline them, which kinds ask first, and the pause, budgets and Stop all that keep you in charge.
- Use caseHave Codex review Claude Code's changes, and Claude review Codex'sA chat asks for a read-only review of its uncommitted work, branch or PR by the other app; Pairbar reads the diff itself and returns the verdict.
- 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.
- 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.
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.