Flockdeck docs

Using Flockdeck

Panes and tabs

A pane is one terminal running one agent, or a plain shell. Tabs hold panes, and a tab can hold one or several, split however you like.

Making them

Keys What it makes
Ctrl+Shift+T A tab with one agent in it
Ctrl+Shift+N A tab with a plain shell (no agent, no hooks)
Ctrl+Shift+D An agent beside the focused pane
Ctrl+Shift+E An agent below the focused pane
Split right (shell) A shell beside the focused pane, from the command palette

Each of those takes the project's default agent, which keeps making a pane one keystroke. To choose a different agent or a different model, click the ▾ beside the + that opens a new tab, or take the two picker entries out of the command palette; Agents and models is the page for all of it. The pane header then names what it got, beside the branch.

A shell pane is an ordinary terminal in the same directory. It is there for the git, npm or go command you want to run yourself while the agents work, and for watching a build. That is why it can be split in beside an agent as well as opened in a tab of its own.

Working in them

Click a pane to give it the keyboard. Everything you type goes to the agent in it. That is the point, and it is why almost all of this application's own shortcuts are on Ctrl+Shift, which agents do not use.

The buttons in a pane header, in order: include in broadcast (⇉), auto-approve read-only (✓), restart, zoom, export transcript, record, pane info (ⓘ), lock, close. Auto-approve read-only is off until you turn it on, pane by pane (the ✓'s tooltip counts the commands it has let through unasked so far), and the pane keeps the setting across a restart of Flockdeck: see Knowing who needs you. Record is off until you turn it on too; export and record are not shown on a shell pane, which has no conversation. Showing the transcript file in your file manager is in Ctrl+Shift+Y and the command palette rather than the header, and works only in a window on the machine Flockdeck runs on: see Recording a pane.

One pane, several windows

A pane has one terminal however many windows show it (a second window, a phone over Flockdeck Remote), and that terminal is the size of the window last used on it: the one you focus or type in. Every other window draws it at that same size, so what the agent prints lands where it should. Where that is larger than the pane's room in a window, the window shows the part of it nearest the bottom left, where the latest lines are, with a note such as Viewing 120×40 · fit to this window; click it to size the pane for this window instead. A pane's terminal is never made smaller than 20 columns by 5 rows or larger than 500 by 200.

Pane info

Ctrl+Shift+Y, in the command palette and as the ⓘ in the pane header, lists what names a pane in files, logs and commands, each with a Copy button, and Copy all puts the whole list on the clipboard as plain text. A value the pane does not have yet says "not set". The list has:

A shell has no agent, conversation or transcript, so those are left out for it. Nothing secret is listed: no keys, tokens or environment. A path can name your own folders, so look at Copy all before pasting it somewhere public. The list is read on the machine Flockdeck runs on and is not sent anywhere else, so a window reached through Flockdeck Remote cannot open it.

Finding a pane

Ctrl+Shift+L, in the command palette, searches every pane in every open project. Type part of a pane's name, project, tab, agent, model, directory, branch, pane id, conversation id, process id or peer name; several words must all match, in any of those, and case does not matter. A conversation id matches from its first characters, so the 8 in a transcript's file name will do. Each result shows the pane, its project and tab, and what matched. Press Enter for the first result or click one: Flockdeck goes to that project and tab and gives the pane the keyboard. Esc closes the search. All agents across projects lists the same panes by what needs you, rather than by what you type.

Locking a pane

Lock pane, in the command palette and as the padlock in the pane header, locks a pane so it cannot be closed by accident. The same action unlocks it again, and the palette names it Unlock pane while the pane is locked. A locked pane shows a padlock and the word "Locked" in its header, and while it is locked:

Restart pane still works on a locked pane and leaves it locked. The lock is kept with the layout, so it survives a restart of Flockdeck, and it moves with the pane when you drag it to another tab. Quitting Flockdeck is not closing a pane, so a lock does not stop it.

Naming a tab

A tab names itself after the first thing its agent is asked. To call it something else, double-click it, press F2 while the keyboard is on it, or choose Rename this tab… in the command palette; a name you give it stays, whatever the agent is asked next. To go back, rename it to an empty name or choose Use the automatic title in the same dialog: the tab takes the title it would have had if it had never been renamed. Either way the name is kept with the layout.

Restarting

Restart pane, in the command palette and in the pane header, stops the process and starts it again in the same directory, with the same agent and model. It resumes the same conversation where that agent can, because a pane and its conversation are one identity. Use it when an agent is stuck or has wedged itself, not to clear the screen.

A pane whose process exits covers its terminal with what happened and two buttons, Restart and Close pane, rather than leaving a dead black rectangle.

Font size

Ctrl+= and Ctrl+- change the terminal font size for every pane; Ctrl+0 puts it back.