Changelog
A memory fix. flock could grow to many gigabytes over a long day and eventually push macOS into "your system has run out of application memory". The cause was voice dictation: the microphone capture buffer had no ceiling and kept every sample of every recording, about 1.3 GB for each hour the mic stayed open.
Dictation memory is now flat. Audio that has already been transcribed is released as you speak, so a recording holds a few seconds of sound rather than all of it. A two minute dictation and a twenty minute one now cost the same.
Recordings stop themselves after four minutes. The hands-free lock (tap to start, tap again to stop) had nothing forcing it to end, so a forgotten one ran until you quit the app, holding the mic open the whole time. Whatever was captured is transcribed exactly as if you had stopped it yourself.
Terminal panes hold less. Each pane's replay buffer is allocated once at its real size instead of growing into it and keeping the excess, which roughly halves what a busy pane retains.
Agent cost figures are more accurate. Cache pricing is now derived from each model's base rates rather than stored separately, so one hour cache writes are priced correctly and a new model can no longer end up half right.
The pane topbar leads with the agent's mark. The old accent tick repeated what the pane name colour and focus border already showed, so the mark takes that slot and the status chips share one consistent style.
Creating a workspace now starts with a branch. flock used to inherit whatever branch your repo happened to be sitting on and, for a single agent, work directly in your checkout. This release makes the branch an explicit, visible choice, and makes worktrees usable enough to be the default.
Pick your branch when you create a workspace. The new workspace dialog opens on a branch section: cut a new branch, continue on an existing one, or share your current checkout. New branches are the default, so a workspace means a branch and your working copy is left alone.
Branch from the right place. The base ref defaults to your repo's default branch rather than whatever HEAD happens to be, and is remembered per repo. "Fetch base first" updates it from the remote before branching, once per workspace, so agents don't start a day behind.
Branches named after their agent. A solo agent takes the name you typed; each additional one gets a sibling: `refactor-auth`, then `refactor-auth-dandelion` when you split. Readable in `git branch`, obvious in a PR list.
Worktrees come set up. A git worktree only contains tracked files, so agents used to land somewhere their first command failed. flock now copies your gitignored local config in (`.env*`, `.envrc`, `.tool-versions`, editable in Settings) and can run a project setup command in the pane before the agent starts, suggested from your repo's lockfile. You watch it run, and a failure never costs you the agent.
Settings → Branches collects the defaults: which branch mode new workspaces open on, whether to fetch, the carry-over patterns, and where worktrees live.
Open in Terminal. A button on the workspace opens a plain host shell at the focused agent's directory, for everything that isn't agent work: `aws sso login`, a quick ssh, editing a dotfile. Picks from the terminals you actually have installed.
Drag a pane onto another to swap them, so a crowded grid can be rearranged without closing anything.
Prompt queue fidelity. Queued prompts now match what was actually typed: pasted newlines no longer submit early, Option+Enter inserts a line break instead of sending, and a prompt carrying a pasted screenshot keeps the image when it goes to the queue.
The sign-in tab wears the app's face: the terminal wordmark and its blinking cursor, with the accent carrying the result.
A design pass across the cockpit, driven by an end-to-end UX review.
Keyboard: drive the room without the mouse
- `⌘]` / `⌘[` move focus to the next / previous pane in the tab.
- `⌘J` jumps to the next agent waiting on you, across tabs, so answering a blocked agent never means hunting the grid.
- Agent and layout pickers in the Spawn and New Workspace dialogs are now fully keyboard-navigable (arrows, Home/End): the layout picker is reachable by keyboard for the first time.
Safety
- Non-secure panes now carry a `host` chip: a clear, quiet signal that an agent is running on your machine with full file and credential access, the counterpart to the `jailed` chip on Secure workspaces.
Accessibility
- Every Settings toggle announces its on/off state to screen readers, the tab bar and pickers expose proper roles, and the attention indicator is labeled.
Polish
- Settings navigation is grouped into Account, Workspace, Connections, and System.
- The Plan screen is rebuilt to match the rest of the app.
- The destructive delete button no longer looks like the primary action.
- A quiet new sidebar strip shows your knowledge graph's compounding (rediscoveries avoided and cost per shipped outcome) while you work.
- Dialog titles are now one voice: the New Workspace and Spawn Agents dialogs drop the app’s last serif titles for the monospaced wordmark style.
flock becomes your pull-request cockpit, and Pi joins the crew.
- PR watch and auto-review: watch any GitHub repos from Settings. New PRs raise a notification, and with auto-review on, each one gets its own review agent in a dedicated violet workspace pinned to the top of the list, with the PR branch checked out in an isolated worktree. When the agent settles, its verdict appears as a summary card in the PR hub.
- Merge queue: queue approved PRs and let flock land them when everything is green. Full validation matrix per PR, per-reviewer approval chips, conflict analysis down to the exact files, and optional automatic branch updates when a PR falls behind its base. Visible three ways: a status-bar chip, a dockable sidebar section, and the hub's queue tab.
- One PR hub: pull requests and the merge queue now share a single tabbed cockpit with approve and merge built in, cross-linked both ways.
- Pi agent support: pi (pi.dev) joins Claude Code, opencode, and Codex as a first-class agent kind, official mark and secure-mode support included.
- Signed and notarized: this build carries Developer ID signing and Apple notarization, so fresh downloads open without the Gatekeeper detour.
Seals for the long haul.
- Achievement wall: the stats modal now turns lifetime stats into ranked seals for prompts sent, agents launched, workspaces created, tokens spent, and time aboard. Shared seals render on any friend's profile too; knowledge-graph seals (decisions, notes, files touched) appear on your own wall when the graph is running.
- Broadcasting panes stay bright: with sync input on you're typing into every pane, so they no longer dim as "unfocused" while you broadcast.
A clipboard you can trust, and a knowledge graph that knows who wrote what.
- Copy and paste, fixed: clipboard writes now go through the native macOS pasteboard instead of the webview, so a copy can never silently fail and leave you pasting stale content. Copy-on-select fires only for a deliberate selection in the pane you're working in: background panes, scrollback churn, and right-clicks can no longer overwrite your clipboard behind your back, and a failed copy shows a pill on the pane instead of saying nothing.
- Graph provenance: every knowledge write now attaches its author and repo, so no node lands isolated. Person and Repo hubs render on the graph canvas with their own colours.
- Broadcast input: sync typing across every pane in a tab. One prompt, all agents.
- Pane polish: floating pane tooltips, status pills, and rectangle zoom.
Wordmark component and brand refinements, plus an instant update pill that announces new releases in realtime.
Tighter sidebar brand lockup, billing-model groundwork (Phase 0 + 1), terminal and status refinements, and performance hardening in the pane area.
Maintenance and stability release.
Reworked the knowledge graph: hybrid full-text plus semantic search, wikilink-style references, and simplified edges.
Extended the graph to every agent, added a prompt queue and clipboard-image support, and reworked the graph canvas.
flock 0.7.0 introduces Teams and gives the knowledge graph a real sense of meaning.
- Teams. Create an org, invite teammates by their flock handle, and organize into teams, all from Settings → Teams. Choose who you're working as, and every agent you launch is scoped to that team so shared knowledge lands in the right place.
- Semantic knowledge search. The knowledge graph now pairs full-text search with on-device semantic embeddings: agents recall past decisions by meaning, not just matching words. Embeddings run locally with a small model (about 30 MB, downloaded on first use). Nothing leaves your machine.
- Sharper git panel. Renamed files now show their new name instead of a raw "old -> new" string, and a detached HEAD displays the commit you're on rather than a bare "HEAD" badge.
- Steadier presence. Connection problems surface in the status light immediately instead of stalling quietly, and background sync stops cleanly when you sign out.
- Under the hood. Pane layout now behaves identically in the desktop app and the terminal UI, voice dictation shares one code path across main and popped-out windows, a substantial amount of legacy code was removed, and the test suite grew by more than 100 tests.
- Usage over time. Your profile now charts daily token usage and estimated spend over the past month, with a toggle between the two. Friends' profiles show the same chart.
- Arrange your sidebar. Sidebar sections can be dragged between a left and a new right-hand rail and reordered within each, and your layout is remembered across launches.
- See each agent's model. When you set a model with /model, it appears as a chip next to that agent in the sidebar, so a grid of agents on different models stays legible.
- opencode status fixed. flock now correctly shows the working animation for opencode agents while they run.
- A clearer profile card. The usage stats view was redesigned around the numbers that matter, and it's easier to reach: click your profile row or the new chart icon in the sidebar footer.
- Faster multi-agent workspaces. Opening a workspace full of agents now appears instantly and starts every agent in parallel, so launching a large grid no longer stalls or freezes the app while it loads.
- Token usage on your profile. Your profile now shows the Claude Code tokens you have used and an estimated spend, alongside prompts, agents, and workspaces, visible to you and to your friends.
- Jump to commits on GitHub. Commits in the Git graph now link straight to their page on GitHub when the repository has a GitHub remote.
- Faster voice dictation. Voice transcription now decodes as you speak, so dictation finalizes noticeably faster the moment you stop talking.
- Cleaner Settings. Tidied up the Settings dialog header.
- Big stability fix for large grids. Running many agents at once under heavy output could slow the app down and, in the worst case, make the window unresponsive. Agent output now streams far more efficiently, so tiled grids stay smooth and memory stays flat through long, busy sessions.
- More reliable image attach. Pasting or dropping an image into an agent pane now attaches it consistently for every agent, including in secure containerized workspaces. Images are staged into the workspace so the agent can always find them.
- New My Info panel. See your profile and social usage stats at a glance.
- Security hardening. Tightened flock ID access controls so your profile and friend connections stay scoped to you.
A focused security release that strengthens the places where your machine meets other people: live collaboration, the Secure-mode sandbox, and account invites. Updating is recommended for everyone.
Collaboration is scoped to the people you actually share with
- Live co-pilot keystrokes are accepted only from the teammate you are actively pairing with, verified by their signed identity rather than by knowledge of a session link.
- Observe, co-pilot, and task requests are honored only from accepted friends, and every request is checked against its sender's verified identity, so a request cannot be forged to look like it came from someone you trust.
- Session traffic, including task prompts, is delivered privately to its recipient instead of over a shared channel.
Secure mode is a tighter sandbox
- The container sandbox no longer trusts repository metadata to decide what it mounts, so a repository cannot reach beyond your workspace.
- Git hooks inside a sandboxed repository can no longer run code on your host.
- Each workspace gets its own isolated sandbox home, so one project's saved logins are never visible to another.
- A workspace you mark Secure stays secure and cannot be silently downgraded.
Accounts and invites
- Invite emails are verified and rate-limited, protecting both your inbox and the flock sending domain from abuse.
No action is needed beyond updating. Thank you for helping us keep flock safe.
New High Contrast theme: a pure-black, maximum-legibility appearance alongside Nightfall and Daybreak. Pick it in Settings → Appearance.
- Themes now drive every hover, border, and badge from shared tokens, so the sidebar, PR badges, and dialogs adapt correctly across all three appearances instead of washing out.
- Full keyboard operability: workspace cards, tabs, PR rows, and dialog controls are now focusable and activatable with Enter/Space, with a consistent focus ring.
- Every dialog now traps focus and returns it to where you were on close.
- Sharper text contrast for quieter labels and placeholders.
- The status bar no longer overlaps modals and menus.
- Deleting a workspace from the right-click menu now asks for confirmation.
- Creating a workspace surfaces a clear error (and cleans up) if it can't start, most visible in Secure mode without Docker running.
- Narrow terminal panes keep their close/zoom controls instead of clipping them.
- "Review all PRs" is guarded against double-clicks and confirms how many reviews it started.
flock 0.5.1 finishes the v1 design language pass everywhere the brand speaks.
- Sign-in, start to finish: the in-app gate and the browser auth page now wear v1: Daybreak by day, Nightfall after dark, the HD goose in the right palette for each, and the Fraunces italic wordmark with the peach dot.
- Presence reads green again: a new semantic ok-green for the presence light and friends' online dots. Connected looks connected.
- Calmer destructive actions: closing a workspace or signing out no longer shouts in red; confirm buttons speak the theme accent like every other CTA.
- One wordmark: sidebar, splash, sign-in, and the voice HUD all set flock in Fraunces italic 480 with the peach dot, matching the website exactly.
- New app icon: the goose on a proper Apple rounded-rect instead of a circle, ready for macOS liquid glass.
flock 0.5.0 is the v1 design release: one design language across the app, the website, and the mark.
The look
- Two themes, properly mirrored: Daybreak (ivory paper, ink accent) and Nightfall (night paper, ivory accent). Slate carries the quiet metadata; the dawn family (sky, violet, peach, rose, gold) colors only what deserves color: workspace accents, focus rings, and the working wave.
- New mark: the HD pixel goose. Dawn palette by day, the classic mint colorway at night. The wordmark is Fraunces italic with the peach dot, same as the site.
- The dawn wave: the working animation now beats in the sidebar rows and on each working pane's topbar. Hue travels, nothing flashes.
Named features
The cockpit vocabulary settled: The Graph (shared memory), Runways (worktrees and tab branches), Telemetry (live agent labels), Fuel gauge (usage), and The Cage (Docker secure mode).
Also
- Terminal cursors follow the theme: ink on paper by day, ivory on night.
- Sidebar, splash, settings, and sign-in all fly the same goose.
- theflock.sh redesigned to match, with a live Daybreak cockpit demo and the interactive Graph Explorer.
- Claude Code panes now use the flicker-free fullscreen renderer by default, fixing terminal rendering glitches in every pane, host and jailed alike
- New Workspace and Spawn Agents dialogs redesigned: more compact, clearer, and clicking an agent no longer spawns it on the spot
- Sidebar sections (Agents, Git, Pull Requests, The Graph) can be dragged into your own order by their headers, and the order is remembered
- The first sidebar tab is now Home; the workspace list under it folds like any other section and ends in a New workspace button
- Secure workspaces are marked with a shield in the workspace list, so jailed and unjailed agents are distinguishable at a glance
- Tooltips render above every layer and position correctly at all UI scales
- Sidebar polish: right-edge icons aligned on a single axis, matching pop-out buttons for The Graph and Pull Requests, quick actions can be dismissed and re-enabled in Settings under Appearance
- Team Insights shows a proper empty state instead of all zeros, and PR rows open the Pull Request manager directly
Fixes secure mode's first run. The sandbox image build failed with "docker-credential-desktop: executable file not found in $PATH" when flock was launched from Finder or the Dock, because jailed panes didn't inherit the tool locations the docker CLI needs for its credential helper. Jailed panes now get the same augmented PATH as regular panes, plus Docker's own directories, and the first-run build completes.
Secure mode: jail your agents in a container. New workspaces can now opt in to secure mode, which runs every agent (Claude Code, opencode, Codex) inside a Docker container instead of on your Mac, so full-permission mode is safe by construction.
- New "Secure mode" toggle in the New Workspace dialog; every pane in that workspace (including later splits and spawns) runs jailed, marked with a "jailed" badge.
- The container sees only the workspace directory: no SSH keys, no keychain, no credentials, no host files. Git worktrees keep working; file paths in agent output still match your machine.
- Sign in to your agents once inside the jail; logins persist in a dedicated volume across panes and restarts. `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` are passed through when set.
- The sandbox image is built locally on first use (progress shown right in the pane) and rebuilds itself when the recipe changes.
- Fails closed: if Docker isn't available, secure panes refuse to spawn rather than silently running unjailed. Closing a pane tears its container down.
- Requires Docker Desktop.
Fixed an agent-spawn deadlock (the launch command now rides in the environment instead of being typed into the tty); red danger buttons via a new token; the status dot no longer swallows close clicks.
OpenCode usage tracking with a status bar and quick actions, plus the first enterprise groundwork: an org/team/membership model, tenant stamping, and Team Insights in the graph sidebar.
Notification bar and popover redesign, usage panels, a sidebar-collapse fix, and spawn diagnostics.
The multi-agent release: spawning that never silently fails, a knowledge graph that connects itself, per-agent git branches, and a sharper voice.
Rock-solid agent spawning. Closing agents and spawning new ones now works every time, everywhere: split into an empty tab with ⌘D, hammer split as fast as you like, spawn while zoomed. Every agent lands visibly in the grid. The races that left invisible agents running behind ghost panes are gone, workspaces corrupted by the old bug heal themselves on next launch, and a pane whose process dies now says so instead of lingering frozen.
The Graph now connects itself. Recording a decision, attempt, or note automatically links it to the files it governs, the agent who made it, and the ideas it relates to. No IDs, no ceremony. Searches are relevance-ranked, scoped to your workspace plus global knowledge, and superseded decisions stop resurfacing as if they were current. Ask "what do we know about this file" with the new kg.about_file and get its claims and full history in one shot.
Ground every prompt in the Graph. Each prompt you send a Claude agent is now automatically enriched with the team knowledge relevant to it (prior decisions about the files you mention, failed approaches, active claims), injected silently before the agent starts thinking. Instant, invisible when there's nothing relevant, and never in your way.
Per-agent git branching. Every pane shows a branch chip with a picker to switch or create branches in its own worktree, the Git panel gains a live agents-and-branches table, and orphaned worktrees from past sessions can be adopted by a fresh agent or pruned, with a heads-up when a branch still has unmerged work.
Voice, tuned. Live partial transcripts as you speak, a personal glossary that biases recognition toward your project's vocabulary, automatic filler-word cleanup, a hands-free lock for long dictations, and a multilingual turbo model.
Also in this release:
- Dropping a file or screenshot onto an agent lands in the pane you actually dropped it on (Retina displays hit-tested the wrong pane before)
- PR notifications match GitHub's own status callout, and a PR's review button opens the PR manager
- New "inherit from system" appearance option alongside light and dark
- Agent intent labels resist prompt noise and escape-reply leakage
- Graph sidebar renders crisply and its status dot now tells the truth when the engine is offline
- Friends: you now get a notification when a friend connects or disconnects (with their live agent count), and observe/co-pilot sessions announce when someone joins or leaves.
- Terminal: Cmd+←, Cmd+→, and Cmd+Delete line-editing shortcuts now work reliably; they used to intermittently do nothing.
- Agents: refined the auto-generated task labels shown in the pane topbar and the Agents list.
- Fixed friends always showing offline in the installed app. The packaged build's content-security policy was blocking Ably's realtime servers, so presence never connected even though sign-in worked. The app now allows Ably's endpoints and presence connects reliably.
- Friends presence is far more reliable: it no longer quietly decays over a long session (it re-syncs on every reconnect and hourly token refresh), offline friends now show a "last seen" time, and a small status light on your profile shows whether presence is connected.
- Diffs for local changes and pull requests now open in a dedicated, reusable viewer.
Every pane now remembers the task its agent was started on. Your first prompt is captured, distilled into a short label, and shown in the pane header and the sidebar Agents list, with the full text on hover. Reset it from the pane menu to re-arm capture for the next task. The Pull Requests panel's ambiguous "+" is now a clearer Manage PRs button, and its icon buttons pick up the same rest-to-accent hover treatment as The Graph.
Redesigned Friends pane: online and offline presence are grouped, each friend shows the context you share, and there's quick search plus hover actions to collaborate or remove. The knowledge graph is now simply The Graph throughout, its sidebar card showing live notes and agent counts. Sidebar sections can be collapsed.
The sidebar can now collapse to an icon rail, remembered across launches. PR notifications show far more at a glance: state, author, base and head branches, diff stats, and a full per-check breakdown. Git graph commits gain floating tooltips, and the git panel refreshes itself while open so external changes appear without a reload. Notes and decisions can be scoped globally, so cross-cutting knowledge surfaces in every workspace instead of just the one that recorded it.
Clearer icons throughout the pane and workspace controls, with visible tooltips on every icon button. Workspace cards in the sidebar can now be reordered by dragging.
Fixed the PR sidebar's GitHub 403 error: the app now finds the gh CLI even when launched from Finder/Dock, not just from a terminal.
Pull request review matured, and a security hardening pass across the stack.
- Review PRs in dedicated worktree workspaces; new-PR toasts merge into tabs.
- PR manager modal for the focused repo.
- Hardened the Tauri backend, PTY, and frontend; tightened the CSP allowlist and desktop cleanup.
Fixed the auth success page tinting in dark mode.
The auto-update manifest is now hosted on the website rather than GitHub, so updates work from the private repo.
In-app auto-updates: flock downloads new versions in the background and applies them on restart.
Graph visualization and deeper knowledge-graph integration; per-agent session resume for OpenCode and Codex, plus Claude session-restore fixes.
The goose arrives: the pixel mark in the sign-in gate and sidebar, an animated wingbeat, a goose app icon, and a cobalt accent for light mode. Also fixed a case where spawning an agent could silently do nothing.
Friend requests, accepts, and activity now surface live in the status bar; co-pilot can actually spawn agents in shared workspaces.
Stream handshake fixes for the observe display; co-pilot panes now accept typing from both sides.
The knowledge graph gets real, and the Friends surface gets a coat of polish.
- Auto-register the graph MCP server for Claude agents; the graph actually gets used and holds more.
- Friends interactions work end to end: accept-time targets, task submit, stream hygiene.
- Show the live git branch instead of a hardcoded name; one icon language across Friends, zero emojis.
Claude session resume: restored agents pick up their conversation where they left off. Sign-in callback page now matches the gate.
Pane scrollback persistence: terminals survive an app restart, repainted with their pre-restart output. Refreshed invite emails on the brand.
The release that made flock a cockpit.
- Tabs, pop-out windows, the Graph, voice, themes, and onboarding.
- Native menu bar, GitHub PR polling with CI status, and agent display names.
- Bundled the clarence-mcp sidecar; set macOS 12 as the minimum.
Fixed the PATH for spawned PTY processes so agents launch reliably; enabled devtools.
The first alpha: the multi-agent cockpit, with Friends, presence, and multiplayer sessions.