Before you start
- Pairbar installed and running.
- Pairbar's tools installed for Claude and/or Codex (let agents query Pairbar).
Steps
- Open ProfilesSettings → Integrations → Profiles. Each profile has one line (app, model, effort, what it may do, cost) and when to use it.
- Check the defaultsThe five defaults are in the table below. Second opinions use Second opinion and reviews use Deep reviewer unless the chat names another;
start_chatuses a profile only when it names one. - Edit a profileEdit shows the name, then labelled options for the app, model, effort, what it may do, cost and agent, when to use it, and its skills. Each option shows its current value; Change… opens the choices, and Cancel discards the draft. A profile can name a Claude Code agent whose instructions come first, and skills its chats should use.
- Add your ownAdd profile (up to 30), for example a "Docs checker" on Claude with the small model that reads files only. Write when to use it plainly: agents read it in
statusto pick a profile. - See it on the next requestThe approval sheet names the profile a request uses. If a profile no longer fits, Reset to the five defaults puts them back.
The five default profiles
| Profile | App · model · effort | What it may do | When to use it |
|---|---|---|---|
| Deep reviewer | Claude · the strongest model · high | read-only | reviews of risky diffs, architecture critique, security reasoning |
| Implementer | Codex · the default model · medium | can edit | a well-specified change with tests to run, best in a new worktree |
| Second opinion | the other app · the strongest model · high | reads files only | an independent view on a decision, from the other model family |
| Scout | whichever app has more plan left · the small, fast model · low | reads files only | a quick look-up: where X is handled, summarise a log |
| Writer | Claude · the default model · medium | can edit | docs, PR descriptions, release notes |
The model is a tier Pairbar picks from the app's own list (Claude's default is its strongest; Codex's is its first listed model; the small one is Claude's Haiku or Codex's "mini"), or an exact model you choose.
How a request is filled in
- What the request says itself wins: its
app,modelandeffort(checked against the apps' lists), and itsaccess. - Then the profile it names, else the tool's own: Second opinion for
second_opinion, Deep reviewer forrequest_review. - Second opinions and reviews always go to the other app than the asking chat's, whatever the profile's app. When the other app has less plan left than Keep this much of each plan for you and the asking chat's app has enough, the asking chat's app answers with its strongest model, and the ticket says so.
- A profile's access is a default, capped at what the asking chat may do itself. An access the request asks for itself is never lowered quietly: above the chat's own, it's refused (
no_escalation).
Where profiles are kept
In ~/.config/pairbar/profiles.json, readable only by you, once you change one of the defaults. A file that doesn't read back is kept aside as profiles.json.corrupt-<date> and the defaults are used. The workflow planner is told your profiles too, and gives a step that fits one that profile's app, model and effort.
Troubleshooting
- A review ran on Codex although Deep reviewer says Claude
- Reviews and second opinions always go to the other app than the asking chat's. From a Claude chat, the review runs on Codex with the profile's model tier and effort.
- The answer came from the same app as the asking chat
- The other app had less plan left than Keep this much of each plan for you, so the asking chat's own app answered with its strongest model. The ticket says so.
- A request naming Implementer was refused with `no_escalation`
- The chat asked for
edititself, above what it may do (for example a Claude chat in plan mode). Without an explicit access, the profile's access would have been capped to the chat's own instead. - My profiles went back to the defaults
profiles.jsondidn't read back. Pairbar kept it aside asprofiles.json.corrupt-<date>in~/.config/pairbar; fix or re-create your profiles in Settings.
Frequently asked questions
- Do agents see my profiles?
- Yes.
statuslists each profile's name, app, model, effort, access and when to use it, so a chat can pick one by name. - Can a profile use a Claude Code agent?
- Yes. A profile can name a Claude Code agent whose instructions come first, and skills its chats should use.
- How many profiles can I have?
- Up to 30. Reset to the five defaults puts back Deep reviewer, Implementer, Second opinion, Scout and Writer.
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
- GlossaryAgent profileA named preset (app, model, effort, access, when to use it) that an AI agent names when it asks for a helper, review or second opinion.
- 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.
- 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.