Before you start
- Pairbar installed and running.
- Claude Code (the desktop app's Code tab or the
claudecommand line) and/or Codex (the app or thecodexcommand line). - For Claude: a folder Claude trusts (an untrusted folder loads no plugins).
Steps
- Install the tools for each appSettings → Integrations → Pairbar tools for Claude and Codex → Install… on the Claude row, the Codex row, or both. The confirmation shows the exact commands. Each app is installed on its own.
- Start a new chatThe apps load plugins when a chat starts. In the new chat you have the tools (in Claude they show as
mcp__plugin_pairbar_pairbar__<tool>, and in/mcpasplugin:pairbar:pairbar), the guide skill (/pairbar:guidein Claude,$pairbar:guidein Codex), and in Claude's Bash tool thepairbarcommand. - Allow the tools in Claude (optional)Claude asks once per tool before it runs, like any MCP tool. To stop the questions, add
mcp__plugin_pairbar_pairbar__*to Claude's allowed tools: Settings → Integrations → How it works has the rule with Copy. Pairbar doesn't change Claude's permissions itself. Codex doesn't ask: the plugin approves Pairbar's tools. Allowing a tool in the app only lets the chat ask: whether an action runs is still up to your Agent actions settings and your approval in Pairbar. - Ask a questionTry "what are my other chats in this repo doing?" in Claude or "which skills do I have here?" in Codex. The chat calls
statusfirst, then the tool that fits, and each result has anextline telling it what to do with the answer. - Check Agent activitySettings → Integrations → Agent activity lists every call, newest first: the tool, what it asked, which chat called and how it went. The row in Settings says Installed · last call 12 s ago once a chat has called.
The tools that read
| Tool | Command | What it returns |
|---|---|---|
status | pairbar status | who you are to Pairbar, whether it's locked, how much of each plan is left, and the tools you have. The first call. |
get_context | pairbar context | your project, folder and branch, your task with its PR and checks, the task's other chats, the skills that fit here, the project's agents and workflows |
list_chats | pairbar chats | chats, newest first, filtered by scope, app, project, branch, status, query, limit |
get_chat | pairbar chat <id> | one chat's status, the tool it's running, whether and why it waits for you, its task, PR and running subagents |
list_tasks | pairbar tasks | tasks (chats grouped by branch or worktree) with stage, PR, checks and chats |
list_skills | pairbar skills | the skills an app loads in a folder, how to invoke each, and which fit best |
get_skill | pairbar skill <name> | a skill's instructions (up to 20,000 characters), its files and folder |
list_agents | pairbar agents | your Claude Code agents, this project's first |
list_workflows | pairbar workflows | your workflows: schedule, on or off, folder, the most their steps may do, whether agents may run them, last run |
get_limits | pairbar limits | each app's limit windows: used, left and when they reset |
wait, get_result | pairbar wait, pairbar result | the chat's own tickets and their results |
The tools that ask Pairbar to act
second_opinion, request_review, start_chat, handoff, send_to_chat, stop, notify_user, run_workflow, propose_workflow and schedule_checkin are agent actions. Each gets a ticket, and runs only when its kind is set to Allow, you allowed that chat for an hour, the workflow is marked Agents may run this, or you approve it in Pairbar. Budgets, depth limits, no escalation beyond the chat's own access and Pause agent actions apply to all of them: see Guardrails and budgets and Approve agent actions.
Errors come with a code the chat can act on: not_allowed, not_found, invalid_arguments, rate_limited (with how long to wait), locked or pairbar_not_running, and for actions paused_by_user, turned_off, limited, too_deep or no_escalation.
The pairbar command
The same tools work from a shell, for you and for chats that run commands. Options are the tools' arguments as flags, plus --all for --scope all and --json for JSON output. pairbar --help lists the commands.
pairbar status
pairbar chats --status needs_you
pairbar tasks --section review --json
pairbar skill pairbar:guideInside a Claude chat with the plugin, pairbar is on the Bash tool's path. Elsewhere it's ~/.pairbar/bin/pairbar or /Applications/Pairbar.app/Contents/Helpers/pairbar. It exits with 0 on success, 1 for a tool's error, 64 for a wrong option and 69 when Pairbar isn't running. pairbar mcp is the MCP server itself, which the plugin starts over standard input and output.
What Install writes
- One folder of Pairbar's own,
~/.pairbar/plugins: a small plugin marketplace with one plugin,pairbar, for both apps (manifests, the MCP entries, a shortbin/pairbarscript and the guide skill).~/.pairbar/install-manifest.jsonrecords every file with its hash, and the commands run with their inverses. - Claude (default): one link,
~/.claude/skills/pairbar→ the plugin folder. Claude loads it by itself aspairbar@skills-dir. Noclaudecommand runs and no Claude settings file changes:~/.claude/settings.jsonand~/.claude.jsonstay byte for byte. - Claude, Advanced ("Install that way…" under How it works):
claude plugin marketplace add ~/.pairbar/plugins, thenclaude plugin install pairbar@pairbar --scope user --json, after a backup ofsettings.json. - Codex:
codex plugin marketplace add ~/.pairbar/plugins, thencodex plugin add pairbar@pairbar --json, after a private backup of~/.codex/config.toml. Pairbar never edits Codex's config itself.
Who's calling, and what it can see
Pairbar works out which chat is calling and never takes the chat's word for it. A Claude chat is verified from its own claude process and Claude's record of it. A Codex chat is host-asserted from the thread id Codex adds, checked against that chat's folder and recent activity. Anything else (a terminal, a script) is identified by its folder only.
- A caller sees its own project's chats and tasks, as metadata: title, app, status, folder, branch, PR and checks, the tool running, subagent count.
- Other projects only with Agents can see chats in other projects on (off to start with); otherwise the tools answer "not allowed".
- What a chat is asking you only with Include what the chat is asking on in Settings → Notifications.
- Never a chat's messages, a transcript, a handoff file, your licence, your settings or any config file's contents.
- Secrets that look like keys or tokens are masked as
[redacted], and your home folder shows as~.
Rate limits: a chat may make 60 calls a minute in bursts of up to 20; a caller Pairbar can't tie to a chat, 30; everyone together, 600. Actions have a limit of their own: 10 a minute per caller. Beyond that the call answers rate_limited.
Agent activity
Filter the list by All, Claude, Codex or Other, or to Problems only. Export… saves it as JSON Lines; Clear… empties it after you confirm. It's kept in ~/.config/pairbar/activity.jsonl, readable only by you: calls older than 90 days go, at most 5,000 are kept, and it never holds a result's contents or a chat's messages.
Uninstall
Uninstall on the app's row removes Claude's link, or runs the inverse commands (claude plugin uninstall pairbar@pairbar and claude plugin marketplace remove pairbar for Advanced; codex plugin remove pairbar@pairbar and codex plugin marketplace remove pairbar for Codex), after a backup. Then it removes the files it wrote that you haven't changed. The folder, link and manifest stay while the other app, or live status for Codex, still uses them.
Troubleshooting
- The chat doesn't see the tools
- Start a new chat: plugins load when a chat starts. In Claude,
/mcpshould showplugin:pairbar:pairbarconnected; a folder Claude doesn't trust loads no plugins. In Codex,pairbar:guideshould be in the skills list and the plugin incodex plugin list. - The chat says Pairbar isn't running
- Open Pairbar, or turn Start Pairbar when an agent needs it back on in Settings → Integrations: with it on, a call opens Pairbar in the background and waits up to 5 seconds.
- A tool answers "not allowed"
- The chat asked about another project. Turn on Agents can see chats in other projects in Settings → Integrations if you want that (still metadata only).
- Every tool answers `locked`
- The trial or subscription ended; only
statusanswers while Pairbar is locked. See licence. - Settings shows Needs repair or Turned off
- Needs repair: the plugin or link is missing or points at a moved Pairbar; press Repair. Turned off: you turned the plugin off in the app's own plugin list; turn it back on there.
Frequently asked questions
- Can Claude or Codex change anything through Pairbar's tools?
- The tools that read change nothing. The action tools let a chat ask for something (a second opinion, a helper chat, a workflow run), and it runs only if your Agent actions settings allow it or you approve it in Pairbar; an agent can never approve anything itself. Every call is logged in Agent activity.
- Can a chat read my other conversations?
- No. It sees other chats' metadata (title, status, branch, PR), only in its own project unless you allow others, and never their messages or transcripts.
- Does installing it for Claude change my Claude settings?
- Not with the default install: it's a single link in
~/.claude/skills, and noclaudecommand runs. The Advanced install uses Claude's plugin manager, which records it insettings.json; Pairbar backs the file up and checks nothing else changed. - Is this an MCP server?
- Yes.
pairbar mcpis a local MCP server speaking to Claude or Codex over standard input and output. It speaks the MCP versions both apps use.
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
- GlossaryMCP serverThe program that exposes tools, resources and prompts to AI apps such as Claude Code and Codex over the Model Context Protocol.
- GlossaryModel Context Protocol (MCP)An open standard for connecting AI applications such as Claude Code and Codex to external tools, data sources and workflows.
- GuideSet up live status hooks for Claude and CodexTurn on instant status from Claude Code and Codex hooks: what Install writes, what is sent, how to check events arrive, repair and uninstall.
- Use caseTrack every branch and pull request across your Claude Code and Codex chatsThe Tasks view groups chats from both apps and the cloud by branch or worktree, with PR checks, lifecycle sections and suggestions you approve or decline.
- 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.
- 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.