flock
flock docs
← home

docs

everything you need to know about running parallel claude code sessions in one tiny window.

v0.10.0
up and running
in 30 seconds

flock is a native macOS app. no electron, no web views, no bundled runtime. download it, open it, and press ⌘T to spawn your first claude session.

System Requirements

  • macOS 13 (Ventura) or later
  • Apple Silicon or Intel
  • Claude Code CLI installed (npm install -g @anthropic-ai/claude-code)
three ways to install

Homebrew (recommended)

terminal
$ brew tap divagation/flock
$ brew install --cask flockapp

Direct Download

Grab the latest .pkg from GitHub Releases. Run the installer, then launch Flock from Applications.

Build from Source

terminal
$ git clone https://github.com/baahaus/flock.git
$ cd flock
$ ./build.sh
# installs to /Applications/Flock.app

First Launch

Open Flock. It creates a single Claude pane by default. You're in. Press ⌘T to add more sessions, ⌘⇧T for a plain shell. That's it.

pane management
panes tile themselves. you don't need to think about layouts.

Auto-Layout

Flock automatically arranges panes based on how many you have open. No manual dragging, no guessing.

1 pane
2 panes
3 panes
4 panes
5-6 panes
7-9 panes

Manual Splits

Want more control? Split the current pane horizontally with ⌘D or vertically with ⌘⇧D. This creates a custom split tree that overrides auto-layout.

Maximize

Press ⌘↵ to maximize the focused pane to fill the entire window. Press again to restore the grid. Great for focusing on one agent's work.

Navigation

Jump between panes with ⌘1 through ⌘9, or use arrow keys: ⌘← ⌘→ ⌘↑ ⌘↓.

Layout Presets

The command palette (⌘K) includes preset layouts: Single Claude, Claude + Shell, 2x2 Grid, and 3-up.

command palette
⌘K opens everything. if you've used raycast, you know the vibe.

The command palette is the fastest way to do anything in Flock. It supports fuzzy search -- type a few characters and it finds what you want.

Available Commands

Panes

  • New Claude Pane
  • New Shell Pane
  • Close Pane
  • Rename Tab
  • Split Horizontal / Vertical
  • Focus Pane 1-9
  • Navigate Left / Right / Up / Down

View

  • Maximize / Restore
  • Find in Terminal
  • Find in All Panes
  • Toggle Broadcast
  • Preferences

Layouts

  • Single Claude
  • Claude + Shell
  • 2x2 Grid
  • 3-up

Appearance

  • Switch to any of the 7 built-in themes
broadcast mode
type once, every pane hears it.

Press ⌘⇧B to toggle broadcast mode. When active, every keystroke goes to all open panes simultaneously. An orange border around the window indicates broadcast is on.

Use Cases

  • Give all your Claude agents the same context at once
  • Set up environment variables across all shells
  • Send a shared prompt to multiple sessions
  • Coordinate a team of agents working on related tasks

Toggle it on, type your message, toggle it off. Each pane continues independently from there.

keyboard shortcuts
your hands never leave the keys. every action has a shortcut.
⌘Tnew claude
⌘⇧Tnew shell
⌘Wclose pane
⌘↵maximize
⌘Kpalette
⌘Dsplit h
⌘⇧Dsplit v
⌘⇧Bbroadcast
⌘Ffind
⌘⇧Ffind all

Full Reference

ShortcutAction
⌘TNew Claude pane
⌘⇧TNew shell pane
⌘WClose current pane
⌘1 - ⌘9Focus pane 1 through 9
⌘← ⌘→Navigate left / right
⌘↑ ⌘↓Navigate up / down
⌘↵Maximize / restore pane
⌘DSplit pane horizontally
⌘⇧DSplit pane vertically
⌘KOpen command palette
⌘⇧BToggle broadcast mode
⌘FFind in current pane
⌘GFind next match
⌘⇧GFind previous match
⌘⇧FFind in all panes
⌘CCopy
⌘VPaste
⌘ASelect all
⌘,Preferences
⌘HHide Flock
⌘⌥HHide others
⌘QQuit Flock
Ctrl+`Global hotkey (bring to front)
7 built-in themes
switch themes from the command palette or preferences. cross-dissolve transition included.
Flock
warm cream, default
Claude
parchment + terracotta
Midnight
dark + cool blue
Ember
charred brown + amber
Vesper
deep indigo + lavender
Overcast
cool grey + fog blue
Linen
sunlit + muted green

Theme transitions use a cross-dissolve animation. You can also override ANSI terminal colors per-theme in the configuration for full control over syntax highlighting.

find & search
⌘F

find in pane

search the current pane's terminal output. ⌘G for next match, ⌘⇧G for previous.

⌘⇧F

find in all panes

search across every open pane simultaneously. results highlight in each pane's output.

session restore
close the app, open it later, everything's still there.

Flock automatically saves your layout and pane arrangement when you quit. On next launch, everything is restored -- pane positions, terminal state, and working directories.

Startup Behavior

In Preferences, choose between:

  • New Claude Pane -- fresh start every time (default)
  • Restore Last Session -- pick up right where you left off

Session data is stored in ~/Library/Application Support/Flock/session.json.

notifications
go get coffee. flock taps you on the shoulder.

When a long-running task finishes and Flock isn't in the foreground, you get a native macOS notification. Click it to jump straight to that pane.

Notifications respect your macOS notification preferences (Do Not Disturb, etc.). No special setup required.

global hotkey
summon flock from anywhere.

Press Ctrl+` (backtick) from any app to bring Flock to the foreground. Works system-wide, even when Flock is minimized or behind other windows.

Customization

In Preferences, you can:

  • Enable or disable the global hotkey
  • Change the key (default: backtick, key code 50)
  • Change the modifier (default: Control). Options include Ctrl, Cmd, Shift, Option, or combinations.
configuration
open preferences with ⌘, or from the command palette.
SettingDescriptionDefault
fontSizeTerminal font size in points13
defaultPaneTypeNew pane type: Claude or Shellclaude
startupBehaviorNew pane or restore last sessionnew pane
showActivityIndicatorsShow activity dots on tabstrue
themeIdActive color themeflock
soundEffectsEnabledAudio feedback on eventsfalse
globalHotkeyEnabledSystem-wide hotkeytrue
globalHotkeyKeyCodeHotkey key code50 (`)
globalHotkeyModifiersHotkey modifier flagscontrol
showUsageTrackerShow token/cost trackingfalse
autoCheckUpdatesCheck for updates on launchtrue

All settings are stored in UserDefaults and take effect immediately. Changes broadcast a notification so all components update in sync.

Custom ANSI Colors

Each theme defines a 16-color ANSI palette for terminal syntax highlighting. You can override these per-theme for full control over how code looks in your terminals.

Data Locations

paths
# Session layout for restore
~/Library/Application Support/Flock/session.json

# Preferences
defaults read com.baa.flock
building from source
it's one shell script.

Requirements

  • Xcode 15+ (or the Xcode command line tools)
  • Swift 5.9+
  • macOS 13+

Build

terminal
$ git clone https://github.com/baahaus/flock.git
$ cd flock
$ ./build.sh

The build script compiles the Swift package, bundles the app with its icon and entitlements, and installs to /Applications/Flock.app.

Dependencies

Flock has one external dependency:

  • SwiftTerm (v1.0.0+) -- terminal emulator engine. Pulled automatically by Swift Package Manager.

Release Build

terminal
$ ./release.sh
# creates a signed .pkg for distribution

Tech Stack

Swift 5.9 AppKit SwiftTerm macOS 13+ stream-json zero web views