Keyboard
All shortcuts.
Last updated
| Shortcut | Where | What it does |
|---|---|---|
| ⌃⌥S | anywhere | show or hide Pairbar (in Overlay). Docked in the basket the sidebar is part of the group and never hides (that would leave a hole beside the apps): ⌃⌥S says "Pairbar stays docked in the basket — switch to Overlay to hide it" under the search field for a few seconds, or, with another app covering the basket, brings the basket back to the front |
| ⌃⌥K | anywhere | search: the sidebar's search over Claude/Codex, a quick-search panel elsewhere |
| ⌘K | Claude or Codex in front | put the cursor in Pairbar's search (Esc gives the keyboard back to the app) |
| ⌃⌥Space | anywhere | dictate: hold to talk and let go to stop, or tap for hands-free and press again to stop (change it in Settings → Shortcuts → Dictate). See Voice dictation |
| Double-tap right ⌘ | the cursor in Claude's or Codex's chat box | dictate into it; double-tap again to stop (Right ⌃ or off in Settings → Voice). Each tap is shorter than the peek's hold, so it never peeks |
| Hold Fn (🌐) | anywhere | dictate while held, once turned on in Settings → Voice → Hold a key to talk |
| Return, ⇧Return, Esc | while dictating into Claude or Codex | Return stops and sends (after Polish; "Sending…", and Esc then keeps the words in the card instead); ⇧Return stops and keeps them in the card to read; Esc cancels (what you said stays in the voice history). These keys are Pairbar's while the card is up and never reach the app |
| 1–6 | while dictating into Claude, Codex or another app | the mode, from the next words on: 1 Prompt, 2 Message, 3 Verbatim, 4 Code, 5 Notes, 6 Translate to English |
| ⌃⌥⇧V | anywhere | puts your latest dictation where you're typing (Claude's or Codex's box, the composer, another app's field); off in Settings → Voice → Setup → Insert last dictation |
| ⌘↩, Esc | while dictating into Pairbar's composer | ⌘↩ sends; Esc cancels. Return is the composer's own |
| Return, ⌥Return, Esc | the dictation card is ready | Return (or ⌘↩) puts the words in and sends; ⌥Return puts them in without sending; Esc closes the card (kept in the history) |
| ⌘1–⌘4 | Settings → Voice | its tabs: Setup, Languages, Polish, History |
| ⌃1–9 | Claude or Codex in front | open the nth chat on screen |
| Hold ⌥ or ⌘ | pointer over Pairbar | peek at the app's own sidebar, once the key has been held on its own for a moment (a quarter of a second). A key pressed with it (⌘C, ⌥←) is a shortcut, not a peek |
| Double-tap ⌥ | keep the peek until the next double-tap (it also ends when you switch apps, or after 30 s with the pointer away from the sidebar). Only taps with no other key count, so word jumps with ⌥← never pin it |
While Pairbar is locked (the trial over or the subscription ended), ⌘K and ⌃1–9 do nothing over Claude and Codex: the keys stay the apps'. ⌃⌥K shows the lock screen. | ⌃⌥⌘S | Claude or Codex in front | swap apps (see Window layouts) |
Window layouts#
Set in Settings → Shortcuts. They work while Claude or Codex is in front.
| Command | Shortcut to start with |
|---|---|
| Overlay, Basket, Side by side, Stacked, Focus | none |
| Swap apps | ⌃⌥⌘S |
| Move the divider left or up, Move the divider right or down (5 % each) | none |
Shortcuts saved for the older layouts carry over: a split's becomes Side by side, a stack's Stacked, and Focus's, Centered's and Undock's Overlay.
Click a command's Record and press the keys (with ⌘, ⌃ or ⌥; function keys also work alone). Esc cancels, ⌫ clears, and × next to a shortcut removes it. If macOS, Rectangle or Pairbar itself already uses those keys, or another window command has them, a note under the row says who. None of the ones Pairbar starts with clash with macOS or Rectangle's defaults. A shortcut another app has already claimed doesn't work in Pairbar.
In the welcome window: ← and → move between pages, Return continues, Esc closes it.
In search:
| Key | Does |
|---|---|
| ↑ ↓ | move through actions and chats |
| Enter | run the action or open the chat |
| Esc | clear and go back to the app |
In a composer list (the one a chip opens; see Picking an option):
| Key | Does |
|---|---|
| type | filter (letters in order are enough) |
| ↑ ↓ | move |
| Return | pick (in Skills: tick or untick) |
| ⌘Return | the row's second action (Make available…) |
| Tab, ⇧Tab | the next or previous chip's list (folder, branch, worktree, agent, skill, where it runs, model, mode) |
| Esc | clear what you typed, then close |
In the Tasks view, ↑ ↓, Enter and ⌃1–9 go through the chats of the tasks that are unfolded (while searching, every matching task is). In a suggestion's plan, ⌘↩ is Approve. ⌘K has every task action: type "View: Tasks" to switch to it, or a task's name and what to do ("done", "basket", "rename"). An agent's request waiting for you can be answered from ⌘K too: type "approve" or "decline" (see Approving a request).
In a chat's menu (⋯ or right-click):
| Key | Does |
|---|---|
| O | open |
| P | pin |
| U | unread |
| R | rename (Codex chats in Codex itself; see Renaming) |
| M | send a message |
| K | check in |
| C | copy link |
| F | fork (opens the composer as a fork) |
| H | hand off |
| S | select |
| A | archive (Codex) |
| D | hide |
Selecting chats:
| Gesture | Does |
|---|---|
| ⇧-click | start selecting, or select a range |
| click | add or remove a chat, once selecting |
Composer:
| Key | Does |
|---|---|
| Enter or ⌘↩ | send (or fork) |
| Esc | close (cancels a fork) |
| Enter | insert a new line in a workflow step’s prompt or its AI-edit request |
| ⌘↩ | create or save (in the workflow editor) |
| Esc | cancel (in the workflow editor; asks first when you changed something) |
A workflow's runs (on its page):
| Key | Does |
|---|---|
| ↑ ↓ | move between a run's steps |
| Return | open the step's chat (or, for a step that hasn't started, its prompt) |
| Space | preview the step: what it's doing now, its last lines, the files it changed |
| Esc | close the preview |
In Notes (only while Notes has keyboard focus). Hover the Notes and Capture (Coming Soon) launcher buttons to see these shortcuts and their scope:
| Key | Does |
|---|---|
| ⌘A or ⌃A | select all visible notes; in a text field, select its text |
| ⌘⇧A | clear note selection |
| ⌘F | focus note search |
| ⌘N | create a note |
| ⌘⇧N | start a new session |
| ⌘⇧C | start Capture (Coming Soon) |
| ⌘C | copy selected notes for AI, or this session; text fields keep normal text copying |
| Esc | clear selection or search, then collapse the floating card |
| ⌘Return | save during Capture (Coming Soon) |
In the Notes session picker, ↑/↓ moves between sessions, Return switches to the highlighted session, and Esc clears the picker search or closes it.
In prompt fields with attachments, ⌘V or ⌃V pastes an image/screenshot (Coming Soon) or Finder files as attachments. Plain text pastes as usual.
Notes shortcuts also work with non-Latin input layouts, including Russian; text fields keep their normal text selection and copying.
Guides and use cases for this
- GuideCapture browser feedback with screenshots and DOM detailsFrom browser connection to an evidence package: selectors, fonts, colours, screenshots and a comment for every note.
- GuidePairbar keyboard shortcuts and how to peek at the app's own sidebarAll Pairbar shortcuts, from ⌘K and ⌃1–9 to ⌥ peek and chat-menu letters, and which ones you can switch off.
- GuideDock Claude and Codex together in the basketPut Claude and Codex in one Pairbar frame with one sidebar: pick a layout, swap, share the room, move and resize, and save setups per display.
- Use caseSwitch between Claude Code and Codex on a Mac without hunting for windowsOne list for both apps; clicking a chat from the other app swaps its window into the same spot.
- Use caseRun several Claude Code and Codex agents in parallel without losing trackA Needs you section, live activity lines, subagent chips, worktrees and ⌃1–9 for running many agents at once.
- Use caseSearch inside your Claude Code and Codex conversationsFull-text search across Claude Code and Codex chats, ranked titles-first, with ⌘K actions and ⌃⌥K quick search from any app.