An attention board for coding agents
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.
Needs you (2)
Asked you a question and is waiting on your answer
Idle since its last answer
Running (2)
Working now, last called Edit
Working now, last called Bash
› Snoozed (4)
› Closed (32)
Every row, whichever agent wrote it.
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:
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.
{
"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.
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.
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.