Skip to content

New chats

The composer: app, folder, branch, worktree, agent, skills, model, effort, mode, cloud; searchable pickers, remembered choices, and the Claude-or-Codex suggestion.

Last updated

✎ in the header, or + on a project's group header, opens the composer above the search field.

The same composer opens when you fork a chat, with the chat's app and folder locked: see Fork.

The composer#

A card with the same layout everywhere (new chats and workflows):

  • Header: Claude | Codex, which app the chat starts in. On a narrow sidebar, the app choices wrap and the explanation and Close controls sit below them. A green dot marks the suggested one. ⓘ explains why and shows how much of each plan's limit is left.
  • Message: what the chat should do first. Workflows add a name field above it.
  • Chips, each with an icon and what it's set to, defaults included. A value at its default is a little quieter; one you set is in full ink. Click a chip to open its list. They wrap onto a second line when the sidebar is narrow.
    • Where the chat starts: the folder (or No folder), the branch (the one checked out, else the one you picked; + name for a new one) and Worktree (tinted when on). Long names are cut in the middle; when they don't fit on one line, the branch and Worktree move to the next.
    • How it runs: Agent ("No agent" or the agent's name), Skill ("Skill", a skill's name, or "2 skills"), where it runs (Local or Cloud), the model ("Opus 5.5") and the mode ("Ask", "Auto edit", "Plan"…). Codex shows its sandbox ("Read-only") instead of the mode; a Codex cloud chat has its environment and attempts ("3 attempts") instead.
  • Reset, at the bottom, only while something isn't at its default: puts everything back (the branch and worktree too) and makes this project start from the defaults next time.
  • The mic, just before ↑: click it to talk and again to insert; the words stream into the message as you speak, and Esc puts the message back. How it shapes what you say (its dictation mode: Prompt, Message, Verbatim, Code, Notes, Translate to English) is set in Settings → Voice, or from the bar while you dictate; it isn't Mode (Claude's permission mode). Every other prompt in Pairbar has its own mic too (each workflow step, the workflow planner, a check-in's message, an agent's commands and instructions): the words go into the one whose mic you pressed, or that has the keyboard. See Voice dictation.
  • 📎 attaches files: pick them, drop them on the message, or paste them (⌘V or ⌃V with files copied in Finder or an image/screenshot (Coming Soon) in the clipboard). Each shows as a chip with ×; they go with the first message by path, so Claude or Codex reads them. Up to 10.
  • ↑ starts the chat (Enter or ⌘↩). For local Codex it is Open in Codex: opens a draft for you to review and send in Codex. Hover it to see what will happen, for example "Runs the first turn in Acme-Backend, then opens it in Claude".

Picking an option#

Every chip opens its own searchable list, right under it:

  • Type to filter. Letters in order are enough ("frl" finds feature/rate-limits); the letters that matched are in bold. Descriptions and paths are searched by whole words. The best match comes first.
  • Sections: what's suggested here first, then recent, then the rest. Each row has an icon, a name, a line about it, what else matters on the right (tools and model, a branch, how often a skill was used), and a checkmark on the current choice.
  • Keys: ↑ ↓ move, Return picks, ⌘Return runs a row's second action (Make available…), Tab and ⇧Tab move to the next or previous chip's list (folder, branch, worktree, agent, skill, where it runs, model, mode), Esc clears what you typed and then closes the list.
  • While a list is still loading (branches come from git), it says so; if git doesn't answer or the folder isn't a repository, it says why, with Try again.
ChipWhat it lists
FolderNo folder (choose a project or scratch workspace in Codex before Send; a temporary folder in Claude), your Recent repos (from your chats and tasks; a repo's path and branch on each row), Repos on this Mac (git repos found in ~/code, ~/Projects and the other usual places, and next to the repos your chats are in), and Browse… to pick any folder
Branchthe folder's branches: Local ones (the one checked out first, marked current, then the most recently committed, with how far each is from its upstream), then Remote ones (those no local branch tracks). The branch of the chat you're in is Suggested when it isn't checked out. Picking a branch that isn't checked out turns Worktree on, so your checkout isn't switched. Create branch "…": the chat starts in a new worktree on a branch with that name (what you typed, or a name made from your message), off the branch picked; a name git doesn't allow, or one that exists, is greyed with why. The note under the list says which branch a worktree would use
WorktreeIn the checkout or New worktree: a second checkout of the repo where the chat works on its own branch, so your checkout and anything running in it aren't touched. The row says where it's made (Claude: <repo>/.claude/worktrees/…; Codex: ~/.codex/worktrees/…) and the branch it starts from
AgentNone (plain chat), then the agents of the folder's project (its .claude/agents, and yours tied to it in dock.yaml), your personal ones, and those plugins ship. Each row has the agent's description, its tools and its model. Create agent… drafts a new one. Claude gets @agent-…; Codex gets the agent's instructions up front
SkillsSuggested here (ranked like the Skills tab's Suggested here, for the folder, branch and what you typed), then All skills: those the app can use here first. Each row says which apps can use it, where it comes from (project, personal, plugin) and how often it was used in your chats in the last 30 days. Tick several: Return ticks and the list stays open. A skill only the other app has is marked "Codex only" (or "Claude only"); ticked, Pairbar includes its text in the first message, and Make available… (⌘Return) offers to add it to this app for good (a plan you approve first). The first message asks for each skill by name when the app loads it in the chosen folder (Claude: "use the review-method skill (Skill tool)"; Codex: $review-method). Local chats only
RunsLocal (the default) or Cloud, chosen per chat (not remembered). For Codex, the cloud environments seen in your cloud tasks are listed too: picking one sends the chat there. Options that can't apply are greyed with why (Codex Cloud needs a repo; a worktree is on this Mac). Codex with an environment: the task is sent straight to Codex Cloud (codex cloud exec, from the repo on its current branch) and its page opens. Without one, or if Codex Cloud refuses the task, Codex's own new chat opens in the repo with your text typed, and a guide card says what's left: switch Local to Cloud, and the first time let Codex set up an environment. Claude can't be started in the cloud from outside, so Claude's new chat opens with your text and folder filled in, and the guide says to pick a cloud environment there and send
Modeleach model with what it's for, how fast it is and what it costs of your plan ($ to $$$). Claude: the models Claude's own menu lists. Codex: the models Codex lists (its model cache), with Effort under the list (Default and the levels the model has; Faster ↔ Smarter). Claude's effort is set in Claude: the Claude app resets it to your default when it opens a chat
ModeClaude's permission mode, each with what it allows: Ask (the default: asks before edits and commands), Plan, Auto edit (edits without asking, still asks before commands), Auto, Bypass permissions. Codex has its sandbox instead: Read-only (the default), Workspace write, Full access, My config
Environment, AttemptsCodex Cloud only: the environments you've used, Use "…" for an id you paste, and Open Codex environments…; and 1–4 attempts

Starting points and what's remembered#

  • ✎ while a chat is in front starts in that chat's project. When that chat is on a branch that isn't checked out (a task's branch), its branch is picked too, with Worktree on; hover the folder chip to see where it came from.
  • + on a project's group starts in that project.
  • Each project remembers its last choices: agent, skills, worktree, model, effort, mode and sandbox, saved when you start a chat there. Picking another folder brings back that folder's. A project you haven't started a chat in yet gets the last choices made anywhere. The app follows the suggestion, the branch starts at the checked-out one, and where it runs starts at Local.
  • Reset (next to the mic, shown while something isn't at its default) puts every chip back, the branch and worktree too, and makes this project start from the defaults next time.

Permission-mode and Codex-sandbox descriptions wrap in their menus, including the full explanation of Bypass permissions and Full access; you can read them before choosing.

"Bypass permissions" and "Full access" are never remembered for the next chat; you choose them each time. A chat started from a job that reads your other conversations (a new agent, Improve) can't have them at all.

How chats start#

  • Plain Claude chat: opens straight in Claude with your message typed in, ready for you to send.
  • Claude with custom settings (model, mode): Pairbar runs the first turn with claude -p and then opens the chat in Claude.
  • Local Codex: opens Codex’s own new-chat composer with your message and folder filled in. This includes handoffs, agents and skills composed here. Pairbar does not run a background first turn, so the chat stays writable in Codex while it works. The Review and send in Codex card lists the model, effort and permissions you requested. These settings are not applied by the link: choose them in Codex before pressing Send. With No folder, choose a project or scratch workspace in Codex before sending; Pairbar does not promise an automatic temporary folder. A folder that has been deleted is rejected before the draft opens. Workflows still run in the background.

While a chat starts this way, the composer shows its progress in place:

  • Working on your first message in <folder>, with what it's doing right now (for example "Bash · git status") and a timer.
  • Opening in <app> once the first turn is done. The composer closes a moment after the chat opens.
  • ✕ hides the progress; the start keeps going in the background.
  • At narrow widths, the progress title, step descriptions and retry action wrap so you can read them in full.
  • If it fails, the timer disappears and the composer says why, with Edit and try again (your message is kept) and Details (the tool's output). Details stays readable in a narrow sidebar; long output scrolls inside the block.
  • Cloud: the session or task is created, and its link opens.

The suggestion: Claude or Codex?#

Pairbar suggests an app from:

  • Limit headroom: how much of each plan's tightest limit (5-hour or weekly) is left.
  • History: where you've been working in this project recently.
  • Cost: a typical chat's share of the limit. An app that doesn't have enough left for a typical chat isn't suggested.

In Settings you can make it always start in Claude or always in Codex instead.

Pasted clipboard images are saved as private PNG files under ~/.pairbar/attachments/ so changing the clipboard or restarting Pairbar does not remove the evidence. Removing an attachment chip excludes it from the request; it does not delete the saved image. You can delete unused images from that folder yourself. Clipboard contents are read only when you paste into a focused prompt field.