Skip to content

Use case

Start a Claude Code or Codex chat on a new branch in its own git worktree

Pairbar is a macOS app with a new-chat composer that starts Claude Code or Codex chats with the setup already chosen: folder, branch, a fresh git worktree, model, effort, permission mode, agent, and local or cloud. Turn on the Worktree chip and the chat starts on a new branch in a separate worktree, so the checkout you're working in isn't touched.

Last updated

The problem

Running more than one agent in the same repo is where things go wrong. Two chats editing the same checkout overwrite each other's changes, and an agent that runs git checkout pulls the branch out from under whatever you were doing. The usual fix is a git worktree per task, which means a few commands, a folder name, a branch name, and then opening the agent in the right place.

Setting the model or permission mode on top of that usually means starting the chat first and changing settings inside it.

How Pairbar solves it

  1. Open the composer
    Press ✎ in the header, or + on a project's group header to start in that project.
  2. Choose the app
    Claude | Codex at the top; a green dot marks the suggested one.
  3. Write the first message
    For example: "Add rate limiting to the /login endpoint, with tests."
  4. Set the chips
    Folder (e.g. acme-backend), then Worktree to start on a new branch in a separate worktree. The worktree is named after what you typed. Add model, effort, mode or an agent if you want them.
  5. Check what will happen, then start
    Hover ↑ to see a summary such as "Runs the first turn in Acme-Backend, then opens it in Claude". Press ↑ or Enter.

The chips

ChipWhat it sets
Folderyour recent repos (with their path and branch), git repos found on this Mac, or Browse…
Branchlocal branches (the checked-out one first, then the most recent) and remote ones; Create branch starts the worktree on a branch you name
Worktreea new branch in a separate worktree, so your current checkout isn't touched
Local / Cloudrun it in the cloud, chosen per chat and not remembered (see below)
Agentstart with one of your agents: Claude gets @agent-…, Codex gets the agent's instructions up front
ModelClaude: the default or a specific model. Codex: its available models. Each says what it's for, how fast it is and what it costs of your plan
Effortunder the model chip's list: Default or one of the model's levels (Codex only; the Claude app resets effort to your default when it opens a chat)
ModeClaude's permission mode; Codex has a sandbox chip instead

How the chat actually starts

CaseWhat Pairbar does
Plain Claude chatopens Claude with your message typed in, ready for you to send
Claude with custom settings (model, mode)runs the first turn with claude -p, then opens the chat in Claude
Codexopens a native draft in the folder; review model, effort and permissions, then Send in Codex
CloudCodex: sent to Codex Cloud when an environment id is saved for the repo. Claude: opens Claude's new chat with your text and folder, and you pick a cloud environment there

For a custom Claude start, while the first turn runs, the composer shows Working on your first message in , what it's doing ("Bash · git status") and a timer, then Opening in . ✕ hides the progress without stopping it. At narrow widths the title, steps and retry action wrap in full. If it fails the timer disappears and you get Edit and try again (your message is kept) and Details with the tool's output.

Without Pairbar

The manual route works anywhere git does:

cd ~/code/acme-backend
git worktree add -b rate-limit-login ../acme-backend-rate-limit
cd ../acme-backend-rate-limit
claude   # or: codex
  • git worktree list shows every worktree; git worktree remove <path> cleans one up when you're done.
  • The Claude and Codex apps have their own options for picking a folder and, depending on version, isolating work; see their docs.
  • Some session managers are built around one worktree per agent; see the session manager round-up.

Frequently asked questions

What does the Worktree chip do?
It starts the chat on a new branch in a separate git worktree, so your current checkout isn't touched. The worktree is named after what you typed.
Why would I start a coding agent in a git worktree?
A worktree is a second working directory for the same repository on its own branch. Agents working in separate worktrees can't overwrite each other's files or switch the branch you're on.
Does Pairbar need the command-line tools to start chats?
Plain Claude and local Codex new chats don't. Claude chats with custom settings need claude; Codex forks and workflows need codex.
Can I set reasoning effort for a Claude chat here?
No. The Claude app resets effort to your default when it opens a chat, so set it in Claude. For Codex, set the requested effort in its own model menu before Send; the native link does not apply it.

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.