Coming next
In the next release
Notes uses a compact Liquid Glass capsule beneath the microphone, with shared dragging, hover actions and grouped local history. Unified Capture opens a visible selection overlay: drag an area or click an available Accessibility element, then confirm. Notes exports immutable context packages and prepares composer transfers or disabled workflow drafts. An optional development Chromium extension captures selected DOM elements.
Keep the sidebar on normal chat windows when Codex opens utility panels or dialogs.
Dictation improvements: developer vocabulary in live and final text, language-aware cleanup, provisional automatic-language guesses, stronger negation checks, microphone selection, and optional local recordings for recognition checks.
The first release of Pairbar: one sidebar over the official Claude and Codex desktop apps. You keep chatting in the apps themselves; Pairbar lists every chat from both and keeps them one click apart.
Codex actions use the CLI bundled with the installed desktop app when available. Archive uses Codex’s native protocol, reports partial batch failures and explains chats held open for writing. Forks from a selected completed Codex turn now copy history through that turn; queued follow-ups distinguish acceptance from a reply starting.
One sidebar for Claude and Codex
- Every Claude Code session and Codex thread in one list, sitting right over the apps' own sidebars and following their windows as you move and resize them.
- Group by project, date, app, status or your own labels, with pins, unread marks and bulk actions.
- Hold ⌥ to peek at the app's own sidebar underneath; ⌃⌥S hides or shows Pairbar.
- Easy on the eyes: larger, softer text, one airy line per chat (or two with Density: Detailed), and an optional warm tint.
- Rename any chat (Codex chats are renamed in Codex itself), and fork one from its latest reply or any earlier one.
- Claude Code sessions in Anthropic's cloud and Codex cloud tasks appear next to your local chats.
Status and what needs you
- See at a glance what's working and on what, what's waiting for your answer, and what finished while you were away. Chats that need you move to the top, with the question they're asking.
- Subagents inside their chat: running, failed and done, with the tokens they used, what each one is doing, and a transcript reader that follows them live.
- Optional notifications when a chat finishes or needs you while you're in another app.
- Live status for Claude and for Codex (Settings → Integrations, off until you install them): the apps' own hooks tell Pairbar the moment a chat asks to run a command, which tool it's running, and when it stops. Install backs up your settings first and adds only Pairbar's entries; Uninstall gives the file back as it was; Repair follows a moved app.
Instant switching and the basket
- Click a chat from the other app and its window moves into the same spot, under the same sidebar.
- Overlay (the sidebar over the app in front) or the Basket: Claude and Codex side by side, stacked or one at a time (Focus), in one frame that moves, resizes and glides as one window. Drag the line between them to share the room; ⌃⌥⌘S swaps them.
- Save window setups that come back when you plug in or unplug a display.
- Pairbar's sidebar hides only in Overlay. In the basket the apps sit beside it, so hiding it would leave a hole: there's no hide button, Settings → Hide Pairbar is greyed out, ⌃⌥S and the menu bar's Show or hide Pairbar say how to hide it (or bring a covered basket to the front), it never shrinks to its round button or peeks onto an empty column, and docking or starting up while it's hidden shows it.
- A permission macOS still lists as on but no longer honours (a stale grant after an update) is told apart from one never given: the Accessibility banner says it went stale and offers Open Accessibility Settings and Restart Pairbar, Screen Recording's rows do the same, and each goes by itself the moment macOS says yes.
Tasks
- The chats working on the same branch or worktree, from both apps, local and cloud, grouped into one task: Needs you, Working, Ready to review and Done, with its pull request and checks.
- Suggestions that resolve things: ask Claude or Codex to fix failing checks, get a second opinion from the other app, archive merged work, jump to the chat that's waiting. Each shows exactly what Pairbar will do before you approve it, and most can be undone.
- Filters, sorting and grouping that are remembered.
Search
- ⌘K searches titles, projects, branches and everything said in your chats, and runs actions as you type. ⌃⌥K opens it from any app.
New chats
- One composer for both apps: the message, then chips for where the chat starts (folder, branch, worktree) and how (agent, skill, local or cloud, model, mode). Every chip says its value ("No agent", "Opus 5.5", "Ask") and opens its own searchable list; Reset shows while something isn't at its default.
- Every chip opens the same searchable list: type a few letters in order ("frl" finds
feature/rate-limits), ↑ ↓ and Return to pick, Tab to the next chip. Branches come from git with how far each is from its upstream; Create branch starts the chat in a new worktree. - Each project remembers its last choices (never the modes that skip safety checks); ↺ puts everything back to the defaults.
Voice dictation
- Talk instead of typing, into Claude's or Codex's message box or Pairbar's composer: hold ⌃⌥Space (or tap it for hands-free), click the pill under Claude's or Codex's message box, double-tap right ⌘ with the cursor in the app's message box, or click the composer's mic.
- Two clear ends: Stop (let go of the shortcut) keeps the words for you to read; Send (⌘↩) puts them in and sends. Esc cancels. On Claude or Codex the words show in a card as you speak, and OK (Return) puts them in.
- A pill that's part of Claude's and Codex's window, under the message box: it grows into a Liquid Glass card that fits the words, with a glow that follows your voice, a shimmer while Polish works and the rewrite blurring in word by word. Right-click it (or the composer's mic) for the mode, languages and Polish.
- On this Mac and offline, with macOS's speech recognition: automatic selection among your configured languages that macOS can transcribe.
- Knows your project's words: the repo, branch, changed files, skills and agents, plus your own dictionary. "Slash code review" becomes
/code-review. - Polish is automatic: your own Claude or Codex (Auto picks the app you're dictating into) rewrites it into a clean prompt, kept warm so it takes about a second or two; Insert now takes the plain text any time. A question you dictate ("can you hear me?") is rewritten, never answered, in any language, and your own Claude hooks and settings don't run for it. An answer that isn't a rewrite (a question back, a note about your text, another language) is never inserted: your words go in as said.
- Modes: Prompt, Message, Verbatim, Code, Notes and Translate to English, one for everywhere or one per place.
- Multilingual final recognition: Whisper large-v3-turbo on this Mac (a one-time 650 MB download) hears the dictation again when you stop, primed with your project’s names, while macOS’s dictation shows provisional words live. Language support varies by recogniser and available macOS models.
- Known product and project names use their canonical spellings. The personal dictionary learns corrections; ordinary words stay in the language spoken. Local spoken-punctuation and filler rules apply only to the source languages they support.
- Polish corrects with the fewest edits and knows your names: it never rephrases, and an answer that changes too much of what you said isn't used.
- Stop is quick and predictable: never more than about 3 seconds to the final words. Your words are usable at once (OK, Send, Insert now), Whisper and Polish only improve them in place when they're in time, and a slow Polish leaves your words as they are with "Polish skipped (slow)". A rewrite that comes later never replaces words you've already put in, sent or edited. Polish stays warm in Low Power Mode, and after an update Whisper is prepared in the background instead of when you next dictate. (Before, Stop could wait minutes for Whisper's first load after an update, then up to 8 more seconds for Polish.)
- Long dictations get polished too. Polish's time scales with what you said (2.5 seconds plus 40 ms a word, at most 6) and starts on macOS's words the moment they're in, beside Whisper rather than after it; Whisper hears a long dictation in pieces during your pauses, so only the last few seconds are left when you stop, and if Polish still can't make it, Whisper's punctuated text goes in instead of bare words. A spare Claude starts the moment the last one is used (and when you start talking if none is ready), so the next dictation always finds one warm. ↩ (stop and send) waits for Polish within that time, then sends the best words; ⌥↩ puts the words in as they are at once; ⌘↩ sends them at once.
- Nothing said is lost: every dictation is kept on this Mac (inserted or not) in the sidebar's Voice history, with the original next to the polished text; no audio kept unless you ask.
- Dictate into any app: the words go into the field you're in (never sent), through Accessibility or a paste that puts your clipboard back. Nothing inside other apps' windows.
- One dictation pill that's always there, in one place: in every app, Claude, Codex and Pairbar included, on the display you're working on (or one you pin it to). A small Liquid Glass pill with the mic that shows the shortcut on hover, dictates into the field you're in on a click, shows the level lines while you talk and opens into the card at its spot. It lives in one of four places: the bottom centre above the Dock, the left or right edge as a tab half tucked in halfway up that slides out (Wispr Flow style), or under the notch. Drag it and the four show as glass outlines, the nearest lit and pulling it in; let go and it glides from where you dropped it into the place, turning into its shape (Esc glides it back), remembered per display. One piece of glass that morphs: the edge tab stretches into the capsule on hover, and the dictation's card grows out of the pill where it is, under Claude's and Codex's box too, its glow growing in with it, and folds back into it. It steps aside only for a full-screen video or slideshow, for an hour when you ask, and fades while it would sit on Claude's or Codex's message box. The pill under Claude's and Codex's message box stays too (Also under Claude and Codex's message box); a dot next to text fields is there if you choose it instead.
- Settings → Voice in four tabs: Setup, Languages, Polish and History.
- One voice menu for both pills and the composer's mic (right-click): a small card in Pairbar's picker style that opens next to the pill, never off screen. Mode (each with a line on what it does and its 1–6 key), Language (Automatic with what it heard last, your languages, More…), Polish as plain words (Claude · Codex · On-device · Off; an engine that can't is greyed with the reason, and a line on the time limit and Low Power Mode), where the pill lives on a little display with its four spots, Also under Claude and Codex's message box, Hide the pill for an hour, and Copy last · Insert last · History · Settings…. Keyboard (↑↓ ←→, Return, 1–6, Esc) and VoiceOver; Settings → Voice uses the same names and order. The floating pill's menu used to have only three items, and the attached pill's showed unlabelled icon chips.
- The pill and the card never fly across the screen: showing up, changing display, place or app, they fade and grow in where they are. Let go of the pill and it glides into its place smoothly at your display's own refresh rate, turning into its shape on the way, with the window holding still. Shorter and simpler with Low Power Mode on.
- Automatic language keeps initial assumptions provisional, so a confirmed language can correct a wrong guess from the beginning. Confirmed segments remain stable while the tail can change; the card fits its text.
The focused chat's context
- A slim line at the top of the list says where the chat in front is (project, branch, pull request and checks); unfold it for the skills, agents, workflows and quick actions that fit there.
Skills
- A calm Skills tab with every skill Claude and Codex can load, grouped by where it comes from (this project's first, then yours, then plugins), each with two quiet marks for which app can use it. A skill in only one app is fine: nothing nags. Click a row for its details: use it in the chat in front, open its file, make it available in the other app (with Undo), or remove it.
- Keep skills the same in Claude and Codex: one switch, and Pairbar mirrors your skills between the apps in the background (a link, or a translated copy when Codex needs one), backing up anything it replaces. It never writes over a change you made in both apps: that's one line, "1 skill changed in both apps · Review", where you keep the version you want.
- A broken skill (no frontmatter, a link to nothing, a name Codex lists twice) gets one "N skills have problems · Review" line with what to do. Sync all skills in one reviewed plan is under ⋯.
Workflows and agents
- Describe what you want done and when; your own Claude or Codex plans the steps, and you review them before saving. Steps run side by side, each with only the access it needs, and retry temporary problems by themselves.
- A workflow's page shows when it runs next and how the last run went, its settings as chips that explain themselves, and its steps as a timeline that says what each one hands to the next. A long prompt opens with Show more inside its own card, pushing the steps below down (it used to spill over them when clicked).
- The workflow editor reads like Settings: grouped cards with one-line rows and ⓘ for details, steps as a timeline you can reorder, add to between any two and remove, and a header and footer that stay put (Cancel; the steps' permissions, Agents may run, Run once now and Create workflow, which says what's missing until it can be saved). ⌘↩ saves; Esc asks before throwing edits away.
- Every prompt has the mic and takes files: the new-chat composer, each workflow step, the workflow planner and a check-in's message (drop, paste or 📎; passed to Claude or Codex by path). An agent's instructions and commands have the mic.
- Runs are easy to follow: each step says what it's doing and for how long, a click opens its chat, and hovering (or Space) previews its latest activity, last lines and changed files, with Open chat, Copy, Stop and Retry. Runs show their progress, Open all, Stop run and Re-run.
- Every Claude Code agent you have, personal, per repo and from plugins; create or improve one from a chat.
Pairbar's tools for Claude and Codex
- Chats can ask Pairbar what it knows (Settings → Integrations → Pairbar tools, off until you install them): their project's chats in both apps, tasks with their checks, skills, agents, workflows and plan limits. The same tools work from a shell with the
pairbarcommand. - Agent actions: a chat can ask for a second opinion or a review from the other app, a helper chat, a handoff, a run of one of your workflows, or a check-in. You approve each request (or allow a kind of request), with budgets, a pause switch and Stop all; an agent can never approve anything, and a helper never gets more access than the chat that asked.
- Agent activity lists every call and request, and what came of it.
Plan limits and "On this Mac"
- Usage rings for your Claude and Codex plans, with the session and weekly windows.
- "On this Mac" shows how much memory and CPU Claude, Codex and Pairbar use, only while you look.
Licensing and privacy
- Free for 7 days with everything on, no card needed. Then one plan with every feature, paid how you like: $49/year ($39 for the first year with the code LAUNCH during the launch), $9/month, or $129 once for a Lifetime licence (the first 200 buyers only; it never expires and includes updates). On up to 3 of your Macs.
- Settings → Licence shows your plan: "Yearly · renews …", "Monthly · renews …" or "Lifetime".
- Buy from the lock screen or Settings and Pairbar activates itself: no key to copy. On another Mac, "Use my email" sends a link that does it.
- Your chats never leave your Mac: Pairbar reads the files Claude and Codex keep and uploads nothing.
- Contact support… (Settings → About, the menu-bar menu, ⌘K "Report a problem") opens an email draft with your versions and plan, never your key. Optional diagnostics are cleaned of secrets, paths and chat text, and you read them before anything leaves: Pairbar sends nothing itself.