An attention board for coding agents

Every agent waiting on you.

Claude Code, Codex, Cursor and OpenCode, in one list, with the ones that need an answer at the top - kelpie reads what they already write to disk, so there is nothing to set up.

Click a row and you can answer it here. Or start a feature, and kelpie takes it from a branch to a pull request with your test in the middle.

Download for Mac

0.3.12 · Apple Silicon · 114 MB

2 need you

Needs you (2)

Stripe webhook retries

Asked you a question and is waiting on your answer

Asked you Codex billing-retries ENG-2481 #812 ✕
feather
Flaky checkout test

Idle since its last answer

Your turn Claude Code checkout-flake ENG-2465
feather

Running (2)

Dark mode for the settings pane

Working now, last called Edit

Cursor settings-dark KEL-88 #815 ✓
kelpie
Speed up the search index

Working now, last called Bash

OpenCode search-index
kelpie

› Snoozed (4)

› Closed (32)

What is on the board

Every row, whichever agent wrote it.

The kelpie board: a left-hand list of sessions grouped into needs you, running, snoozed and closed, with the selected session's terminal open beside it.
The board, unretouched.
  1. needs you Asked you a question, your turn, stalled, or gone quiet - each said in words, with a dot on anything that started waiting since you last looked.
  2. chips Repo, branch, worktree, ticket, published artifacts - and while a PR is open, the build itself: checks red or green, unresolved threads in brackets, a tick when GitHub says it is ready.
  3. running What it is doing right now, down to the call it is on, with the model and what the last turn cost.
  4. snoozed & closed Snooze one and it waits its turn. Closed folds to the last seven days and is still reachable: say something to one and it comes back, or fork it.
  5. dev server A feature's apps run on their own free ports behind a real https domain, and the chip is the link. Ship it opens the pull request; Tear down stops everything parked in the worktree, and is recoverable.
  6. the New menu One click starts a session in a repo you already work in - a chat, or a whole feature on its own branch. Pick the agent at the top; kelpie finds the repos itself.

Then answer it where you are

Chat takes your reply, the question's own buttons, a pasted image, or dictation. Terminal is the real tmux pane in your theme. Diff is the branch against its base, with line comments that go back. Preview is the feature's running app, here:

The Preview tab drawing a feature's running dev server inside the board, with the feature's URL and Ship it and Tear down beside it.
A feature's own dev server, in the Preview tab. Bottom left is kelpie's toolbar, on the page itself, holding two notes drawn on it.

New feature is just another row

One button cuts the branch and the worktree from a freshly fetched base, picks free ports, and runs each of your apps in its own window on a real https domain.

Then it waits. You open the URL, use the thing, draw a box on anything wrong - the session building that worktree gets your note with a screenshot of the box - and only then press Ship it.

Tear down stops every session parked in the worktree, runs your teardown, and puts it back. It is recoverable.

kelpie.json, in your repo

{
  "setup": "pnpm install",
  "apps": [
    { "name": "api",
      "command": "pnpm api --port {port}" },
    { "name": "web",
      "command": "pnpm dev --port {port}",
      "proxy": true }
  ],
  "ready": "/health",
  "teardown": "pnpm db:drop"
}

proxy picks the app the URL opens; ready is where kelpie knocks before promising a link; apps find each other through KELPIE_PORT_API. teardown runs in the worktree just before it is removed, for state kelpie cannot see - a database your dev server made, a volume, a registration. setup and teardown are both optional.

Your work never leaves your machine

Checking for updates is the only network call. No account, no sign-in, no model calls of its own - and nothing about your sessions, your repos or your code is ever sent.

It never writes to the files your agents keep. Its own state is one small cache it owns, and it is built on git, tmux and the CLIs you already run - gh among them, which asks GitHub about your pull requests exactly as it does in your terminal.

Also in the box

  • A Mac app: menu-bar count, Dock badge, notifications you can answer
  • Light and dark, pinned or following the system
  • A break nudge off your desktop's own idle counter
  • Setup checks that name the command that fixes them

Who made it

Two engineers at Feather, who needed it first.

We build Feather, an AI tax assistant for accountants and tax attorneys. Almost all of it ships through coding agents now, and a fair share of our week goes into getting more out of them: more work in flight, less of the day spent checking on it.

Kelpie came out of that. We wrote it for our own desks and open it every morning, and it got good enough that it seemed worth handing over. It takes about a minute to set up, and the feedback button in the app comes straight to us.