Skip to content

The board

Every row is a session, whichever agent wrote it, grouped by what it needs from you.

The kelpie board: a left-hand list of sessions grouped into needs you, running, snoozed and closed, with the selected feature’s conversation open beside it under the Agent, Diff, Server, Preview and Details tabs.

  • New starts a session in a repo you already work in: a chat, a whole feature on its own branch, or a review of someone’s pull request. Pick the agent at the top; kelpie finds the repos, and their worktrees, itself.
  • Needs you is anything that asked you a question, is waiting on a permission, stalled, or went quiet, each said in words, with a dot on anything that started waiting since you last looked.
  • Running shows what the agent last told you, and how long it has been at it since your last message.
  • Snoozed and Closed: snooze one for a time, until its PR moves, or until it does something, and it waits its turn. Close, in the session’s menu, exits a session and moves it to Closed. Closed folds to the last seven days and is still reachable: say something to one and it comes back, or fork it.
  • Chips on a row are its pull request, coloured by its build while it is open (checks green or red, unresolved threads in brackets, a tick when GitHub says it is ready), then its ticket and any published artifacts.
  • phone, in the masthead, shares the board with your phone.

Click a row to open it. Drag a tab to reorder it, or onto a pane’s edge to split it.

  • Agent is the conversation. Chat takes your reply, the question’s own buttons, a pasted image or any file, and stops a session mid-turn. Terminal is the real tmux pane, in your theme.
  • Diff is the branch against its base, split into code, tests and docs, with line comments that go back to the session as one review.
  • Server is a feature’s dev log, with Restart and Stop.
  • Terminal holds plain shells in the session’s directory, on feature and chat rows, and always has at least one. + opens another; drag them to split inside the tab, or drag one out to sit beside the other tabs. Type exit or press × to close one.
  • Preview is the feature’s running app inside the board, with a toolbar for pointing at what is wrong: hover to outline an element, ↑ and ↓ to step out to its parent and back, click to pick it, or drag to draw a box instead. Its address bar takes anything a browser’s does - a /path on the app, localhost:5173, a site, or words to search for - and the house button returns to the app. The toolbar is only on the feature’s own app, and Preview is only in the desktop app; in a browser tab, open the feature’s link instead.
  • Details is the session’s facts: its repo and branch, model, permission mode and age.

The Diff tab: the feature branch against main, split into Code, Tests and Docs tabs, with a file list beside the changed lines.

Press ? for every shortcut. ⌘/ (Ctrl+/ off a Mac) puts each one on its control as a small badge, and turns them off again; Show keyboard shortcuts in Settings picks how a new browser starts. Hold ⌥ (Alt) on its own to see them for a moment.

Key Does
/ Search; Esc leaves the box with the search kept
n f s New, Filter, Sort
, Settings
↑ ↓ The previous or next session
Enter Go to the session, the same as a double-click
. The session’s ··· menu
r x h Rename, Close, Snooze
1 to 9 A tab by its place, left to right as you have arranged them
[ ] The previous or next tab
c The chat box; Esc leaves it with your draft kept
t The Terminal view
⌘. Leave the chat box, the Terminal view or any other box (Ctrl+. off a Mac)

A shortcut never fires while you are typing in a box, the chat or the Terminal view, and there are no badges on a phone. In the Terminal view Esc goes to the agent, so ⌘. is the way out.

  • Search through every conversation on disk, best match first.
  • Filters for sessions with a pull request or a running dev server.
  • Light and dark, or a theme.
  • A break nudge off your desktop’s own idle counter.
  • Setup checks that name the command that fixes them: see When something is wrong.